Gas Tank
The Gas Tank is MakaPay's unified gas management system that allows merchants to fund payment settlements across all supported blockchains from a single USDT balance on MakaChain.
How It Works
The Problem
Traditional multi-chain payment acceptance requires:
ETH on Ethereum for gas
MATIC on Polygon for gas
BNB on BSC for gas
Managing multiple wallets and balances
This leads to:
Idle capital sitting unused on each chain
Complexity managing multiple native tokens
Risk of settlements failing due to insufficient gas
The Solution
MakaPay's Gas Tank:
Single deposit of USDT on MakaChain
Automatic deduction when payments are settled
Works across Ethereum, Polygon, BSC, and MakaChain
When Gas Tank Is Used
The Gas Tank is used when both conditions are true:
gasless: false(default)payerCoversFee: false(default)
Fee Deduction Breakdown
When a payment is settled, the following are deducted from your Gas Tank:
Platform Fee
Percentage based on your plan tier (0% - 1%)
Processing Fee
Fixed $0.10 per transaction
Gas Fee
Blockchain gas cost in USD equivalent
Example: $100 Payment on Polygon (Free Plan)
When Gas Tank Is NOT Used
Gas Tank is bypassed when:
gasless: true- Fees taken from payment amount on-chainpayerCoversFee: true- Fees added on top, taken on-chain
Depositing to Gas Tank
Step 1: Get Your Deposit Address
Navigate to Dashboard > Gas Tank
Click Deposit or Get Deposit Address
A unique deposit address is generated for you
Step 2: Send USDT
Send USDT to your deposit address on MakaChain:
Network: MakaChain (Chain ID: 777178)
Token: USDT (
0x30C28E393E0732335235685B345c95E6465Ad8A5)RPC:
https://rpc.makachain.io
Step 3: Automatic Credit
Once confirmed:
Your Gas Tank balance updates automatically
No manual claiming required
Funds available immediately for settlements
How Deposits Work (Technical)
A deterministic address is computed using CREATE2
You send USDT to this pre-computed address
MakaPay deploys a PaymentWallet at that exact address
The wallet forwards USDT to the GasTank contract
GasTank credits your user balance
Gas Tank Contract
The GasTank is a smart contract deployed on MakaChain that manages merchant balances.
Contract Address
MakaChain Mainnet
0x... (see dashboard)
MakaChain Testnet
0x... (see dashboard)
Key Functions
getBalance(userId)
getBalance(userId)Returns the current USDT balance for a user.
deductGas(userId, amount)
deductGas(userId, amount)Deducts USDT from a user's balance (called during settlement).
batchDeductGas(userIds, amounts)
batchDeductGas(userIds, amounts)Efficiently deducts from multiple users in a single transaction.
Events
Balance Management
Checking Your Balance
Dashboard: Gas Tank page shows current balance
API:
Response:
Recommended Balance
1-50
$10 - $20
50-200
$20 - $50
200-500
$50 - $100
500+
$100+
Low Balance Handling
When your Gas Tank runs low:
Warning: Dashboard shows low balance alert at $5
Awaiting Gas: Payments show "Awaiting Gas" status
Auto-Resume: Settlement resumes after you deposit
No Lost Payments: Payments are never lost, just delayed
Gas Tank vs Gasless Mode
Fee Source
Your Gas Tank balance
Payment amount
Deposit Required
Yes (USDT on MakaChain)
No
Merchant Receives
Full payment amount
Payment minus fees
Best For
Premium UX, you absorb fees
No upfront capital needed
When to Use Gas Tank
You want customers to pay exact prices
You have capital for deposits
You process high-volume payments
You want predictable merchant receipts
When to Use Gasless
You don't want to manage deposits
You're testing the platform
Customers are willing to pay fees
You prefer deducting fees from payments
Withdrawing from Gas Tank
In most cases, you don't need to withdraw - the balance is used for settlements.
If you need to withdraw unused funds:
Contact support with withdrawal request
Specify amount and destination address
Withdrawal processed within 24-48 hours
Security
Deposit Address Security
Each user has unique deposit addresses
Addresses are deterministic (CREATE2)
Nonce validation prevents replay attacks
Balance Security
Balances stored in audited smart contract
Only MakaPay operator can deduct for settlements
Emergency withdrawal function for edge cases
Best Practices
Only deposit what you need for 1-2 weeks
Monitor balance regularly
Set up low balance alerts
Last updated