# AIO Exchange API

Ultimate cryptocurrency connectivity

AIO Exchange offers connectivity to data from over 16 different exchanges. The API supports aggregated and batch calls, allowing data to be queried simultaneously from multiple exchanges. All exchange data (regardless of the source) is provided in our AIO types allowing API connectors to implement just one call for all exchanges. This will also allow to increase our list of connected exchanges without requiring new API calls.

URL: <mark style="color:orange;">**<https://api.aio.exchange>**</mark>

Version: <mark style="color:orange;">**2.0.0**</mark>

Last Updated: <mark style="color:orange;">**02/22/2025**</mark>

**Request More Access**

AIO Exchange API has 140+ different API calls and endpoints. We will be adding more publicly available endpoints as we progress through our alpha and beta testing, for now we are providing some of our most aggregated calls to raise publicity through the impressive abstraction of AIO Exchange.  If you'd like to gain early access to the world's most powerful cryptocurrency aggregation API, contact us directly at **<support@aio.exchange>** or via **<https://aio.exchange/contact>.** We'd love you to become a part of our future.


# Plans And Pricing

<table><thead><tr><th width="159">Plan</th><th>Endpoints</th><th>Pricing</th></tr></thead><tbody><tr><td>Basic</td><td></td><td>Free</td></tr><tr><td>Growth</td><td></td><td>$25</td></tr><tr><td>Scale</td><td></td><td>$75</td></tr><tr><td>Professional</td><td></td><td>$250</td></tr></tbody></table>


# Introduction

## Response Format

The default response format for the API:

```json
{
    "data":[],
    "success":true,
    "error":null,
    "timestamp":1678875798,
    "requestId": "abcd1234"
}
```

| Name      | Type         | Description                                                 |
| --------- | ------------ | ----------------------------------------------------------- |
| response  | object       | Contains the result of the API request if there is no error |
| success   | bool         | Whether the request has been successful                     |
| error     | Error Object | contains error object, if any errors                        |
| timestamp | long         | response time in unix time milliseconds                     |
| requestId | string       | reference id related to the current request                 |

Data returned from a specific endpoint will be contained in the response object.

## Error Format

The error object will contain details of the error recorded with error id for the reference.

```
{
      "isError":true,
      "errorId":"3d9fc90d-30c2-4f63-bd40-c0a18c3ab4df",
      "shortErrorMessage":"Error134",
      "message":"Invalid Payload."
   }
```

| Name              | Type   | Description                              |
| ----------------- | ------ | ---------------------------------------- |
| errorId           | string | recorded error id for reference          |
| isError           | bool   | true, if reported error                  |
| shortErrorMessage | string | Error code referencing the type of error |
| message           | string | detail description of the error reported |


# Authentication

Authentication must be included in all Trade and POST requests made to the AIO Exchange API. The request header must include X-AIO-Auth-Type and X-AIO-Sign.

## **Terms And Definitions**

*<mark style="color:orange;">**X-AIO-Auth-Type**</mark>*

This is a authorization/security scheme which is defined by AIO Exchange used to process the request, the scheme used is "AIO-HMAC".

*<mark style="color:orange;">**X-AIO-Sign**</mark>*

Any request must contain a singed header which is generated using your secret key, uri, request method, nonce, timestamp(UNIX timestamp in milliseconds ) and encoded payload combined overall with apikey, singed base64 string, nonce and timestamp.

&#x20;*<mark style="color:orange;">**API-Key**</mark>*

This  key  is passed along with the signed data which is supplied to you when you register with AIO Exchange.&#x20;

*<mark style="color:orange;">**API-Secret-Key**</mark>*

This key is used to generate the signed string and it is supplied to you when you register with AIO Exchange.&#x20;

*<mark style="color:orange;">**Nonce**</mark>*

This is a unique string associated to each request. This can be a Guid or a client request id.

*<mark style="color:orange;">**HTTP Request Method**</mark>*

The HTTP request method (GET, POST, PUT, DELETE, etc.), used to make a request must be included in the signed string.&#x20;

*Note: These methods are case sensitive.*

*<mark style="color:orange;">**Request URI**</mark>*

This is the absolute URI where the request are made and is included in the signed string.

*<mark style="color:orange;">**Payload MD5 Base64 String**</mark>*

Any payload sent to the API must be hashed using MD5 and parsed as a Base 64 string before being used for signing. This computed payload should then be passed into the signature string.

*<mark style="color:orange;">**Request Timestamp UTC**</mark>*

This is the UNIX timestamp (UTC) and the count starts at the Unix Epoch on January 1st, 1970 at UTC, the unix timestamp is merely the number of seconds between a particular date and the Unix Epoch. The Max Age of a request is allowed is 180 seconds.&#x20;

## **Signing a Request**

All the request has to be signed with header as *<mark style="color:orange;">**X-AIO-Sign**</mark>* containing signature generated.&#x20;

HMAC-SHA256 Encryption of

&#x20;( API-Key:HTTPMethod:RequestURI:RequestTimeStamp:Nonce:PayLoadBase64String )

*<mark style="color:orange;">**Code Example : C#**</mark>*

{% code lineNumbers="true" %}

```markup

using System;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

  private readonly string APPId = "Your-API-KEY";
  private readonly string APIKey = "Your-Secret-API-KEY";
  private static void Main(string[] args)
    {
        
        string fullUrl = baseAdress + "api/v2/version";
        HttpClient client = new HttpClient();
        HttpResponseMessage responseMessage = null;
        string aioreqUri = System.Web.HttpUtility.UrlEncode(fullUrl);
        string aioreqHttpMethod = "GET";
        DateTime epochTimeStart = new DateTime(1970, 01, 01, 0, 0, 0, 0, DateTimeKind.Utc);
        TimeSpan timeSpanToUNIX = DateTime.UtcNow - epochTimeStart;

        string aioreqTimeStamp = Convert.ToUInt64(timeSpanToUNIX.TotalSeconds).ToString();
        string nonce =   Guid.NewGuid().ToString("N");


        bool isPayLoad = false;
        PayLoadModel objPayLoadModel = new PayLoadModel()
        {
            Value = "AIO.Exchange C# example!"
        };

        StringContent payLoadStringContent = new StringContent(JsonConvert.SerializeObject(objPayLoadModel), Encoding.UTF8, "application/json");



        byte[] aioreqContentHash = null;
        string aioreqContentBase64String = string.Empty;

        if (isPayLoad && !string.IsNullOrEmpty(await payLoadStringContent.ReadAsStringAsync()))
        {
            string contentString = await payLoadStringContent.ReadAsStringAsync();
            byte[] content = Encoding.UTF8.GetBytes(contentString);

            using (MD5 md5 = MD5.Create())
            {
                aioreqContentHash = md5.ComputeHash(content);
            }

            aioreqContentBase64String = Convert.ToBase64String(aioreqContentHash);
        }

        string prepareDataForsignature = $"{APPId}{aioreqHttpMethod}{aioreqUri}{aioreqTimeStamp}{nonce}{aioreqContentBase64String}";
        byte[] secretKeyToByteArray = Convert.FromBase64String(APIKey);
        byte[] signToBytes = Encoding.UTF8.GetBytes(prepareDataForsignature);

        using (HMACSHA256 hmac = new HMACSHA256(secretKeyToByteArray))
        {
            byte[] signatureBytes = hmac.ComputeHash(signToBytes);
            string aioreqSignedBase64String = Convert.ToBase64String(signatureBytes);

            client.DefaultRequestHeaders.Add("x-AIO-Auth-Type", "AIO-HMAC");
            client.DefaultRequestHeaders.Add("x-AIO-Sign", $"{APPId}:{aioreqSignedBase64String}:{nonce}:{aioreqTimeStamp}");
        }
                  
        responseMessage = await client.GetAsync(fullUrl);

        string responseToString = await responseMessage.Content.ReadAsStringAsync();

                  
  } 
```

{% endcode %}


# Market Data

## Market Data Overview&#x20;

## Gets an overview of market data for a given base and target.

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/marketdata/quote/{baseTokenId}-{targetTokenId}`&#x20;

**`*`Recommended**

&#x20;                                                            **OR**

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/marketdata/quote/{baseSymbol}-{targetSymbol}`

This is a public endpoint. Provides the best bid, the best ask, and live market information. &#x20;

#### Path Parameters

| Name                         | Type   | Description                                              |
| ---------------------------- | ------ | -------------------------------------------------------- |
| baseSymbol                   | String | Ticker Pair of the base currency e.g. for Bitcon: BTC    |
| targetSymbol                 | String | Ticker Pair of the target currency e.g. for Tether: USDT |
| <p><br>baseTokenId<br></p>   | Int    | Token ID of the base currency e.g. for Bitcoin: 1        |
| <p><br>targetTokenId<br></p> | Int    | Token ID of the target currency e.g. for Tether: 825     |

{% tabs %}
{% tab title="200: OK /api/v1/marketdata/btc-usdt" %}
{% code overflow="wrap" %}

```json
// GET  Response

{
  "data": {
    "aggregatedVolume": 116132.8442178152, // sum of volume from connections 
    "high": 19176.3, // overall high 24h
    "low": 16574.4, // overall low 24h
    "baseSymbol": "BTC",
    "targetSymbol": "USDT",
    "baseTokenId": 1, //Unique AIO ID for token
    "targetTokenId": 825,
    "bestBid": {
      "exchangeName": "OKCOIN",
      "price": 16692.6,
      "size": 0.0056
    },
    "bestAsk": {
      "exchangeName": "BITSTAMP",
      "price": 16713,
      "size": 0
    },
    "dailyChange": 84.59939, //24h
    "dailyPercentageChange": 0.5081060598 //24h
  },
  "success": true,
  "error": null,
  "timestamp": 1668931096371,
  "requestId":"1234"
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## To Complete: Retrieves a snapshot of tickers across all exchanges.

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/marketdata/snapshot/{baseTokenId}-{targetTokenId}`

Get's the last stored data from each exchange ticker

#### Path Parameters

| Name          | Type | Description                                          |
| ------------- | ---- | ---------------------------------------------------- |
| baseTokenId   | Int  | Token ID of the base currency e.g. for Bitcon: 1     |
| targetTokenId | Int  | Token ID of the target currency e.g. for Tether: 825 |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  "response":
     data:[ {
        "exchangeName": "BINANCE",
        "bestAsk": 21934.50,
        "bestAskSize": 14.291,
        "bestBid": 21931.30,
        "bestBidSize": 12.21,
        "lastPrice": 21941.30,
        "volume":559357.12
      }, {
        "exchangeName": "BITFINEX",
        "bestAsk": 21930.20,
        "bestAskSize": 7.241,
        "bestBid": 21927.10,
        "bestBidSize": 1.78,
        "lastPrice": 21941.30,
        "volume":11555
      }, {
        "exchangeName": "BITMART",
        "bestAsk": 21934.50,
        "bestAskSize": 4.291,
        "bestBid": 21931.30,
        "bestBidSize": 1.2,
        "lastPrice": 21941.30,
        "volume":559357
      }, {
        "exchangeName": "BITSTAMP",
        "bestAsk": 21934.50,
        "bestAskSize": 4.291,
        "bestBid": 21931.30,
        "bestBidSize": 1.2,
        "lastPrice": 21941.30,
        "volume":559357
      },
      ...
      ],
      
      "maxCutOff":5000 // this is the number of milliseconds before we stop returning data for that exchange
      
     },   
  "success": true,
  "error": null,
  "timestamp": 1668931096371,
  "requestId":"1234"

}
```

{% endtab %}
{% endtabs %}

## Retrieves information about a specific token, and relevant metadata

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/marketdata/tokeninformation/{symbol}`

#### Path Parameters

| Name                                     | Type   | Description                                        |
| ---------------------------------------- | ------ | -------------------------------------------------- |
| symbol<mark style="color:red;">\*</mark> | String | Ticker symbol of the currency e.g. for Bitcon: BTC |

{% tabs %}
{% tab title="200: OK " %}

<pre class="language-json"><code class="lang-json">{
    "data":
    [{
        "tokenId":132,
        "coinId":781,
        "name":"Cardano",
        "ticker":"ADA",
        "description":"Cardano (ADA) is a cryptocurrency launched in 2017. Cardano has a current supply of 35,538,184,453.812 with 34,670,947,960.302 in circulation. The last known price of Cardano is 0.3296321 USD and is down -7.69 over the last 24 hours. It is currently trading on 661 active market(s) with $316,529,610.18 traded over the last 24 hours. More information can be found at https://www.cardano.org.",
        "logoURL":"https://s2.coinmarketcap.com/static/img/coins/64x64/2010.png",
        "website":"https://www.cardano.org",
<strong>        "rank":7,
</strong>        "marketCap":11424034959.8761980000,
        "dilutedMarketCap":14827444977.3600000000,
        "aioConnectedExchanges":11
    }],
  "success": true,
  "error": null,
  "timestamp": 1668931096371,
  "requestId":"1234"
}
</code></pre>

{% endtab %}
{% endtabs %}


# Account

## Account Data Overview&#x20;

## Gets deposit address  for given token

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/account/depositaddress/{tokenId}`

This is a private endpoint. Provides the deposit address for all the available networks for given symbol&#x20;

#### Path Parameters

| Name                                      | Type | Description                                 |
| ----------------------------------------- | ---- | ------------------------------------------- |
| tokenId<mark style="color:red;">\*</mark> | Int  | Token ID of the currency e.g. for Bitcon: 1 |

{% tabs %}
{% tab title="200: OK /api/v1/account/usdt" %}
{% code overflow="wrap" %}

```json
// GET  Response

{
  "data": [
    {
      "symbol": "USDT",
      "memo": null,
      "network": "AVAXC",
      "networkName": "Avalanche C Chain",
      "contractAddress": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
      "depositFee": 0.000000,
      "withdrawFee": 0.036242,
      "minDeposit": 0.036242,
      "minWithdraw": 0.036242,
      "walletAddress": "0xD909Eb85f8382420798117165Ce1c1c200E5b65a",
      "isAvailable": true,
      "name": "Tether"
    },
    {
      "symbol": "USDT",
      "memo": null,
      "network": "BEP20",
      "networkName": "Binance Smart Chain",
      "contractAddress": "0x55d398326f99059ff775485246999027b3197955",
      "depositFee": 0.000000,
      "withdrawFee": 0.732676,
      "minDeposit": 0.732676,
      "minWithdraw": 0.732676,
      "walletAddress": "0x7CE90D7B1B85Aa3819F9AED34F8498a115A85B4f",
      "isAvailable": true,
      "name": "Tether"
    },
    {
      "symbol": "USDT",
      "memo": null,
      "network": "ERC20",
      "networkName": "Ethereum",
      "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
      "depositFee": 0.000000,
      "withdrawFee": 1.743782,
      "minDeposit": 1.743782,
      "minWithdraw": 1.743782,
      "walletAddress": "0x28943786289171336Caa987c0aC7d07AcFb8E913",
      "isAvailable": true,
      "name": "Tether USDt"
    }
  ],
  "success": true,
  "timestamp": 1707726849953,
  "requestId": "bceba251-249b-4e21-b9e7-70549d563419",
  "message": "",
  "error": null
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

*


# Trade

*<mark style="color:red;">Note: All trading calls need to be authorized against your</mark>* [*<mark style="color:red;">**AIO Exchange**</mark>*](https://aio.exchange/) *<mark style="color:red;">account before processing any request, refer to the Authentication tab for more details.</mark>*

## Request A Quote&#x20;

## Queries each exchange and returns the best quote corresponding to parameters.

<mark style="color:green;">`POST`</mark> `https://api.aio.exchange/api/v2/trade/requestquote`

Each exchange orderbook is queried and blockchains analyzed according to parameters.

#### Request Body

| Name                                            | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| side<mark style="color:red;">\*</mark>          | String    | "buy" or "sell"                                                                                                                                                                                                                                                                                                                                                                                                        |
| executionType<mark style="color:red;">\*</mark> | Integer   | <p>1 = Best Execution</p><p>2 = Quickest Best Execution</p><p>3 = Instant Settlement</p>                                                                                                                                                                                                                                                                                                                               |
| orderType<mark style="color:red;">\*</mark>     | String    | "Market", "Limit" or "Stop"                                                                                                                                                                                                                                                                                                                                                                                            |
| baseAmount                                      | Decimal   | <p>This refers to the (base) amount in terms of the first part of the ticker pair. </p><p></p><p><em>i.e. if BTC-USDT ({BaseSymbol}-{TargetSymbol} is requested, the baseAmount refers to the amount in BTC.</em></p><p></p><p>This parameter can be used for both "buy" and "sell" orders.</p><p></p><p><mark style="color:orange;">\*If this parameter is not provided, targetAmount is required.</mark> </p><p></p> |
| baseTokenId                                     | Integer   | <p>Unique Token Identifier </p><p></p><p><mark style="color:orange;">\*If this parameter is not provided, baseTokenSymbol is required.</mark></p>                                                                                                                                                                                                                                                                      |
| targetTokenId                                   | Integer   | <p>Unique Token Identifier </p><p></p><p><mark style="color:orange;">\*If this parameter is not provided, targetTokenSymbol is required.</mark></p>                                                                                                                                                                                                                                                                    |
| sources                                         | String\[] | <p>Array of exchangeIds to filter quotes. </p><p>Available value include</p><p></p><p><em>\["BINANCE", "BITFINEX", "BITMART", "BITMART", "BITSTAMP", "BITTREX", "CEX", "COINBASE", "COINMETRO", "CRYPTOCOM", "GATE", "HUOBI", "KRAKEN", "KUCOIN", "OKX", "OKCOIN", "PROBIT"]</em> </p>                                                                                                                                 |
| targetAmount                                    | Decimal   | <p>This refers to the (base) amount in terms of the first part of the ticker pair. </p><p></p><p><em>i.e. if BTC-USDT ({BaseSymbol}-{TargetSymbol} is requested, the targetAmount refers to the amount in USDT.</em></p><p></p><p>This parameter can be used for both "buy" and "sell" orders.</p><p></p><p><mark style="color:orange;">\*If this parameter is not provided, baseAmount is required.</mark></p>        |
| targetTokenSymbol                               | String    | <p>ticker of quote currency (e.g. "BTC")</p><p></p><p><mark style="color:orange;">\*If this parameter is not provided, targetCoinId is required.</mark></p>                                                                                                                                                                                                                                                            |
| baseTokenSymbol                                 | String    | <p>ticker of base currency (e.g. "BTC")</p><p></p><p><mark style="color:orange;">\*If this parameter is not provided, baseCoinId is required.</mark></p>                                                                                                                                                                                                                                                               |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
   "data":{
      "enforceMasterBalance":true,
      "id":1459,
      "quoteId":"AIOQ908536F9207349BA99C66",
      "side":"SELL",
      "executionType":1,
      "orderType":"MARKET",
      "status":"QUOTED",
      "baseAmount":1.27914,
      "targetAmount":25.0,
      "rate":20.17,
      "baseTokenSymbol":"SOL",
      "targetTokenSymbol":"USDT", 
      "baseTokenId":3956,
      "targetTokenId":4276,
      "makerFee":0.0,
      "takerFee":0.0,
      "aioFee":5.0,
      "totalFee":1.8357,
      "chain":"SPL-SPL",
      "exchange":"BINANCE",
      "estSettlementTimeSecs":146,
      "expiryTime":"1/1/1900 12:00:00 AM",
      "dateCreated":"4/9/2023 11:54:55 AM",
      "dateModified":"4/9/2023 11:54:58 AM",
      "sources":null
   },
   "success":true,
   "timestamp":1681041295072,
   "requestId":"511203ff-3999-4f3d-ac1c-045d02cbd855",
   "message":"",
   "error":null
}
```

{% endtab %}
{% endtabs %}

## Accept A Quote&#x20;

## Accept Quote (Place Order)

<mark style="color:green;">`POST`</mark> `https://api.aio.exchange/api/v2/trade/acceptquote`

#### Request Body

| Name                                      | Type   | Description                                          |
| ----------------------------------------- | ------ | ---------------------------------------------------- |
| quoteId<mark style="color:red;">\*</mark> | String | Id Of The Quote To Accept                            |
| MaxTimeout                                | Int    | <p>Default: 20 seconds</p><p>Maximum: 60 seconds</p> |

{% tabs %}
{% tab title="200: OK " %}

```
{
   "data":{
      "orderId":"e8952605-4bc2-4039-a133-4e3gk513afd4c",// for API orders 
      "quoteId":"AIOQ908536F9207349BA99C66",
      "timestampCreated":1668931096371,
   },
   "success":true,
   "timestamp":1681041295072,
   "requestId":"511203ff-3999-4f3d-ac1c-04364564sg55",
   "message":"",
   "error":null
}
```

{% endtab %}
{% endtabs %}

## Get Order Detail&#x20;

## Order placed using accept a quote can be retrieved using order id. &#x20;

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/trade/orderdetail/{orderId}`

Eg. <https://api.aio.exchange/api>/v2/trade/orderdetail/e8952605-4bc2-4039-a133-4e3gk513afd4c

#### Path Parameters

| Name    | Type   | Description                                       |
| ------- | ------ | ------------------------------------------------- |
| orderId | string | orderId retrieved from previous Accept Quote call |

{% tabs %}
{% tab title="200: OK " %}

```
{
   "data":{
      "orderId":"e8952605-4bc2-4039-a133-4e3gk513afd4c",
      "quoteId":"AIOQ908536F9207349BA99C66",
      "orderStatus":"ERROR NO BALANCE",
      "baseSymbol":"SOL",
      "targetSymbol":"USDT",
      "exchange":"BINANCE",
      "side":"SELL",
      "orderSize":null,
      "received":0.0,
      "receivedSymbol":"USDT",
      "depositMethod":{
         "network":"SPL",
         "amount":1.26907,
         "symbol":"SOL",
         "transactionId":"",
         "fee":0.0000100000,
         "FeeSymbol":"SOL"
      },
      "withdrawMethod":{
         "network":"SPL",
         "amount":0.0,
         "symbol":"USDT",
         "transactionId":"",
         "fee":0.8000000000,
         "FeeSymbol":"USDT"
      },
      "aioFee":5.0000000000,
      "aioFeeSymbol":"AIO",
      "dateCreated":"4/8/2023 6:06:30 PM",
      "dateModified":"4/8/2023 6:06:30 PM"
   },
   "success":true,
   "timestamp":1681041677918,
   "requestId":"72b4bb7c-f00d-488d-9945-9212ca07b31a",
   "message":"",
   "error":null
}
```

{% endtab %}
{% endtabs %}

## Get All Order Details

## All orders placed within the account can be retrieved using above request. API will return the last 50 orders. Older order can be fetched using the page number, each request will return a maximum of 50 orders.

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/trade/orderdetails`

Eg. <https://api.aio.exchange/api>/v2/trade/orderdetails ,

&#x20;<https://api.aio.exchange/api>/v2/trade/orderdetails/{pagenumber}

#### Path Parameters

| Name       | Type    | Description                                                                                                                                              |
| ---------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| pagenumber | integer | maximum order per request is 50, any later order can be fetched by passing the page number, if page number not passed, default it will return first page |

{% tabs %}
{% tab title="200: OK " %}

```
{
   "data":[{
      "orderId":"e8952605-4bc2-4039-a133-4e3gk513afd4c",
      "quoteId":"AIOQ908536F9207349BA99C66",
      "orderStatus":"ERROR NO BALANCE",
      "baseSymbol":"SOL",
      "targetSymbol":"USDT",
      "exchange":"BINANCE",
      "side":"SELL",
      "orderSize":null,
      "received":0.0,
      "receivedSymbol":"USDT",
      "depositMethod":{
         "network":"SPL",
         "amount":1.26907,
         "symbol":"SOL",
         "transactionId":"",
         "fee":0.0000100000,
         "FeeSymbol":"SOL"
      },
      "withdrawMethod":{
         "network":"SPL",
         "amount":0.0,
         "symbol":"USDT",
         "transactionId":"",
         "fee":0.8000000000,
         "FeeSymbol":"USDT"
      },
      "aioFee":5.0000000000,
      "aioFeeSymbol":"AIO",
      "dateCreated":"4/8/2023 6:06:30 PM",
      "dateModified":"4/8/2023 6:06:30 PM"
   },
   {
      "orderId":"34df505-4bc2-4039-a133-4e3gk513afd4c",
      "quoteId":"AIOQ908536F9207349BA99C66",
      "orderStatus":"ERROR NO BALANCE",
      "baseSymbol":"SOL",
      "targetSymbol":"USDT",
      "exchange":"BINANCE",
      "side":"SELL",
      "orderSize":null,
      "received":0.0,
      "receivedSymbol":"USDT",
      "depositMethod":{
         "network":"SPL",
         "amount":1.26907,
         "symbol":"SOL",
         "transactionId":"",
         "fee":0.0000100000,
         "FeeSymbol":"SOL"
      },
      "withdrawMethod":{
         "network":"SPL",
         "amount":0.0,
         "symbol":"USDT",
         "transactionId":"",
         "fee":0.8000000000,
         "FeeSymbol":"USDT"
      },
      "aioFee":5.0000000000,
      "aioFeeSymbol":"AIO",
      "dateCreated":"4/8/2023 6:06:30 PM",
      "dateModified":"4/8/2023 6:06:30 PM"
   }],
   "success":true,
   "timestamp":1681041677918,
   "requestId":"72b4bb7c-f00d-488d-9945-9212ca07b31a",
   "message":"",
   "error":null
}
```

{% endtab %}
{% endtabs %}


# AIO Exchange Token

## Get Distribution Details

## Returns Details Of Next Token (crypto-dividends) Profit Distribution

<mark style="color:blue;">`GET`</mark> `https://api.aio.exchange/api/v2/aio/tokenholderdistribution`

Provides details on when the next token distribution is, and a countdown.&#x20;

It is important to note that the token distribution should not be considered complete until user's have received their crypto dividends. If a user transfers AIO out of their wallet prior, they may not receive payouts.&#x20;

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
   "response":{
      "NextDistributionTimestamp":1678109400000,
      "NextDistributionDateTime":"2023-03-06T13:30:00",
      "HolderProfitDistributionPC":90.0000000000,
      "MinimumHolding":100,
      "RewardsCurrency":"USDT",
      "RewardsCurrencyContractAddress":"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
      "FrequencyString":"Weekly On Monday At UTC 13:30",
      "NextDistributionDayCountdown":3,
      "NextDistributionHourCountdown":5,
      "NextDistributionMinuteCountdown":17,
      "NextDistributionSecondCountdown":58
   },
  "success": true,
  "error": null,
  "timestamp": 1668931096371,
  "requestId":"1234"
}
```

{% endtab %}
{% endtabs %}


