Token rules
The rules during a launch, who can authorize transfers, and what changes at graduation.
New here? Start with How it works for a simple, 45-second introduction.
hodl launches tokens on Meteora's Dynamic Bonding Curve with a Token-2022 transfer hook attached to the mint. While that hook is attached, every transfer of the token is checked, and the token cannot move unless the transfer is authorized.
The rule
A transfer succeeds if either of these is true:
An operator signed
The transaction carries a signature from a key on the hook's authorized-operator list. This is how ordinary trading flows through a backend.
A whitelisted program is on top
The transaction's current top-level instruction belongs to a program on the hook's whitelist — in practice, the launchpad.
Everything else fails with UnauthorizedTransfer. An ordinary bonding-phase trade needs an authorized operator co-signature. The launchpad has a separate permitted path for its opening buy. Authorization is checked on chain; operator access and signing policy are handled by the platform.
What this buys a platform
- Trading is routed, not optional. A bonding-phase token cannot be bought, sold, or even sent wallet-to-wallet without an authorized signature, so fees and rules cannot be bypassed by hitting the AMM directly.
- It ends by itself. DBC revokes the hook when the bonding curve completes, so the gate applies during the bonding phase only and the graduated token is a completely ordinary Token-2022 token.
- No per-wallet indexing. Portfolio pricing is served from a mint list the client supplies, so nobody tracks every wallet's balance for every coin.
Programs
| Program | Program ID |
|---|---|
| Transfer hook | HoDLrkxn9ShXX6Zk7wLVWLtbiAt3RngibB3atKrkBGw9 |
| Launchpad | HoDLBfygFHh76gjH7tnMxYqLt9VLCR3GgonXsodtfoPR |
| Meteora DBC (upstream) | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN |
Read this before you build a transaction
A transfer hook cannot see signers the way you would expect, so the operator key has to appear in a specific place or the transfer is rejected even though it signed. Integrating explains why and gives the exact account layout for every transaction.
Where to go next
- Integrating — The rule, and the transactions: create, buy, sell, transfer, claim fees — with the errors each one can return.
- Curve and fees — Supply split, pricing across the curve, what trading costs, where the fees go, and what graduation does.
- Indexer API — Prices, trades, holders, candles and portfolio pricing, straight from the chain.
What the gate proves
The hook enforces authorization for moving the token. It does not identify the person behind a wallet, prove that holders are independent, or judge whether a token is a good purchase. One person may control several accounts. Holder and funding-pattern analysis would be a separate system; it is not a guarantee provided by the hook.
An authorized signature permits a transaction to pass this check. The transaction must still satisfy balance, account, pool and other program requirements. A signature is not a promise that a trade will succeed.
Before and after graduation
| Question | During the bonding phase | After hook removal |
|---|---|---|
| Does an ordinary token transfer need operator authorization? | Yes | No |
| Can the creator bypass the gate for later trades? | No; the opening buy has its own launchpad path | The gate no longer applies |
| Does the token change standards? | It uses Token-2022 | It remains Token-2022 |
| Does graduation mean trading is fee-free? | No | No; the configured pool fee remains |
Read the mint's current hook state when deciding which transaction to build. A cached interface label is useful for display but should not decide whether hook accounts are required.