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

# Off-Chain Claim

> Record off-chain (e.g. centralized-exchange) claims for a wallet's allocations, proven by a signed message.

Record that one or more allocations were claimed **off-chain** — for example
through a centralized exchange — rather than on-chain through Magna. Ownership of
the wallet is proven with a signed message.

**Route:** `POST /api/external/v1/allocations/off-chain-claim`

## Headers

| Header              | Required | Description                |
| ------------------- | -------- | -------------------------- |
| `Content-Type`      | Yes      | Must be `application/json` |
| `x-magna-api-token` | Yes      | Your Magna API token       |

## Body parameters

| Field           | Type          | Required | Description                                             |
| --------------- | ------------- | -------- | ------------------------------------------------------- |
| `tokenId`       | string (uuid) | Yes      | The token whose allocations are being claimed           |
| `walletAddress` | string        | Yes      | The claiming wallet address                             |
| `message`       | string        | Yes      | Base64-encoded JSON message that was signed (see below) |
| `signature`     | string        | Yes      | Signature of `message` produced by `walletAddress`      |

The decoded `message` is a JSON object:

| Field                   | Type      | Description                                                 |
| ----------------------- | --------- | ----------------------------------------------------------- |
| `cexId`                 | string    | Identifier of the exchange / custodian processing the claim |
| `externalWalletAddress` | string    | The wallet address on the external platform                 |
| `externalUserId`        | string    | The user identifier on the external platform                |
| `distributionIds`       | string\[] | Distribution IDs being claimed off-chain                    |

## Request example

```sh theme={null}
curl -X POST https://app.magna.so/api/external/v1/allocations/off-chain-claim \
-H 'Content-Type: application/json' \
-H 'x-magna-api-token: YOUR_API_KEY' \
-d '{
  "tokenId": "b3f1c0d2-1111-2222-3333-444455556666",
  "walletAddress": "0xAbC...123",
  "message": "<base64-encoded-json>",
  "signature": "0x<signature>"
}'
```

## Response example

```json theme={null}
{
  "processed": true
}
```
