Error Codes
Complete reference of 32 error codes across 9 categories returned by the Blockchain Service.
Error response formatjson
{
"error": {
"code": "BC_1000",
"message": "Unsupported contract type (must be ERC721, ERC1155, or ERC4907)",
"http": 400
}
}ContractsBC_1000-1099
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1000 | 400 | INVALID_CONTRACT_TYPE | Unsupported contract type (must be ERC721, ERC1155, or ERC4907) | Use a supported contract type |
BC_1001 | 400 | INVALID_CHAIN | Unsupported blockchain network | Use GET /chains for supported networks |
BC_1002 | 502 | DEPLOY_FAILED | Smart contract deployment failed on-chain | Check gas price and retry; chain may be congested |
BC_1003 | 404 | CONTRACT_NOT_FOUND | Contract ID not found | Verify contract ID with GET /contracts |
BC_1004 | 409 | CONTRACT_ALREADY_VERIFIED | Contract already verified on block explorer | No action needed |
MintingBC_1100-1199
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1100 | 400 | INVALID_RECIPIENTS | Recipients array is empty or contains invalid addresses | Provide valid Ethereum addresses |
BC_1101 | 402 | INSUFFICIENT_GAS | Insufficient gas funds for minting | Top up gas budget or use gas sponsorship |
BC_1102 | 400 | BATCH_TOO_LARGE | Batch mint exceeds maximum size (100) | Split into smaller batches |
BC_1103 | 409 | DUPLICATE_MINT | Duplicate mint detected (idempotency) | Use a unique Idempotency-Key header |
NFT TicketsBC_1200-1299
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1200 | 404 | TICKET_NOT_FOUND | Ticket ID not found | Verify ticket ID |
BC_1201 | 409 | ALREADY_CHECKED_IN | Ticket already used for entry | Ticket can only be checked in once |
BC_1202 | 403 | TRANSFER_DENIED | Ticket transfer policy does not allow transfer | Check transfer_policy on the ticket |
BC_1203 | 410 | TICKET_REVOKED | Ticket has been revoked | Contact event organizer |
Resale MarketplaceBC_1300-1399
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1300 | 404 | LISTING_NOT_FOUND | Resale listing not found | Verify listing ID |
BC_1301 | 400 | PRICE_EXCEEDS_CAP | Resale price exceeds maximum cap | Lower price to within allowed range |
BC_1302 | 409 | ALREADY_SOLD | Listing already sold to another buyer | Browse other available listings |
BC_1303 | 403 | NOT_LISTING_OWNER | Only the listing creator can cancel | Verify you own the listing |
Gas SponsorshipBC_1400-1499
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1400 | 402 | BUDGET_EXHAUSTED | Gas sponsorship budget is exhausted | Top up gas budget via POST /gas/budgets/:id/top-up |
BC_1401 | 409 | SPONSORSHIP_PAUSED | Gas sponsorship is currently paused | Resume sponsorship via POST /gas/budgets/:id/resume |
BC_1402 | 400 | UNSUPPORTED_CHAIN | Gas sponsorship not available on this chain | Check supported chains for gas sponsorship |
NFC WristbandsBC_1500-1599
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1500 | 409 | WRISTBAND_ALREADY_LINKED | Wristband already linked to a ticket | Unlink first or use a different wristband |
BC_1501 | 400 | INVALID_NFC_DATA | Invalid NFC tap data | Verify NFC reader configuration |
BC_1502 | 402 | INSUFFICIENT_WALLET_FUNDS | Insufficient cashless wallet balance | Add funds to wristband wallet |
ValidationBC_1600-1699
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1600 | 400 | VALIDATION_FAILED | Request body validation failed | Check request body against API docs |
BC_1601 | 400 | MISSING_REQUIRED_FIELD | A required field is missing | Add the required field to the request |
Authentication & QuotaBC_1700-1799
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1700 | 401 | UNAUTHORIZED | Authentication required | Provide a valid JWT token |
BC_1701 | 403 | FORBIDDEN | Insufficient permissions | Request required role from admin |
BC_1702 | 429 | RATE_LIMIT_EXCEEDED | Rate limit exceeded | Implement exponential backoff |
BC_1703 | 429 | QUOTA_EXCEEDED | Monthly quota exceeded for this tier | Upgrade subscription tier |
GeneralBC_1800-1899
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
BC_1800 | 500 | INTERNAL_SERVER_ERROR | Internal server error | Retry; if persistent, contact support with request_id |
BC_1801 | 503 | SERVICE_UNAVAILABLE | Service temporarily unavailable | Retry with exponential backoff |
BC_1802 | 504 | TIMEOUT | Request timeout | Retry; blockchain operations may take longer |