Skip to content
mods
Wallet

Programs, SDK and API

For builders and integrators.

Programs (devnet)

ProgramAddressRole
gate_hook2WmU372N24TxUTUJSiZ3MTW2Qr5UcB5XP1qZ9vpFUh56Token-2022 transfer hook: the mod library
gate_routerH85rwTY8cdkrYgzPvBqdZVqYLaAZDspBfVGBkbXRUscMSite path: tickets, caps, then the Meteora swap
Meteora DBCdbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqNBonding curve

How a gated buy works

  1. The site checks what the mods require and signs a ticket: wallet, mint, max amount, expiry, identity hash.
  2. The transaction carries an Ed25519 check of the ticket, then the router call.
  3. The router checks the ticket and the caps, then calls the Meteora swap.
  4. 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

EndpointUse
POST /v1/ticketSigned buy ticket after the checks the mods ask for
GET /v1/captchaA captcha image and its id
POST /v1/x/challenge, /v1/x/verifyProve an X account by posting a code
POST /v1/metaUpload an image and metadata