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

# Settlement chain

> Read and set the chain every new deposit settles to, as USDC, at your user's own address.

See [Settlement](/wallet-api/settlement) for what this does. This endpoint reads and sets the one chain your account settles to.

## Endpoint

```text theme={null}
GET https://merchant.minisend.xyz/api/v1/settlement
PUT https://merchant.minisend.xyz/api/v1/settlement
```

```text theme={null}
Authorization: Bearer wsk_live_your_key_here
```

`GET` needs `wallets:read`. `PUT` needs `wallets:write`.

## Reading your setting

```bash theme={null}
curl https://merchant.minisend.xyz/api/v1/settlement \
  -H "Authorization: Bearer wsk_live_your_key_here"
```

```json theme={null}
{
  "settlement": {
    "chain": "MATIC",
    "chains": ["BASE", "MATIC", "ARB", "OP", "ETH", "AVAX", "ARC"],
    "available": true,
    "applies_to": "new_deposits"
  }
}
```

<ResponseField name="chain" type="string">
  Your settlement chain, or `null` if you haven't set one (settlement is off).
</ResponseField>

<ResponseField name="chains" type="array" required>
  The chains your plan can settle to.
</ResponseField>

<ResponseField name="available" type="boolean" required>
  Whether settlement can be turned on for your account at all right now. `false` means `chain` can't be changed yet — a `PUT` is refused with `409` until this is `true`.
</ResponseField>

<ResponseField name="applies_to" type="string" required>
  Always `"new_deposits"`. Changing `chain` never redirects a settlement already under way.
</ResponseField>

## Changing your setting

<ParamField body="chain" type="string" required>
  One of the values in `chains`, or `null` to switch settlement off.
</ParamField>

```bash theme={null}
curl -X PUT https://merchant.minisend.xyz/api/v1/settlement \
  -H "Authorization: Bearer wsk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"chain": "MATIC"}'
```

Returns the same shape as the `GET` above, under `settlement`. Send `{"chain": null}` to switch it off.

<Note>
  The free plan settles on Base only.
</Note>

## Errors

| Status | Meaning |
| - | - |
| `400` | `chain` missing, not a string, or not one of `chains` |
| `401` | Missing or invalid API key |
| `409` | Settlement isn't available on your account yet |
| `503` | Could not read or write your setting right now. Retry |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.