HTTP Reference
Most integrations should just use the SDK. This page is for debugging, backend adapters, or anyone who wants to see exactly what the SDK is doing under the hood. The API is versioned at/api/v1/.... Stable endpoints live under that prefix. Unversioned paths (e.g. /api/token/...) exist for the blank.build web UI and are not part of the public stability contract — don’t depend on them.
Launch
| Method | Path | Auth | Use |
|---|---|---|---|
POST | /api/v1/launch/build | API key | Build a server-signed launch transaction bundle. Accepts optional Idempotency-Key header. |
GET | /api/v1/launch/{launchId} | API key | Read launch payload status. |
POST | /api/v1/token/submit | API key + wallet signature | Submit signed transactions by submissionIntentId. SDK-internal for normal apps. |
bps is basis points: 100 bps = 1%, and the splits in any single launch must total 10,000 bps (100%).
staking.shareBps, buybackBurn.shareBps, and liquidityCompounding.shareBps are optional creator-side fee allocations. When staking is present, the staking pool is created inside the launch bundle and the build response includes stakingPoolAddress. The three shares cannot exceed 10,000 bps combined and are increase-only after launch.
Build response fields are all live values from the reserved launch: launchId, mintAddress, dbcConfig, poolAddress, feeCollector, feeVault, feeSplitConfig, stakingPoolAddress, lookupTable, submissionIntentId, payload, and expiresAt. expiresAt is the blockhash window for the unsigned bundle; the high-level SDK result intentionally does not expose it after submit succeeds.
Submit request body:
transport: "jito" and bundleOnly: true. The SDK sets these for you automatically — you only need to provide them if you’re calling the HTTP endpoint directly.
Staking
| Method | Path | Auth | Use |
|---|---|---|---|
POST | /api/v1/token/{mint}/staking/enable | API key + controller signature | Enable staking after launch for tokens launched without staking. |
POST | /api/v1/token/{mint}/staking/top-up | API key + controller signature | Build a creator-funded staking bonus transaction. |
GET | /api/token/{mint}/staking/top-up/preview?amount=1.5 | User token | Preview a creator-funded staking bonus (web-only path). |
2000 bps = 20% of the creator’s fee share routed to stakers):
Public reads
| Method | Path | Auth | Use |
|---|---|---|---|
GET | /api/v1/developers/solana/manifest | None | Read active Solana config and limits. |
GET | /api/v1/token/{mint}/fees | None | Read current fee status. |
GET | /api/v1/token/{mint}/fee-history | None | Read fee distribution history. |
Audience Exports
| Method | Path | Auth | Use |
|---|---|---|---|
GET | /api/v1/token/{mint}/audience-export | API key + token controller | Read the latest export job for a token. |
POST | /api/v1/token/{mint}/audience-export | API key + token controller | Start an exact holder/staker export job. |
GET | /api/v1/token/{mint}/audience-export/{exportId}/download?kind=holders | API key + token controller | Download the completed holders CSV. |
GET | /api/v1/token/{mint}/audience-export/{exportId}/download?kind=stakers | API key + token controller | Download the completed stakers CSV. |
POST returns 202 Accepted with { export, reused }; if a job is already queued or running, reused is true and no duplicate job is created. Download returns 409 Conflict until the job is complete.