This documentation is a rough overview. More technical details will be added over the coming days.
How Pools Work
- Pool Factory: Deployed by the Mezo team (not permissionless yet)
Supported Pools
| Pool | Address | |------|---------|| | MUSD/BTC |0x52e604c44417233b6CcEDDDc0d640A405Caacefb |
| MUSD/mUSDC | 0xEd812AEc0Fecc8fD882Ac3eccC43f3aA80A6c356 |
| MUSD/mUSDT | 0x10906a9E9215939561597b4C8e4b98F93c02031A |
Pool Mechanics
- Pool Logic: Aerodrome-style AMM (either constant-product or stable-curve depending on pair)
- Swap Fees: Set per pool (e.g. 0.05%, 0.3%)
- Liquidity Farming: Fee accrual enabled; reward distributions planned later
How Swaps Work
Router Contract:0x16A76d3cd3C1e3CE843C6680d6B37E9116b5C706
Swap Flow
1
Approve token to router
User approves token to router contract
2
Call router swap function
Call router’s
swapExactTokensForTokens(...) with path array3
Receive output token
Output token is returned to wallet
Key Features
- Slippage Control: Provided on frontend or via parameters in the contract call
- No Oracles Needed: Prices derived from pool reserves directly
Contract Addresses
Core Contracts
| Name | Address | |------|---------|| | Router |0x16A76d3cd3C1e3CE843C6680d6B37E9116b5C706 |
| PoolFactory | 0x83FE469C636C4081b87bA5b3Ae9991c6Ed104248 |
| MUSD/BTC Pool | 0x52e604c44417233b6CcEDDDc0d640A405Caacefb |
| MUSD/mUSDC Pool | 0xEd812AEc0Fecc8fD882Ac3eccC43f3aA80A6c356 |
| MUSD/mUSDT Pool | 0x10906a9E9215939561597b4C8e4b98F93c02031A |
Mainnet Contracts
Testnet Contracts
Integration Examples
Executing a Token Swap
Adding Liquidity to a Pool
Router Function Parameters
uint256
required
The exact amount of input tokens to swap
uint256
required
The minimum amount of output tokens to receive (slippage protection)
address[]
required
Array of token addresses representing the swap path
address
required
Recipient address for the output tokens
uint256
required
Unix timestamp after which the transaction will revert
Best Practices
Slippage Protection: Always calculate and set appropriate
minAmountOut values to protect against unfavorable price movements during transaction execution.Deadline Management: Set reasonable deadline values (typically 10-20 minutes) to prevent transactions from executing at stale prices.
Gas Optimization: Batch approval and swap transactions when possible to reduce gas costs.