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_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCredits & 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
| Endpoint | Credits |
|---|---|
/bundles/launchesRecent Solana bundled launches | 5 |
/bundles/launches/{mint}One launch (stored only) | 5 |
/bundles/armedBundler wallets armed or dispersing | 10 |
/bundles/statsTracker counters | 1 |
/bundles/robinhood/launchesRobinhood declared bundles | 5 |
/bundles/robinhood/launches/{token}One Robinhood launch | 5 |
/bundles/robinhood/armedFunded teams not yet launched | 10 |
/bundles/robinhood/mastersMaster wallets funding teams | 5 |
/bundles/robinhood/statsRobinhood watcher counters | 1 |
/bundles/teamsLaunch 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/walletsArmed Solana wallets (signals) | 10 |
/bundles/watch/wallets/{address}One watched wallet | 10 |
/bundles/watch/robinhoodFunded Robinhood teams (signals) | 10 |
/bundles/watch/robinhood/{tx}One funding batch | 10 |
/bundles/profitabilityBundling profitability breakdown | 10 |
Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | INVALID_API_KEY | The key is unknown or malformed. |
| 402 | INSUFFICIENT_CREDITS | Not enough credits; carries required and remaining. |
| 403 | KEY_REVOKED / SCOPE_DENIED | Key revoked, or cannot reach this route. |
| 404 | NOT_FOUND | No such resource (free — not billed). |
| 429 | RATE_LIMITED | Too many requests; see Retry-After. |
| 503 | SERVICE_BUSY | Shed 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.