Skip to main content
LFG.RICH is built around a Uniswap V4 Hook architecture. The Hook is not just a helper contract. It is the protocol component that enforces the bonding curve, floor-price accounting, fee routing, referral-aware fee splits, and collateral borrowing rules for official LFG.RICH tokens. The user-facing swap flow is intentionally simple, but the on-chain route is precise:

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 V4 PoolKey and its own poolId.
For integrations, the important rule is: do not guess the pool. Resolve the poolId and PoolKey for the token you are interacting with.
The site code always treats the token’s 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

Older V3 examples are not safe for V5 integrations. V5 estimates include the user address, token creation uses devBuyEth, and buys/sells must be routed with the token’s correct PoolKey.
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.