Submit a claim request
Relayer API
Submit Burn
Submit a Stealth Pool Note burn request to the relayer for processing. The wire path is /v1/claims (legacy).
Submit a claim request
The relayer validates the request, builds the on-chain transactions, and submits them asynchronously. Poll
Idempotency /
If a burn callback drops and you re-submit with the same
GET /v1/claims/{request_id} with the returned UUID to track progress.
The wire path retains the legacy
/v1/claims segment. In SDK code you call it via the relayer client’s submitClaim method (or its submitBurn alias when plugged into a burner factory’s relayer dep).Burn variants
encrypted_balance— burn into anEncryptedTokenAccount. Requires additional Rescue-encrypted fee fields inproof_account_data. Each note slot has 6 linker encryptions and 6 key commitments.public_balance— burn into aAssociatedTokenAccount. Requiresfee_proof_datawith the client’s expected basis-points rates (protocol_fee_basis_points,relayer_fee_basis_points) and allowed-address PDA slots — the relayer verifies these against the on-chainFeeSchedule/RelayerFeeSchedulePDAs before submission, catching stale client config without wasting a transaction. Each note slot has 5 linker encryptions and 5 key commitments.
Validation rules
- All base58 pubkeys must decode to exactly 32 bytes.
- All nullifiers within a request must be unique (duplicates return
409 DUPLICATE_OFFSET). max_utxo_capacitymust be greater than 0.fee_proof_datais required forpublic_balancevariant only.
Idempotency / DUPLICATE_OFFSET
If a burn callback drops and you re-submit with the same request_id while the nullifier is still reserved upstream, the relayer returns HTTP 409 with code DUPLICATE_OFFSET. Wait, re-check on-chain that the nullifier has not landed, and retry only if still unspent. The SDK’s burner factories handle this internally.Body
application/json
Claim target — encrypted token account or public ATA.
Available options:
encrypted_balance, public_balance Base58-encoded Solana public key of the claiming user.
Base58-encoded token mint address.
Index of the stealth pool containing the UTXOs.
Maximum number of UTXOs in this claim batch.
Required range:
x >= 1Base64-encoded 32-byte metadata field.
Cryptographic proof data for the claim.
Array of UTXO slots to claim.
Minimum array length:
1Fee Merkle proof data. Required for public_balance variant only.