Base URL
Request format
Every request that includes a body must set theContent-Type header:
Response format
Successful responses return JSON with HTTP status codes in the2xx range. The response body contains the resource directly at the top level — there is no data wrapper.
Correlation IDs
Every response includes anX-Correlation-Id header. Record this value when filing bug reports or tracing issues — it identifies the exact request in server-side logs.
Error format
Errors return a JSON body with two fields:| Code | Meaning |
|---|---|
400 | Bad request — malformed input or invalid field value |
404 | Resource not found |
409 | Conflict — duplicate or already-existing resource |
422 | Unprocessable — wallet is blocked or ineligible |
429 | Rate limit exceeded |
500 | Internal server error |
Rate limiting
ArcPass enforces rate limits per IP address and per wallet address. When a limit is exceeded, the API returns429 Too Many Requests. See Rate Limits for configured thresholds and reset windows.
Available endpoints
Wallets
| Method | Path | Description |
|---|---|---|
POST | /wallets/register | Register a wallet address |
GET | /wallets/:address | Look up a wallet by address |
GET | /wallets/:address/history | Paginated sponsorship history for a wallet |
Sponsorship
| Method | Path | Description |
|---|---|---|
POST | /sponsorship/request | Submit a wallet for gas sponsorship |
GET | /sponsorship/:id | Get a sponsorship request by UUID |
GET | /sponsorship/tx/:hash | Look up a sponsorship request by on-chain tx hash |
Relay
| Method | Path | Description |
|---|---|---|
GET | /relay/:id | Retrieve relay transaction details by UUID |
Health
| Method | Path | Description |
|---|---|---|
GET | /health | API health check and uptime |