Programs, SDK and API
For builders and integrators.
Programs (devnet)
| Program | Address | Role |
|---|---|---|
| gate_hook | 2WmU372N24TxUTUJSiZ3MTW2Qr5UcB5XP1qZ9vpFUh56 | Token-2022 transfer hook: the mod library |
| gate_router | H85rwTY8cdkrYgzPvBqdZVqYLaAZDspBfVGBkbXRUscM | Site path: tickets, caps, then the Meteora swap |
| Meteora DBC | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN | Bonding curve |
How a gated buy works
- The site checks what the mods require and signs a ticket: wallet, mint, max amount, expiry, identity hash.
- The transaction carries an Ed25519 check of the ticket, then the router call.
- The router checks the ticket and the caps, then calls the Meteora swap.
- The token transfer triggers the rules hook, which checks that the router is the caller and applies every mod enforced by the token.
SDK
import { clients, fetchLaunchState, buildTrade, describeLaunch } from "@gatekeeper/sdk";
const c = clients(connection);
const state = await fetchLaunchState(c, mint);
console.log(describeLaunch(state)); // the mods, in plain English
const tx = await buildTrade(c, state, {
user, side: "buy", amount, slippageBps: 1000,
ticket, // when the mods ask for one
});Community board
Loadouts and stars are memo transactions that also touch the board address, so the board is read from that address's history. A loadout memo starts with charter/loadout/1followed by JSON with a name, a note and the rack in the same format as the studio's share links. A star is charter/star/1followed by the loadout's transaction signature; one star per wallet counts.
Ticket API
| Endpoint | Use |
|---|---|
POST /v1/ticket | Signed buy ticket after the checks the mods ask for |
GET /v1/captcha | A captcha image and its id |
POST /v1/x/challenge, /v1/x/verify | Prove an X account by posting a code |
POST /v1/meta | Upload an image and metadata |