Documentation Index
Fetch the complete documentation index at: https://blank.build/docs/llms.txt
Use this file to discover all available pages before exploring further.
Errors
When something goes wrong, the API returns JSON with anerror message and (when available) a machine-readable code. Always log the X-Request-Id response header with failures — that’s what we’ll need if you ever ping us for help.
| Code | Status | Meaning | Fix |
|---|---|---|---|
API_KEY_REQUIRED | 401 | Missing Authorization: Bearer sk_blank_... or x-blank-api-key. | Send a valid API key. |
API_KEY_INVALID | 401 | Key is unknown, revoked, expired, or malformed. | Create or rotate the API key in Blank. |
API_KEY_USERNAME_REQUIRED | 403/409 | The API-key owner has no username. | Set a username before creating or using API keys. |
API_KEY_LIMIT_REACHED | 409 | The account already has three active API keys. | Revoke an unused key before creating another. |
API_KEY_INTENT_MISMATCH | 403 | Submit used a different API key than the build intent. | Retry submit with the same key, or rebuild. |
REQUIRED_SIGNER_SIGNATURE_INVALID | 403 | Signed transaction is missing the required creator/controller signature. | Sign the returned transaction bundle with the required wallet. |
SUBMISSION_INTENT_REQUIRED_SIGNER_MISSING | 409 | Intent metadata is incomplete. | Rebuild the transaction. |
LAUNCH_BUILD_INVALID_JSON | 400 | Build body is not valid JSON. | Send JSON with Content-Type: application/json. |
LAUNCH_BUILD_INVALID_REQUEST | 400 | Build body failed schema validation. | Fix the field-level validation errors. |
LAUNCH_BUILD_CREATOR_IS_LAUNCH_SIGNER | 400 | Creator wallet equals Blank’s launch signer. | Use the bot/controller wallet as creator. |
LAUNCH_BUILD_METADATA_URI_TOO_LONG | 400 | Metadata URI exceeds 72 UTF-8 bytes. | Use compact ipfs:// or ar:// URIs. |
LAUNCH_BUILD_METADATA_URI_PROTOCOL | 400 | Metadata URI protocol is unsupported. | Use ipfs:// or ar://. |
LAUNCH_BUILD_METADATA_UNRESOLVABLE | 400 | Metadata URI did not resolve to public JSON metadata. | Upload metadata first and wait until a public gateway returns the JSON. |
LAUNCH_BUILD_METADATA_IMAGE_REQUIRED | 400 | Metadata JSON has no public image URI. | Add an image field using ipfs://, ar://, or a stable HTTPS URL. |
LAUNCH_BUILD_STAKING_SHARE_INVALID | 400 | staking.shareBps is outside the supported range. | Send an integer from 100 to 10,000 bps. |
LAUNCH_BUILD_TRANSACTION_TOO_LARGE | 400 | Built transaction exceeded the safety size gate. | Shorten metadata/symbol/name or simplify launch input. |
LAUNCH_BUILD_PAYLOAD_MODIFIED | 400 | Launch transaction message changed after build. | Rebuild and sign again. |
LAUNCH_ACTIVATION_PENDING | 503 | Transaction confirmed but Blank has not finished activating the row. | Retry the launch status request; the SDK does this automatically. |
API_SUBMISSION_PAYLOAD_MODIFIED | 400 | API staking transaction message changed after build. | Rebuild and sign again. |
IDEMPOTENCY_KEY_IN_FLIGHT | 409 | Same idempotency key is already building. | Wait for the first request to settle. |
TOO_MANY_ACTIVE_RESERVATIONS | 429 | Too many pending launches for the account. | Submit or let existing launches expire. |
CREATOR_RATE_LIMITED | 429 | Creator wallet exceeded launch-build quota. | Back off or use the intended creator wallet. |
LAUNCH_SIGNER_RATE_LIMIT | 503 | Blank launch signer is temporarily over capacity. | Retry after the Retry-After window. |
VANITY_POOL_EXHAUSTED | 503 | No clean BLNK vanity mints are available. | Retry later. |
VANITY_POOL_CONTAMINATED | 503 | Available vanity mints failed cleanliness checks. | Retry later. |
LAUNCH_BASIC_TRANSPORT_AUTO_DISALLOWED | 400 | Mainnet Basic launches require Jito transport. | Use SDK defaults or submit with transport: "jito". |
LAUNCH_BASIC_BUNDLE_ONLY_REQUIRED | 400 | Mainnet Basic launches require bundle-only submission. | Submit with bundleOnly: true. |
EMPTY_BUNDLE | SDK | SDK received no transactions to sign. | Rebuild the launch payload. |
WALLET_SIGN_ALL_TRANSACTIONS_REQUIRED | SDK | Wallet cannot sign a multi-transaction launch bundle. | Use a signer that supports bundle signing. |
WALLET_SIGN_TRANSACTION_REQUIRED | SDK | Wallet cannot sign a single transaction. | Use a compatible signer. |
LAUNCH_SUBMISSION_FAILED | SDK | Wallet signed, but relay/submit failed or the Jito bundle did not land. | Use blank.launch.retrySubmit() with the exposed signed transactions. |
LAUNCH_SUBMISSION_EXPIRED | SDK | Signed launch bundle expired before confirmation. | Rebuild and sign a fresh launch. |
LAUNCH_SUBMISSION_UNKNOWN_ERROR | SDK | SDK caught an unknown submit failure. | Log the X-Request-Id and retry submit if safe. |