API docs

Authentication, endpoints and credit costs

The GateKept API serves bundle intelligence over simple JSON endpoints, authenticated with an API key and paid for with prepaid credits. Base URL: https://api.gatekept.io/api/v1

Authentication

Send your key on every request as a bearer token (or the x-api-key header). Manage keys on your account page; a key is shown once, so store it safely.

Authorization: Bearer gk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Credits & billing

Each endpoint costs a fixed whole number of credits (1 credit ≈ $0.001). Only successful responses are billed — a 4xx you caused, and any 5xx, cost nothing. Every billed response carries:

  • X-Credits-Cost — Credits charged for this request.
  • X-Credits-Remaining — Your balance after this request.
  • Retry-After — On a 429, seconds to wait before retrying.

Endpoints

Every endpoint is a GET; returns { data: … }
EndpointCredits
/bundles/launches
Recent Solana bundled launches
5
/bundles/launches/{mint}
One launch (stored only)
5
/bundles/armed
Bundler wallets armed or dispersing
10
/bundles/stats
Tracker counters
1
/bundles/robinhood/launches
Robinhood declared bundles
5
/bundles/robinhood/launches/{token}
One Robinhood launch
5
/bundles/robinhood/armed
Funded teams not yet launched
10
/bundles/robinhood/masters
Master wallets funding teams
5
/bundles/robinhood/stats
Robinhood watcher counters
1
/bundles/teams
Launch teams by shared wallets
5
/bundles/teams/launch/{launchId}
The team behind a launch
3
/bundles/teams/{id}
One team with launches + wallets
5
/bundles/watch/wallets
Armed Solana wallets (signals)
10
/bundles/watch/wallets/{address}
One watched wallet
10
/bundles/watch/robinhood
Funded Robinhood teams (signals)
10
/bundles/watch/robinhood/{tx}
One funding batch
10
/bundles/profitability
Bundling profitability breakdown
10

Errors

{ error: { code, message, requestId } }
StatusCodeMeaning
401INVALID_API_KEYThe key is unknown or malformed.
402INSUFFICIENT_CREDITSNot enough credits; carries required and remaining.
403KEY_REVOKED / SCOPE_DENIEDKey revoked, or cannot reach this route.
404NOT_FOUNDNo such resource (free — not billed).
429RATE_LIMITEDToo many requests; see Retry-After.
503SERVICE_BUSYShed load; retry shortly (never billed).

Quickstart

cURL

curl https://api.gatekept.io/api/v1/bundles/launches \
  -H "Authorization: Bearer $GATEKEPT_API_KEY"

JavaScript

const res = await fetch("https://api.gatekept.io/api/v1/bundles/launches", {
  headers: { Authorization: `Bearer ${process.env.GATEKEPT_API_KEY}` },
});
const { data } = await res.json();
console.log(res.headers.get("x-credits-remaining"), data);

Python

import os, requests

r = requests.get(
    "https://api.gatekept.io/api/v1/bundles/launches",
    headers={"Authorization": f"Bearer {os.environ['GATEKEPT_API_KEY']}"},
)
r.raise_for_status()
print(r.headers["x-credits-remaining"], r.json()["data"])

Rate limits

Keys are limited per second (with a short burst). When you exceed it you get a 429 with Retry-After; back off and retry. Streaming endpoints and more data (KOLs, tokens) are coming — this page will list them when they ship.