Skip to main content
After you submit a sponsorship request, ArcPass processes it asynchronously through a relay worker. You can poll the API at any time to see where your request is in the lifecycle, retrieve the associated relay transaction record, or look up a request by its on-chain transaction hash.

Check status by request ID

Send a GET request to /sponsorship/:id using the UUID you received when you created the request.
curl https://api.arcpass.example/sponsorship/e7f1c2d3-4567-89ab-cdef-012345678901
{
  "id": "e7f1c2d3-4567-89ab-cdef-012345678901",
  "walletId": "b3d2c1a0-1234-5678-abcd-ef0123456789",
  "status": "completed",
  "eligibilityReason": null,
  "requestedAt": "2025-05-10T12:00:05.000Z",
  "approvedAt": "2025-05-10T12:00:08.000Z",
  "rejectedAt": null,
  "completedAt": "2025-05-10T12:00:22.000Z",
  "failedAt": null,
  "ipAddress": "203.0.113.42",
  "userAgent": "curl/8.4.0",
  "wallet": {
    "id": "b3d2c1a0-1234-5678-abcd-ef0123456789",
    "walletAddress": "0xa3f2b1c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0",
    "firstSeenAt": "2025-05-10T12:00:00.000Z",
    "lastSeenAt": "2025-05-10T12:00:22.000Z",
    "sponsorshipCount": 1,
    "isBlocked": false
  },
  "relayTransactions": [
    {
      "id": "f9e8d7c6-5432-10ba-9876-543210fedcba",
      "status": "confirmed",
      "relayAttempt": 1,
      "transactionHash": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b",
      "submittedAt": "2025-05-10T12:00:10.000Z",
      "confirmedAt": "2025-05-10T12:00:22.000Z",
      "failedAt": null,
      "failureReason": null
    }
  ]
}

Sponsorship status lifecycle

StatusMeaningWhat to do
pendingRequest received; waiting for the relay worker to pick it up.Poll again in a few seconds.
approvedRelay worker picked up the request and is preparing the on-chain transaction.Poll again in a few seconds.
relayedTransaction submitted to Arc Network; waiting for confirmation.Poll again in a few seconds.
completedTransaction confirmed. Gas has been delivered to your wallet.No action needed — you’re ready to transact.
rejectedWallet is ineligible (already sponsored or blocked).Check eligibilityReason for details; no retry is possible.
failedRelay failed after exhausting all retry attempts.Contact support or resubmit after investigating the failure.
completed, rejected, and failed are terminal states. Once a request reaches one of these statuses it will not change.
The relay worker retries failed relay attempts up to 5 times before marking the request as failed. Each attempt is recorded as a separate entry in relayTransactions, with relayAttempt incrementing from 1.

Check relay transaction details

Each sponsorship request can have one or more relay transaction records. Retrieve a specific relay transaction by its UUID to see low-level details including the on-chain transaction hash, submission time, confirmation time, and any failure reason.
curl https://api.arcpass.example/relay/f9e8d7c6-5432-10ba-9876-543210fedcba
{
  "id": "f9e8d7c6-5432-10ba-9876-543210fedcba",
  "sponsorshipRequestId": "e7f1c2d3-4567-89ab-cdef-012345678901",
  "status": "confirmed",
  "relayAttempt": 1,
  "transactionHash": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b",
  "submittedAt": "2025-05-10T12:00:10.000Z",
  "confirmedAt": "2025-05-10T12:00:22.000Z",
  "failedAt": null,
  "failureReason": null
}
The relay transaction status field follows its own lifecycle: queuedsubmittedconfirmed (or failed).

Look up by transaction hash

If you already have the on-chain transaction hash, you can find the associated sponsorship request directly.
curl "https://api.arcpass.example/sponsorship/tx/0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b"
The response shape is the same as the relay transaction object above.

Polling guidance

Poll /sponsorship/:id every few seconds until the status reaches a terminal state (completed, rejected, or failed). Most requests complete within 30 seconds under normal network conditions. If the status remains pending or approved for more than a few minutes, check the dashboard for service health.