Docs · for builders
Version 2 rules
Version 2 gives devnet DBC coins a fixed set of transfer checks that end at graduation.
What is built
41 kinds, 64 records maximum and 140000 declared hook compute units. Unaudited, devnet only, off by default. Compiled tests and independent vectors check the local contract. Live DBC routing remains unverified.
Launch input
REST prepare and MCP launch accept hook2 with DBC/SOL. Omit v1 hook. Parameters are decimal u64 strings. Sides: buy 1, sell 2, send 4. Mutability: frozen 0, loosen-only 1. Unused parameters are zero. Listed defaults require configured membership, issuer or partner keys where applicable.
See caps and opening rules, timing rules, wallet rules and access and linked rules for every card and its defaults.
Blocklists commit up to 200 wallets before seal. Allowlists support 5000 registered members. Gate minimums use raw units; snapshot freshness is 30..3600 seconds. Calendar mode supports weekday/minute windows, fixed offsets, sealed DST transitions and holidays. GET /api/rules describes the full sealed-option schema. Linked coins currently need an existing partner.
Public tools
GET /api/rules returns every kind, named card defaults and limits. POST /api/rules/check accepts Rules2 and returns validation, descriptions, exit bounds, compute and estimated rent. POST /api/rules/simulate accepts {rules,simulation:{supply,launcher,launchTime,launchSlot,trades}}, at most 200 ordered trades. Limits are 60/20/10 requests per minute per IP. MCP equivalents: rule_catalogue, check_rules, simulate_rules.
Simulation covers every supported kind but assumes funded histories and caller-supplied marker eligibility. It excludes prices, liquidity, account admission, self-locks and transaction execution. Gate snapshots use gated, gateBalance and gateCheckedAt; agent markers use agentExpires.
GET /api/hook/state?mint=...&owner=... and MCP rule_state return named state, wallet quotas, vesting, Grudge, dose, marker expiry and opening-buy receipts. HTTP reads are uncached, devnet-only and limited to 60/min/IP. MCP authentication remains required.
Launcher opening buy
Kind 11 params [slots,seconds,maximumRawAmount,0], with unconditional sides 5 and a positive maximum, reserves one launcher buy until wall expiry. Every cap applies. Public buys wait until expiry. POST /api/hook/opening-buy accepts {mint,owner,amount,maxQuoteLamports}. It returns an unsigned exact-output transaction, buildTag and lastValidBlockHeight after simulation. The wallet signs, then submits through /api/trade/send. Devnet/SOL only, 10/min/IP.
The chain guard makes a successful opening buy first or fails the transaction. Creation carries no buy. The public receipt survives graduation and retains the existing MintState rent.
Selling and vesting
Momentum is kind 53: low, high, gain and decay seconds. Its persistent signed volume decays toward a midpoint rest cap. Legacy kind 33 is unchanged. Sliding kind 7 supports five packed levels; GET /api/rules documents the encoding. Conviction p3 bit 32 exempts the sealed launcher except during reserved opening buys; its remaining bits hold step seconds.
vestingMinimum is a raw-unit string, default zero. Smaller buys do not start vesting; the first qualifying signed buy anchors the whole bag. Top-ups never reset it. History admission remains separate.
Safe exit releases sells within seven days of seal. Graduation lifetime certifies a bounded two-percent exit. This concerns permission, not liquidity or inclusion. Wallet sell histories restrict sends. The launcher holds the relax key by default; platform shutdown remains possible. Rules pay no rewards.