What is the Relayer?
The Umbra relayer is a transaction submission service that builds, signs, and submits claim transactions for users. When you claim a UTXO from the mixer, the relayer pays the Solana transaction fees and submits the claim on your behalf — ensuring your wallet address never appears as the fee payer in the transaction, preserving your privacy. The relayer is used internally by the SDK’s claim functions. You do not need to interact with the relayer API directly unless you are building a custom integration.Base URL
- Mainnet:
https://relayer.api.umbraprivacy.com - Devnet:
https://relayer.api-devnet.umbraprivacy.com
How It Works
- You call a claim function in the SDK (e.g.,
getSelfClaimableUtxoToEncryptedBalanceClaimerFunction) - The SDK constructs the claim proof data and UTXO slot data locally
- The SDK submits a claim request to the relayer via
POST /v1/claims - The relayer validates the request, builds the on-chain transactions, and submits them
- The SDK polls
GET /v1/claims/{request_id}until the claim reaches a terminal status - The claimed tokens appear in your encrypted balance or public ATA
SDK Integration
Claim Lifecycle
A claim request progresses through these statuses:received— Accepted by the relayer APIvalidating— Preflight checks running (Merkle root, nullifiers, account state)offsets_reserved— Nullifier offsets reserved for deduplicationbuilding_tx— Transactions being constructedtx_built— Transactions readysubmitting— Sending to Solanasubmitted— Confirmed on-chainawaiting_callback— Waiting for Arcium MPC callbackcallback_received— MPC callback detectedfinalizing— Running cleanup transactionscompleted— Claim successfulfailed— Error occurred (seefailure_reason)timed_out— MPC callback deadline exceeded
completed, failed, timed_out
Response Format
All relayer endpoints return JSON.Rate Limiting
All endpoints are subject to rate limiting. Exceeded limits return429 Too Many Requests.