> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcpass.vibepas.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /wallets/:address/history — Sponsorship History

> GET /wallets/:address/history — Paginated list of sponsorship requests for a wallet. Supports cursor-based pagination with up to 100 results per page.

Use this endpoint to retrieve the full sponsorship history for a registered wallet address. Results are returned in pages using cursor-based pagination. Each page includes a cursor value you can pass to the next request to retrieve the following page.

## Request

**`GET /wallets/:address/history`**

<ParamField path="address" type="string" required>
  The Ethereum address whose history you want to retrieve. Must match `^0x[0-9a-fA-F]{40}$` and be at most 42 characters.
</ParamField>

<ParamField query="cursor" type="string">
  UUID of the last item from the previous page. Omit this parameter to start from the beginning of the history. Pass the cursor value returned in the previous response to fetch the next page.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Number of results to return per page. Accepts integers between `1` and `100` inclusive. Defaults to `50` if not provided.
</ParamField>

## Response

The response is a paginated object containing a list of sponsorship request records and a cursor for fetching the next page.

<ResponseField name="requests" type="array" required>
  Array of sponsorship request records for this wallet. Each record includes the following fields:

  <Expandable title="Sponsorship request fields">
    <ResponseField name="id" type="string">UUID of the sponsorship request.</ResponseField>
    <ResponseField name="walletId" type="string">UUID of the wallet that submitted this request.</ResponseField>
    <ResponseField name="status" type="string">Current lifecycle status: `pending`, `approved`, `relayed`, `completed`, `rejected`, or `failed`.</ResponseField>
    <ResponseField name="requestedAt" type="string">ISO 8601 timestamp of when the request was created.</ResponseField>
    <ResponseField name="approvedAt" type="string">ISO 8601 timestamp when the request was approved, or `null`.</ResponseField>
    <ResponseField name="completedAt" type="string">ISO 8601 timestamp when the sponsorship completed, or `null`.</ResponseField>
    <ResponseField name="failedAt" type="string">ISO 8601 timestamp when the request failed, or `null`.</ResponseField>
    <ResponseField name="rejectedAt" type="string">ISO 8601 timestamp when the request was rejected, or `null`.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="nextCursor" type="string">
  UUID cursor to pass as the `cursor` query parameter to fetch the next page of results. `null` if there are no more pages.
</ResponseField>

<Note>
  If the wallet address is not registered in ArcPass, this endpoint returns `404 Not Found`. Register the wallet first using `POST /wallets/register` before querying its history.
</Note>

## Errors

| Status | Cause                                                                    |
| ------ | ------------------------------------------------------------------------ |
| `400`  | The `:address` path parameter does not match the required hex pattern.   |
| `404`  | No wallet with this address is registered in ArcPass.                    |
| `422`  | The `cursor` is not a valid UUID, or `limit` is outside the 1–100 range. |

```bash theme={null}
curl --request GET \
  --url "https://api.arcpass.io/wallets/0xAbC1234567890dEF1234567890aBcDeF12345678/history?limit=10&cursor=3f2a1c8e-9b4d-4e7f-a1d2-0c6f8e3b5a9d"
```

```json 200 theme={null}
{
  "requests": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "walletId": "3f2a1c8e-9b4d-4e7f-a1d2-0c6f8e3b5a9d",
      "status": "completed",
      "requestedAt": "2025-05-11T10:30:00.000Z",
      "approvedAt": "2025-05-11T10:30:08.000Z",
      "completedAt": "2025-05-11T10:30:22.000Z",
      "failedAt": null,
      "rejectedAt": null
    }
  ],
  "nextCursor": null
}
```
