Burn tokens
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
Request
AddressTargetV2 names an address as either an internal address (managed by the platform) or a whitelisted external address. Exactly one variant must be set. Replaces v1's paired uint64 fields where mutual exclusion was a runtime invariant.
Response
AssetOperationStatusV2 is the consumer-facing lifecycle status of an operation. Two non-terminal values:
- PENDING: system is making progress automatically; consumer should wait.
- PAUSED: action required from the operation initiator (or an operator) before progress can resume — see AssetOperationV2.blockingReason for the machine-readable cause. Three terminal values: COMPLETED, FAILED, CANCELED.
AssetOperationFailureReasonV2 is the machine-readable cause when an operation reaches the FAILED terminal status. Free-form failure messages are not surfaced on the wire; consumers should switch on this enum. Two-tier: UNSPECIFIED means not failed; UNKNOWN is the catch-all for failed-with-no-typed-code; specific reasons grow as concrete cases are wired through from the underlying workflows.
- ASSET_OPERATION_FAILURE_REASON_V2_UNKNOWN: Failed, but no typed code is available
- ASSET_OPERATION_FAILURE_REASON_V2_INTERNAL_ERROR: Specific: a system/internal error occurred.
- ASSET_OPERATION_FAILURE_REASON_V2_REQUEST_REJECTED: The underlying approval request was rejected by an approver.
- ASSET_OPERATION_FAILURE_REASON_V2_REQUEST_FAILED: The underlying request terminated in failure for some non-rejection reason (expired, timed out, on-chain failure, ...).
- ASSET_OPERATION_FAILURE_REASON_V2_SOURCE_ADDRESS_ON_INVALID_CURRENCY: The source address passed to the operation is registered for a different currency than the asset. One must retry with the address tied to the asset's currency.
- ASSET_OPERATION_FAILURE_REASON_V2_SOURCE_ADDRESS_NOT_ASSET_ISSUER: The source address isn't the asset's on-chain issuer (the per-chain name varies. Only the issuer can mint or burn the asset.
- ASSET_OPERATION_FAILURE_REASON_V2_DESTINATION_ADDRESS_ON_INVALID_CURRENCY: The destination is an internal address registered for a different currency than the asset. Symmetric with the source variant — retry with the address tied to the asset's currency.
- ASSET_OPERATION_FAILURE_REASON_V2_DESTINATION_ADDRESS_INVALID: The destination is otherwise unusable: a WLA on the wrong chain or network, malformed on-chain address, no destination provided, or a chain-specific invariant violated. Retry with a destination that matches the asset's chain and the operation's constraints.
- ASSET_OPERATION_FAILURE_REASON_V2_NOT_ENOUGH_FUNDS: The source address doesn't hold enough of the asset itself for the operation (e.g. trying to burn more than the source holds).
- ASSET_OPERATION_FAILURE_REASON_V2_NOT_ENOUGH_FUNDS_FOR_FEES: The source has enough of the asset but not enough of the chain's native fee currency to broadcast. Top up the fee currency.
- ASSET_OPERATION_FAILURE_REASON_V2_FORBIDDEN_BY_BUSINESS_RULE: A governance/business rule forbade the request (amount over a limit, currency disabled, outside business hours/days, ...). The request is well-formed but policy forbids it.
- ASSET_OPERATION_FAILURE_REASON_V2_INVALID_PARAMETERS: Request parameters were rejected at creation (zero amount, a currency that doesn't support the operation, malformed source/destination selection, ...). A general parameter validation failure.
AssetOperationBlockingReasonV2 is the machine-readable cause when an operation is in the PAUSED non-terminal status. Distinct from FailureReason: a paused operation is alive and resumable once the blocker is cleared. Two-tier same as FailureReason: UNSPECIFIED means not paused; UNKNOWN is the catch-all for paused-with-no-typed-code; specific reasons grow as concrete cases land.
- ASSET_OPERATION_BLOCKING_REASON_V2_UNKNOWN: Paused, but no typed code is available.
- ASSET_OPERATION_BLOCKING_REASON_V2_MISSING_GOVERNANCE_RULE: Governance rule missing to complete the operations.
- ASSET_OPERATION_BLOCKING_REASON_V2_MANUAL_PAUSE: Operation has been manually paused.
- ASSET_OPERATION_BLOCKING_REASON_V2_AWAITING_REQUEST_APPROVAL: Awaiting human approval on a deployment / mint / burn / etc. request (the HandleRequestWorkflow's PENDING state).
- ASSET_OPERATION_BLOCKING_REASON_V2_AWAITING_WHITELIST_APPROVAL: Awaiting approval of a whitelisted-address record for the asset.
- ASSET_OPERATION_BLOCKING_REASON_V2_AWAITING_CURRENCY_PRICE: Operation blocked because no price is set for the asset's currency.
- ASSET_OPERATION_BLOCKING_REASON_V2_AWAITING_MANUAL_WHITELIST: The auto-generated whitelist proposal was rejected by an approver; the asset is on-chain but the workflow waits for someone to manually create + approve a whitelist (which resumes the flow).
- ASSET_OPERATION_BLOCKING_REASON_V2_WHITELIST_PARAMS_CONFLICT: The automatic whitelist was rejected for invalid parameters (most commonly the name/symbol is already whitelisted for another token) while the asset is on-chain. An operator must whitelist the token manually with different parameters (e.g. a different symbol), which then resumes the flow.
UpdateOperationDetailsV2 records what an update operation requested — the off-chain label/price and the on-chain params. This is the immutable audit of the requested change, distinct from the asset's realized state on the AssetView (which reflects the on-chain result once the operation completes).