> This page is for API Reference.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://okx-demo.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://okx-demo.ferndocs.com/_mcp/server.

# Get currencies

GET https://www.okx.com/api/v5/asset/currencies

Retrieve a list of all currencies available which are related to the current account's KYC entity, including deposit/withdrawal availability, fees, and chain information.

Reference: https://okx-demo.ferndocs.com/api/api-reference/funding/get-currencies

## Authentication

- `OK-ACCESS-KEY` header (required) — Your API key.
- `OK-ACCESS-SIGN` header (required) — Base64-encoded HMAC-SHA256 signature of the prehash string.
- `OK-ACCESS-TIMESTAMP` header (required) — ISO 8601 UTC timestamp, e.g. 2020-12-08T09:08:57.715Z.
- `OK-ACCESS-PASSPHRASE` header (required) — The passphrase you set when creating the API key.

## Request

### Query parameters

- `ccy` (string, optional) — Single currency or multiple currencies (no more than 20) separated with comma, e.g. BTC or BTC,ETH.

## Response

### 200

Successful response

- `code` (string, optional) — Result code. `0` means success; any other value is an error code.
- `msg` (string, optional) — Error message. Empty on success.
- `data` (list of ApiV5AssetCurrenciesGetResponsesContentApplicationJsonSchemaDataItems, optional)

## Types

### ApiV5AssetCurrenciesGetResponsesContentApplicationJsonSchemaDataItems

- `ccy` (string, optional) — Currency code, e.g. BTC.
- `name` (string, optional) — Name of currency. There is no related name when it is not shown.
- `logoLink` (string, optional) — Logo link of currency.
- `chain` (string, optional) — Chain name, e.g. USDT-ERC20, USDT-TRC20.
- `ctAddr` (string, optional) — Contract address.
- `canDep` (boolean, optional) — Availability to deposit from chain.
- `canWd` (boolean, optional) — Availability to withdraw to chain.
- `canInternal` (boolean, optional) — Availability to internal transfer.
- `depEstOpenTime` (string, optional) — Estimated opening time for deposit, Unix timestamp in milliseconds.
- `wdEstOpenTime` (string, optional) — Estimated opening time for withdrawal, Unix timestamp in milliseconds.
- `minDep` (string, optional) — Minimum deposit amount of the currency in a single transaction.
- `minWd` (string, optional) — Minimum withdrawal amount of the currency in a single transaction.
- `minInternal` (string, optional) — Minimum internal transfer amount of the currency in a single transaction.
- `maxWd` (string, optional) — Maximum amount of on-chain withdrawal in a single transaction.
- `wdTickSz` (string, optional) — Withdrawal precision, indicating the number of decimal places.
- `wdQuota` (string, optional) — Withdrawal limit in the past 24 hours (in USD).
- `usedWdQuota` (string, optional) — Amount of withdrawal used in the past 24 hours (in USD).
- `fee` (string, optional) — Fixed withdrawal fee.
- `burningFeeRate` (string, optional) — Burning fee rate, e.g. 0.05 means 5%.
- `mainNet` (boolean, optional) — Whether it is the main network.
- `needTag` (boolean, optional) — Whether tag/memo information is required for withdrawal.
- `minDepArrivalConfirm` (string, optional) — Minimum number of blockchain confirmations to acquire balance available for deposit.
- `minWdUnlockConfirm` (string, optional) — Minimum number of blockchain confirmations to unlock withdrawal.
- `depQuotaFixed` (string, optional) — Fixed deposit limit (in USD). Return empty string if there is no deposit limit.
- `usedDepQuotaFixed` (string, optional) — Used amount of fixed deposit quota (in USD).
- `depQuoteDailyLayer2` (string, optional) — Layer2 network daily deposit limit.

## Examples

**Response**

```json
{
  "code": "0",
  "msg": "",
  "data": [
    {
      "ccy": "BTC",
      "name": "Bitcoin",
      "logoLink": "https://static.coinall.ltd/cdn/oksupport/asset/currency/icon/btc20230419112752.png",
      "chain": "BTC-Bitcoin",
      "ctAddr": "",
      "canDep": true,
      "canWd": true,
      "canInternal": true,
      "depEstOpenTime": "",
      "wdEstOpenTime": "",
      "minDep": "0.0005",
      "minWd": "0.0005",
      "minInternal": "0.0001",
      "maxWd": "500",
      "wdTickSz": "8",
      "wdQuota": "10000000",
      "usedWdQuota": "0",
      "fee": "0.00005",
      "burningFeeRate": "",
      "mainNet": true,
      "needTag": false,
      "minDepArrivalConfirm": "1",
      "minWdUnlockConfirm": "2",
      "depQuotaFixed": "",
      "usedDepQuotaFixed": "",
      "depQuoteDailyLayer2": "",
      "maxFee": "0.00005",
      "maxFeeForCtAddr": "",
      "minFee": "0.00005",
      "minFeeForCtAddr": ""
    }
  ]
}
```

**SDK Code**

```python funding_getCurrencies_example
import requests

url = "https://www.okx.com/api/v5/asset/currencies"

headers = {"OK-ACCESS-KEY": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript funding_getCurrencies_example
const url = 'https://www.okx.com/api/v5/asset/currencies';
const options = {method: 'GET', headers: {'OK-ACCESS-KEY': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go funding_getCurrencies_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://www.okx.com/api/v5/asset/currencies"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("OK-ACCESS-KEY", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby funding_getCurrencies_example
require 'uri'
require 'net/http'

url = URI("https://www.okx.com/api/v5/asset/currencies")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["OK-ACCESS-KEY"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java funding_getCurrencies_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://www.okx.com/api/v5/asset/currencies")
  .header("OK-ACCESS-KEY", "<apiKey>")
  .asString();
```

```php funding_getCurrencies_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://www.okx.com/api/v5/asset/currencies', [
  'headers' => [
    'OK-ACCESS-KEY' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp funding_getCurrencies_example
using RestSharp;

var client = new RestClient("https://www.okx.com/api/v5/asset/currencies");
var request = new RestRequest(Method.GET);
request.AddHeader("OK-ACCESS-KEY", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift funding_getCurrencies_example
import Foundation

let headers = ["OK-ACCESS-KEY": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://www.okx.com/api/v5/asset/currencies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```