Skip to main content
Get claim status
curl --request GET \
  --url https://relayer.api.umbraprivacy.com/v1/claims/{request_id}
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "awaiting_callback",
  "variant": "encrypted_balance",
  "resolved_variant": "claim_into_existing_shared_balance_v11",
  "tx_signature": "5KtP...base58...",
  "callback_signature": null,
  "computation_account": "Comp...base58...",
  "failure_reason": null,
  "created_at": "2026-03-31T12:00:00Z",
  "updated_at": "2026-03-31T12:00:15Z"
}
The SDK polls this endpoint automatically with a 3-second interval and a 120-second timeout. You only need to call it directly if building a custom integration.

Polling Recommendations

  • Poll every 3 seconds (the SDK default)
  • Stop polling when status reaches a terminal state: completed, failed, or timed_out
  • Maximum recommended polling duration: 120 seconds
  • If status is timed_out, the MPC callback was not received within the expected block window — the callback may still arrive later

Claim Lifecycle

A claim request progresses through these statuses in order:
  • received — Accepted by the relayer API
  • validating — Preflight checks running (Merkle root, nullifiers, account state)
  • offsets_reserved — Nullifier offsets reserved for deduplication
  • building_tx — Transactions being constructed
  • tx_built — Transactions ready
  • submitting — Sending to Solana
  • submitted — Confirmed on-chain
  • awaiting_callback — Waiting for Arcium MPC callback
  • callback_received — MPC callback detected
  • finalizing — Running cleanup transactions
  • completed — Claim successful
  • failed — Error occurred (see failure_reason field)
  • timed_out — MPC callback deadline exceeded

Path Parameters

request_id
string<uuid>
required

UUID returned from POST /v1/claims.

Response

Claim status

request_id
string<uuid>
status
enum<string>
Available options:
received,
validating,
offsets_reserved,
building_tx,
tx_built,
submitting,
submitted,
awaiting_callback,
callback_received,
finalizing,
completed,
failed,
timed_out
variant
enum<string>
Available options:
encrypted_balance,
public_balance
resolved_variant
string | null

Specific on-chain instruction variant selected by preflight validator.

tx_signature
string | null

Solana transaction signature of the claim instruction.

callback_signature
string | null

Solana transaction signature of the Arcium MPC callback.

computation_account
string | null

Base58-encoded computation account address.

failure_reason
string | null

Error message if status is failed.

created_at
string<date-time>
updated_at
string<date-time>