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

# List Onchain Withdrawal Options

> Fetch enabled on-chain withdrawal rails grouped by asset

## Overview

Returns enabled account-level on-chain withdrawal rails grouped by asset. Use this endpoint before initiating a withdrawal to choose the asset, blockchain, and understand current withdrawal fees.

Requires **Read** scope.

## Authentication

<ParamField header="X-Api-Key" type="string" required>
  Your API key with Read scope
</ParamField>

## Request Example

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url https://api.pro.daya.co/public/v1/withdrawals/onchain/options \
    --header 'X-Api-Key: daya_sk_YOUR_API_KEY'
  ```
</CodeGroup>

## Response

<ResponseField name="data.assets" type="array" required>
  Withdrawal rails grouped by asset.

  <Expandable title="asset fields">
    <ResponseField name="asset" type="string">Partner-facing asset symbol, such as `USDT`</ResponseField>
    <ResponseField name="display_name" type="string">Human-readable asset name</ResponseField>
    <ResponseField name="icon" type="string">Asset icon path or URL</ResponseField>
    <ResponseField name="decimals" type="integer">Default asset precision</ResponseField>
    <ResponseField name="chains" type="array">Enabled withdrawal chains for this asset</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data.assets[].chains" type="array" required>
  Enabled chains for the asset.

  <Expandable title="chain fields">
    <ResponseField name="blockchain" type="string">Canonical chain key, such as `polygon` or `tron`</ResponseField>
    <ResponseField name="blockchain_name" type="string">Human-readable chain name</ResponseField>
    <ResponseField name="icon" type="string">Chain icon path or URL</ResponseField>
    <ResponseField name="contract_address" type="string">Token contract address when the chain uses one</ResponseField>
    <ResponseField name="decimals" type="integer">Token precision on this chain</ResponseField>
    <ResponseField name="fee_amount" type="string">Current withdrawal fee amount for this rail</ResponseField>
    <ResponseField name="fee_asset" type="string">Asset used to charge the withdrawal fee</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "success": true,
    "message": "Onchain withdrawal options retrieved successfully",
    "data": {
      "assets": [
        {
          "asset": "USDT",
          "display_name": "Tether USD",
          "icon": "/assets/v1/logos/stablecoins/usdt.svg",
          "decimals": 6,
          "chains": [
            {
              "blockchain": "polygon",
              "blockchain_name": "Polygon",
              "icon": "/assets/v1/logos/chains/polygon.svg",
              "contract_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
              "decimals": 6,
              "fee_amount": "0.75",
              "fee_asset": "USDT"
            }
          ]
        }
      ]
    }
  }
  ```
</ResponseExample>

## Error Responses

| Code  | Meaning                                |
| ----- | -------------------------------------- |
| `401` | Missing or invalid API key             |
| `403` | Missing Read scope                     |
| `503` | Wallet service temporarily unavailable |

## Notes

Only enabled rails are returned. If an asset or chain is missing, do not attempt to withdraw on that rail.
