Integration Guide
Technical guide for aggregators, trading bots, Telegram bots, and analytics platforms.
Quick Reference
Deployed Contracts (Monad Mainnet)
const CONTRACTS = {
AllocaFactoryMemes: "0x6bf9598B0838FB2d59c51D33fF839EEF6d79E923",
AllocaTokenImpl: "0x33E0E10D089544D232ba7C0c27B4A3A5e139255e",
AllocaDexFactory: "0xB88A4dD389c31b225e0ce6017c5AAa66eA894b79",
AllocaDexRouter02: "0x2a32C0457a84F1e50A035ffE1ecC4F104ed25eC3",
WMON: "0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A",
};
const CHAIN_ID = 143; // Monad Mainnet
Contract ABIs
ABIs are available via IPFS:
ABIS = {
AllocaFactoryMemes: "https://bafybeigd7v65ctexuz4kojry66mgehcltj7hh6rcml3idpidafuhz44owu.ipfs.w3s.link/AllocaFactoryMemes.json",
AllocaToken: "https://bafybeidh6uoeotkkvxoaewjzdug3jbu3lk4m2xn7x7dvtwrfmria3qlyau.ipfs.w3s.link/AllocaToken.json",
AllocaDexFactory: "https://bafybeiectiihv3npvnk5lkplghs3qk577532ibim4ruuayrfxjedx7jcb4.ipfs.w3s.link/AllocaDexFactory.json",
AllocaDexRouter02: "https://bafybeicgh25dubwqfaqqxijnmrxyxmigg7swvrfwoyyiifwh4z3y7jv3c4.ipfs.w3s.link/AllocaDexRouter02.json",
}
Core Concepts
Token Lifecycle
Each token goes through three phases:
1. [BONDING CURVE] → 2. [GRADUATION] → 3. [DEX TRADING]
Each token is a pool - AllocaToken inherits AllocaPool functionality.
Phase 1: Bonding Curve (Pre-Graduation)
- Tokens trade on internal bonding curve
- Price increases as more tokens are bought
- Target: Raise ~492,566 MON to graduate
Phase 2: Graduation
- Automatic when bonding curve completes
- Liquidity moves to AllocaDex (Uniswap V2 fork)
- DEX pair created automatically
Phase 3: DEX Trading
- Trade via AllocaDexRouter02
- Standard Uniswap V2 interface
Events to Track
1. New Token Deployments
Listen to AllocaFactoryMemes for new token launches:
event AllocaDeployed(
address indexed allocaPool,
address indexed implementation
);
2. Token Graduation Events
Listen to individual token contracts for graduation:
event PoolGraduated(
address indexed token,
address indexed dexPair,
uint256 liquidityTokens,
uint256 liquidityBase,
uint256 lpTokensMinted
);
3. Trade Events (Bonding Curve)
event TokensBought(
address indexed buyer,
uint256 amountIn, // MON spent
uint256 amountOut, // Tokens received
uint256 fee // Fee paid
);
event TokensSold(
address indexed seller,
uint256 amountIn, // Tokens sold
uint256 amountOut, // MON received
uint256 fee // Fee paid
);
4. DEX Trade Events (Post-Graduation)
Listen to the DEX pair contract:
event Swap(
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
address indexed to
);
Determining Token Phase
To check if a token has graduated:
// Option 1: Check if DEX pair exists
const dexPair = await allocaDexFactory.getPair(tokenAddress, WMON);
const isGraduated = dexPair !== "0x0000000000000000000000000000000000000000";
// Option 2: Check graduated state on token contract
const isGraduated = await allocaToken.graduated();
Last Updated: 2025-12-05
Monad Mainnet Chain ID: 143