- We have successfully launched Solana (SOL), Polygon (MATIC), and Tezos (XTZ) to production.
- The MATIC token released is the ERC-20 version
- They will all be supported for settlement, custody, and liquidity.
See full list of assets here.
See full list of assets here.
GET /deposits. Going forward, they will be able to retrieve those plus any made by their customersGET /deposits calls are not affected performance-wise.Several platforms recently requested we add the transaction timestamp to the JSON response for easy record keeping. Zero Hash is proud to announce the development team has added the time of execution to the /liquidity/execute endpoint. This information has always been available, but is now included within the trade confirmation directly after execution.
This information can be used to directly populate the customer trade confirmation and any subsequent trade reporting for customer records. This would include email correspondence, in-app trade notifications, trade information reported on statements, and order history.
Below is an example of the new transaction_timestamp in action:
{
"request_id": "14f8ebb8-7530-4aa4-bef9-9d73d56313f3",
"quote": {
"request_id": "ce819fe8-b1d7-43bb-961c-e09ede0988d3",
"participant_code": "CUST01",
"underlying_currency": "BTC",
"quoted_currency": "USD",
"side": "BUY",
"quantity": "1",
"price": "50430.90",
"quote_id": "5cd07738b861c31e3bd61467BTC1Buy1568311644602",
"expire_ts": 1568311649602,
"transaction_timestamp": 1568311649600 <- Time of Execution
},
"trade_id": "ba97133e-ab15-4c86-86c1-86671b8420bc",
"status": "Completed"
}
Clients can now subscribe to a Websocket feed in order to receive an initial balance list for all of their accounts. While still connected, they can then receive messages that contain balance-update details.
Session tags are now available via the /trade API endpoint. These tags help identify the session a trade was executed within and provide for a discrete start and finish based on the selected settlement schedule.
More information on how to use session tags is available here.
When generating API keys on the portal, you now have the ability to set a required number of approvals amount.
By default, each participant's has been set to zero. If you would like this changed, please get in touch with a Zero Hash representative so that they can make the configuration change.
Until an API Key is officially approved, no calls can be made by that newly created key.
You can view the API Key status via the "status" column:

You can also view the audit history via the "details" button, including who on your team has already created or approved a key:


We have deployed all changes needed in order to support Elrond, SHIBA INU, and Aave for settlement and liquidity services in both the certification and production environment. These assets are now fully accessible and do not require any additional adjustments to begin using for purposes of settlement, liquidity, or withdrawal.
| Name | Symbol | Custody | Liquidity | Environment | Type | Precision |
|---|---|---|---|---|---|---|
| Elrond | EGLD | Yes | No(coming soon) | Prod/Cert | UTXO | 18 |
| Aave | AAVE | Yes | Yes | Prod | ERC20 | 18 |
| SHIBA INU | SHIB | Yes | Yes | Prod | ERC20 | 18 |
Note: Uses bankers rounding. (Round to Even)
We have launched a duo of new Awards endpoints that are closely related and are designed to be used sequentially. The primary use case is to facilitate crypto awards payments as part of a promotional program, prize pool, bonus pool, giveaway, etc. This endpoint has built-in liquidity- the purchasing and then the distribution/settlement both take place within the Zero Hash ecosystem.
Purpose: This endpoint allows the client to specify the amount, quoted currency, and asset that will ultimately be distributed to their customers. The resulting purchase will reside in a float account instantly.
Other Notes:
Payload example:
{
"underlying": "BTC",
"quoted_currency": "USD",
"quantity": "1"
}
Purpose: After the initial fund, this endpoint is used to evenly distribute the purchased crypto among the participants that you specify in the payload. The exact amount will be specified by the client in this call as well.
Payload example: In this example, let's say you want to distribute the 1 BTC among 4 of your customers.
{
"asset": "BTC",
"quantity": ".25",
"participant_codes": ["CUST01","CUST02", "CUST03", "CUST04"]
}
There is a new API Key Permission for "Awards". You will need to enable this when you create new API keys in order to interact with the above endpoints:

To validate that the fund or distribute transactions have fully settled, you can take the trade_id's from the response and then poll GET /trades:trade_id endpoint. If trade_state = "terminated", then you can be confident that your customer has received the funds in their account. Response examples:
POST /awards/fund{
"message": {
"request_id": "9d355b88-b2e3-4272-8ec4-352e1c7618a1",
"quote": {
"request_id": "9d355b88-b2e3-4272-8ec4-352e1c7618a1",
"participant_code": "CJC9I7",
"quoted_currency": "USD",
"side": "buy",
"quantity": "1",
"price": "50000.00",
"quote_id": "902654fc-c43e-426e-85f8-d9484b1ae382",
"expire_ts": 1633024897781,
"account_group": "00SCXM",
"account_label": "awards",
"underlying": "BTC"
},
"trade_id": "e629906c-76c3-4aec-8b28-5a536e00ec23",
"status": "Completed",
"trade_ids_list": [
"e629906c-76c3-4aec-8b28-5a536e00ec23"
]
}
}
POST /awards/distribute{
"message": {
"confirms_list": [
{
"participant_code": "NEPBSH",
"trade_id": "9958af6e-1bcc-4325-b1b4-02206792692b"
},
{
"participant_code": "O70IOW",
"trade_id": "bf16b834-0c4c-41b2-b991-00da3d1bed2f"
}
]
}
}
It is quite possible that your platform's promotional campaign has a large number of entrants, say 100,000. The internet has its limits, and 100,000 participant_codes do not fit within a single POST /awards/distribute request. We recommend breaking these into chunks to ensure that all distributions can be made successfully.
There are 2 new filter options on the GET /withdrawals/requests endpoint:
statusrequested_timestampYou can filter for the following statuses:
requested_timestamp filters withdrawal requests based on a given timestamp in milliseconds (1593798130060) or nanoseconds (1593798130060000000) using the following params for the following filter types:
[gt] greater than a given timestamp, e.g. requested_timestamp[gt]=1593798130060[gte] greater than or equal to a given timestamp, e.g. requested_timestamp[gte]=1593798130060[e] equal to a given timestamp, e.g. requested_timestamp[e]=1593798130060[lt] less than a given timestamp e.g. requested_timestamp[lt]=1593798130060[lte] lower than or equal to a given timestamp, e.g. requested_timestamp[lte]=1593798130060Combinations are also possible, e.g. to find withdrawal requests between 1593798130555 and 1593798130777 you can use the next combination requested_timestamp[gt]=1593798130555&requested_timestamp[lt]=1593798130777.
Full API specs found here.
On 2021-08-25, we deployed 11 new assets. These assets are the latest additions to our platform. They are fully available and do not require any additional adjustments to begin the settlement, trading, or withdrawal.
| Name | Symbol |
|---|---|
| Kyber Network | KNC |
| Civic | CVC |
| Compound | COMP |
| Maker | MKR |
| Storj | STORJ |
| Orchid | OXT |
| Dogecoin | DOGE |
| Wrapped BTC | WBTC |
| Uniswap | UNI |
| The Sandbox | SAND |
| The Graph | GRT |