Smart Contract Documentation
Technical reference for Dollar Infinite's main contracts.
Main Addresses (BSC Mainnet)
USDT (BEP-20)
0x55d398326f99059fF775485246999027B3197955
β
Vault (Main)
[INSERT REAL VAULT ADDRESS]
β
Strategy Manager
[INSERT REAL ADDRESS]
β
Rewards Distributor
[INSERT REAL ADDRESS]
β
AI Bot Controller
[INSERT REAL ADDRESS]
β
Affiliate Manager
[INSERT REAL ADDRESS]
β
How to get complete ABI:
Tab "Contract" β "Code" β "Contract ABI" (copy JSON)
Main Vault Contract Functions
deposit(uint256 amount, uint8 lockDays)
Parameters: amount (in wei, 18 decimals), lockDays (1,5,10,20)
Requires: USDT approved
Emits: event Deposited(address user, uint256 amount, uint8 lockDays)
withdraw(uint256 positionId)
Parameters: positionId (position ID)
Requires: matured position (unlock date passed)
Returns: principal + yields in USDT
Emits: event Withdrawn(address user, uint256 positionId, uint256 amount)
getUserPositions(address user)
View function
Returns: array of Position structs (amount, lockDays, startTime, endTime, rewards)
getPendingRewards(uint256 positionId)
View function
Returns: uint256 pending rewards in USDT
calculateYield(uint256 amount, uint8 lockDays)
View function
Returns: projected total yield (based on tier fixed rate)
Strategy Manager Functions (example)
getAllocationPercentages() β Returns struct with % for lending, trading, reserve getBotPerformance() β Returns success rate, total ops, etc.
Rewards Distributor Functions
distributeRewards() β Called by keeper or admin (automatic) getUserRewards(address user) β Sum of yields from all positions
Integration Recommendations
Use ethers.js or web3.js for calls
Always verify chainId == 56
Implement error handling for revert messages
Monitor events (Deposited, Withdrawn, etc.) via websocket provider
Use multicall to optimize queries (if available)
Simple deposit example (ethers.js):
Last updated
