Burn Tokens (Deprecated)
This endpoint allows burning tokens based on a provided proof, with an option to persist proof data on-chain.
Overview
The Burn Tokens endpoint facilitates the burning of a specified amount of tokens. It requires a proof of an off-chain event or condition that justifies the burn. IfpersistOnchain is true, the hash of the proof will be recorded on the blockchain.
NOTE: This endpoint only works for /v1 tokens.
Authentication
This endpoint requires API key authentication. The API key must have theburn scope.
To authenticate, provide your API key in the x-believe-api-key request header.
Example:
x-believe-api-key: your_actual_api_key_here
Rate Limiting
Requests to this endpoint are rate-limited to 10 requests per second per API key.Idempotency
To prevent accidental duplicate operations, this endpoint supports idempotency via thex-idempotency-key header.
- Header:
x-idempotency-key - Value: A unique string (e.g., a UUID) generated by the client for each distinct operation.
- Purpose: If a request is retried (e.g., due to a network error) with the same
x-idempotency-keyas a previously successful request, the server should recognize it and not perform the operation a second time, instead returning the result of the original successful operation. This ensures that operations are processed at most once.
x-idempotency-key: your_unique_generated_uuid_v4_here
Request Body
Example Request
Response Body
On success, the API returns a JSON object with the following fields:Example Response (Success)
Functional Error Codes
Beyond authentication and rate limiting, the burn endpoint can return specific error codes related to the burn operation itself. These are typically returned with a 400 Bad Request status.Authorizations
Headers
A unique key generated by the client to ensure a request is processed at most once. This is used to prevent accidental duplicate operations if a request is retried (e.g., due to a network error).
Body
Details for the token burn operation.
A string identifier for the type of proof being submitted (e.g., "PRODUCT_BUY").
A JSON object containing the actual proof data.
The quantity of tokens to burn. Must be a positive number.
A boolean flag indicating whether the hash of the proof should be recorded on the blockchain.
Response
Successful token burn.
Indicates the outcome of the operation (e.g., "SUCCESS").
A SHA256 hash of the provided proof object.
The on-chain transaction hash for the token burn, if successful.
The type of proof that was processed.
An ISO 8601 timestamp indicating when the burn was processed.