Factory
Creates official LFG.RICH tokens and registers them with the Hook.
Uniswap V4 Hook
Enforces pricing, floors, reserves, fees, collateral, borrowing, and hook callbacks.
Swap Router
Gives users and integrations simple buy and sell entry points.
Pool Manager
Executes the Uniswap V4 unlock, swap, settlement, and callback flow used by the Hook and Router.
Main contracts
BSC V5 addresses
PoolKey and poolId
Each official token has its own Uniswap V4PoolKey and its own poolId.
poolId and PoolKey for the token you are interacting with.
poolId as part of the interaction context. Estimates use poolId; swaps use PoolKey.
Why the Hook matters
The Hook prevents the token from behaving like a normal unmanaged LP token. Creators do not receive LP tokens to remove. Traders do not interact with arbitrary third-party pools. Official trades are routed through the protocol contracts, where the Hook enforces the same pricing, floor, fee, referral, and collateral rules for everyone. This gives the protocol a consistent execution path:- buys and sells use the official Swap Router;
- pricing is calculated by the Hook;
- token mints and burns are controlled by the Hook;
- collateral lending uses the same
poolId-based state; - floor updates are tied to the token’s own protocol state;
- referral rewards are decided by on-chain invite bindings.
Important integration rule
Use this V5 pattern:1
Load token data
Start from API token data or a known token address.
2
Resolve poolId
Use
token.pool_id, token.poolId, or hook.tokenToPoolId(tokenAddress).3
Resolve PoolKey
Use
factory.getPoolKey(tokenAddress) or build from verified V5 constants.4
Estimate with Hook + poolId + user address
V5 estimate functions include the wallet address because referral state can change fee recipients.
5
Execute buy/sell with Swap Router + PoolKey
Swap execution uses the token-specific PoolKey.
6
Execute lending with Hook + poolId
Borrow, borrowMore, repay, and state reads use the Hook and
poolId.
