TipsChain Ecosystem is a complete blockchain infrastructure with:
- Native Gas Token: TIPS (Tipscoin) - used for all blockchain transactions
- Gassless Transactions: Relayer system for meta-transactions
- DEX Integration: Decentralized exchange with token swaps
- Web3 Wallet: Multi-chain wallet integration
- Block Explorer: Blockscout-compatible explorer (scan.tipspay.org)
npm installcp .env.example .env
# Edit .env with your configurationnpm run node # Terminal 1 - Start local blockchain
npm run deploy:localhost # Terminal 2 - Deploy contractsnpm run deploy:productionnpm run deploy:relayernpm run devAccess the application at:
- Main App: http://localhost:3000
- Wallet: http://localhost:3000/wallet
- DEX: http://localhost:3000/dex
- Explorer: http://localhost:3000/explorer
GET /api/wallet/balance?address=0x...- Get balance in TIPSGET /api/wallet/token-balance?address=0x...&tokenAddress=0x...- Get token balancePOST /api/wallet/verify- Verify wallet ownership
GET /api/dex/tokens- Get supported tokensGET /api/dex/price?tokenAddress=0x...- Get token pricePOST /api/dex/swap-quote- Get swap quotePOST /api/dex/gassless-swap- Execute gassless swap via relayer
GET /api/explorer/blocks?limit=10- Latest blocksGET /api/explorer/block?number=123- Block detailsGET /api/explorer/transaction?hash=0x...- Transaction detailsGET /api/explorer/address?address=0x...- Address detailsGET /api/explorer/search?q=0x...- Search (address/tx/block)GET /api/explorer/stats- Network statistics
BLOCKCHAIN_RPC_URL=http://localhost:8545
BLOCKCHAIN_CHAIN_ID=1TIPSCOIN_ADDRESS=0x...
TIPS_DECIMALS=18
TIPS_TOTAL_SUPPLY=1000000000
USDTC_ADDRESS=0x...TRUSTED_FORWARDER_ADDRESS=0x...
RELAYER_PRIVATE_KEY=0x...
RELAYER_GAS_LIMIT=500000
RELAYER_GAS_PRICE=20WALLET_DOMAIN=https://tipschain.sbs
DEX_DOMAIN=https://dex.tipschain.sbs
EXPLORER_DOMAIN=https://scan.tipspay.org- Type: ERC20 Token
- Role: Native gas token for all transactions
- Decimals: 18
- Total Supply: 1,000,000,000 TIPS
- Features: Standard ERC20 with burn capabilities
- Type: ERC20 Stablecoin
- Role: Stable trading pair on DEX
- Decimals: 18
- Type: Meta-transaction forwarder
- Role: Enables gassless transactions
- Features: Rate limiting, cooldown periods, trusted consumer management
- Type: Name service contract
- Role: Address to name resolution
- Features: ENS-like functionality
All transactions on TipsChain Ecosystem use TIPS as the gas token:
// Transaction cost in TIPS
gasUsed = tx.gasUsed * tx.gasPrice // Result in TIPSUsers can perform transactions without holding TIPS:
- User signs transaction with their private key
- Relayer receives signed transaction
- Relayer broadcasts transaction (pays gas in TIPS)
- User gets gassless experience
# Deploy relayer contract
npm run deploy:relayer
# Configure relayer in .env
TRUSTED_FORWARDER_ADDRESS=<deployed_address>
RELAYER_PRIVATE_KEY=<relayer_account_key>
# Monitor relayer balance (must have TIPS)
npm run relayer:balance// Connect MetaMask
const accounts = await window.ethereum.request({
method: 'eth_requestAccounts'
});
// Get TIPS balance
const res = await fetch(`/api/wallet/balance?address=${accounts[0]}`);
const { balance } = await res.json();
console.log(`Balance: ${balance} TIPS`);// Get swap quote
const quoteRes = await fetch('/api/dex/swap-quote', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tokenInAddress: '0x...',
tokenOutAddress: '0x...',
amountIn: '100'
})
});
// Execute gassless swap (relayer pays gas)
const swapRes = await fetch('/api/dex/gassless-swap', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
userAddress: accounts[0],
swapData: quote
})
});Access the block explorer at /explorer:
- View blocks and transactions
- Search by address, hash, or block number
- Check account balances
- Monitor network statistics
# Run all tests
npm run test
# Run with coverage
npm run test:coverage
# Run specific test file
npm run test -- test/Tipscoin.test.js- Configure
.envwith production values - Ensure deployer account has enough TIPS
- Setup relayer account with TIPS balance
- Configure domain names for wallet/dex/explorer
# 1. Deploy contracts
npm run deploy:mainnet
# 2. Deploy relayer
npm run deploy:relayer
# 3. Initialize services
node scripts/initialize.js
# 4. Verify deployment
npm run verify -- mainnet- Verify all contract addresses in config/deployed.json
- Test all API endpoints
- Verify wallet connectivity
- Test gassless transactions
- Monitor relayer balance
- Check explorer functionality
# All services status
curl http://localhost:3000/api/health
# Get network stats
curl http://localhost:3000/api/explorer/stats# Check relayer balance and status
node scripts/check-relayer.jsIssue: Gassless transactions failing
Solution:
1. Verify TRUSTED_FORWARDER_ADDRESS is set
2. Check relayer TIPS balance
3. Ensure relayer account is in trustedConsumers
Issue: Transactions stuck
Solution:
1. Increase RELAYER_GAS_PRICE in .env
2. Check current network gas prices
3. Adjust maxFeePerGas in transaction settings
Issue: Wallet balance shows 0
Solution:
1. Verify wallet address format
2. Check RPC endpoint connectivity
3. Ensure TIPS contract is deployed
- Wallet: https://tipschain.sbs
- DEX: https://dex.tipschain.sbs
- Explorer: https://scan.tipspay.org
- API: https://api.tipspay.org
MIT License - See LICENSE file for details
For issues and questions:
- Check documentation in
/docs - Review API examples in
/pages/api - Check logs in deployment output
- Open an issue on GitHub
TipsChain Ecosystem - Built for fast, cheap, and accessible blockchain transactions with native TIPS gas token.