The origin field in our REST API specifies how a movement or trade was initiated, identifying whether it originated from our REST API, SDK, or the Secondary Portal. Each transaction is categorized with the following origin values based on its initiation method:
Rest API: rest_api
SDK: sdk
Secondary Portal: secondary
Endpoints Impacted
You can find the origin field in the movements endpoint for account-related data: GET /accounts/:id/movements
Additionally, it exists in the following endpoints for trade-related information:
Zero Hash is pleased to announce that as of today, July 1, 2024, we have begun offering crypto services in the State of Hawaii for both natural and non-natural (entity) persons.
This expansion of our geographic reach was made possible by the State of Hawaii’s determination that crypto services would not be covered by its money transmitter license regime when it announced on January 25, 2024, that its Digital Currency Innovation Lab would end operations on June 30, 2024.
Further Reading
To see the full list of all U.S. states and territories or possessions in which Zero Hash offers its products and services, refer to Permitted and Restricted Jurisdictions
We are pleased to announce that 3 additional assets are now available for deposits, withdrawals, buys, and sells in New York. Previously these assets were restricted even for platforms that had been approved for NY activity.
Updates in CERT and PROD environments
The following assets are enabled in CERT and PROD for all permitted NY activity:
Avalanche (AVAX)
XRP (XRP)
Solana (SOL)
Note: These changes only apply to the Base Asset and do not apply to any tokens or stablecoins on these networks. Please direct any questions to your Zero Hash support team.
Further Reading
To see the full list of supported Assets, please refer to our new documentation pages:
An invoice must be generated in order to receive a deposit over the Lightning Network. This step currently assumes you would like to use your own domain and manage your own UMA server, which will require working with the Zero Hash team to setup (support for ZH-managed available soon).
Once your UMA server is setup, a user must first be registered by your server and then sent to Zero Hash via POST /deposits/uma
Once successfully registered, that participant can then generate an invoice in CERT by calling: uma.cert.zerohash.com/.well-known/lnurlp
Note: if you will see the error message "UMA recipient not found" if attempting to generate an invoice without registering the participant first.
Generate UMA Invoice in PROD
Note that it is recommended to test these flows in CERT first. All platforms must be allow-listed to use Lightning and UMA in Production.
An invoice must be generated in order to receive a deposit over the Lightning Network. This step currently assumes you would like to use your own domain and manage your own UMA server, which will require working with the Zero Hash team to setup (support for ZH-managed available soon).
Once your UMA server is setup, a user must first be registered by your server and then sent to Zero Hash via POST /deposits/uma
Once successfully registered, that participant can then generate an invoice in PROD by calling: uma.zerohash.com/.well-known/lnurlp
Note: The above URL is unique to each environment. If you will see the error message "UMA recipient not found" if attempting to generate an invoice without registering the participant first.
Zero Hash has created a new endpoint: PATCH /liquidity/rfq. Platforms can use this endpoint to update an existing, non-expired quote. There are 2 required fields:
quote_id: the id associated with a valid, non-expired quote that was returned from either GET or POST /liquidity/rfq
total: the notional value that you'd like to update the quote to reflect
And one optional object:
fees: object containing fee data
name: a string naming the fee
amount: the amount of the fee, denominated in the quoted currency of the original quote
Platforms should use the same execution endpoints, POST /liquidity/execute, to execute on the quotes updated via PATCH /liquidity/rfq.
Validations
If the platform omits the quote_id, we’ll return an error, "quote_id is a required field"
If the platform sends a quote_id that is valid but expired, we’ll return an error, "quoted_id has expired"
If the platform sends a fees object containing a name that is not an exact match to one from the original quote, we’ll return an error, “No fee with the submitted ‘name’ exists on this quote”
If the platform sends a fee object containing an amount that is non-numerical, we’ll return an error, “amount must be a positive integer”
API Behavior
Upon a successful PATCH /liquidity/rfq call, Zero Hash will function like the following:
The quote_id goes unchanged - we’ll keep constant with original POST /liquidity/rfq response
The expire_ts goes unchanged - we’ll keep constant with original POST /liquidity/rfq response
The trade_price goes unchanged - we’ll keep constant with original POST /liquidity/rfq response
[Rest of the fields go unchanged]
We’ll update quantity to be the new value
We’ll refresh the request_id
We’ll change the total value to the one provided on the PATCH call
Action Required
PATCH /liquidity/rfq is available for platforms leveraging our Platform Direct model. If you need clarification of which model your platform is on, please reach out to your Zero Hash rep.
Endpoints Impacted
PATCH /liquidity/rfq
Example Request (zero fees initially)
Platform (PLAT01) requests a quote on behalf of its customer (CUST01): POST /liquidity/rfq
Let's assume PLAT01 is configured for 5 minute quote expiries
Zero Hash has created a new endpoint: POST /liquidity/rfq. Its fundamental purpose is identical to the existing GET /liquidity/rfq endpoint, however the POST variation allows the submission of fees. Platforms should use the same execution endpoint, POST /liquidity/execute, to execute on the quotes requested via POST /liquidity/rfq.
It's worth calling out this endpoint has 3 additional features compared to its GET counterpart:
Custom Spreads: A platform that is configured to do so can specify the spread on each individual order via the spread parameter
Transaction Fees: A platform that is configured to do so can specify fees on each individual order via the fees object
Per-order quote expiries: A platform can specify the quote length of the order. Acceptable values are:
5 seconds: 5s
30 seconds: 30s
1 minute: 1m
5 minutes: 5m
15 minutes: 15m
Action Required
POST /liquidity/rfq is immediately available for all platforms that are configured to use our liquidity endpoints.
Your platform must be configured by a Zero Hash employee to use custom spreads and fees, so get in touch with your rep if interested in these features.
Endpoints Impacted
POST /liquidity/rfq
Example Request
Platform (PLAT01) requests a quote on behalf of its customer (CUST01): POST /liquidity/rfq
Zero Hash has announced a new feature, Prefunded Transfers. These can be used to fund an end customer's account directly on our ledger. The sole use case is taking funds from a funded float account at Zero Hash and transferring funds to an end customer's account.
Action Required
To initiate a prefunded transfer, use the new boolean field called prefunded on the existing POST /transfers endpoint.
Endpoints Impacted
POST /transfers
GET /transfers - responses that have "parent_link_id_source": "LINK_SOURCE_PREFUNDED_TRANSFER" indicate that the transfer was a prefunded one.
Zero Hash is pleased to announce support an additional options to send Bitcoin. BTC withdrawals can now be sent either on the L1 or L2 Lightning Network by submitting a valid destination address or invoice.
Note that Lightning Network withdrawals are NOT allowed for New York participants at this time.
Action Required
BTC withdrawals on the Lightning Network testnet are immediately available to all platforms in the certification (CERT) environment.
Please reach out to your Zero Hash team to will enable this functionality for your platform in the production (PROD) environment.
Endpoints Impacted
There are no changes to existing endpoints as a result of this launch, however a Lightning Network invoice will need to be input instead of an L1 destination address.
The asset symbol used for these transactions is still BTC however the destination address format will determine the network used.
Relevant Documentation
Please see the full Lightning Network Testing Guide to enabling withdrawals and additional functionality on this network:
Zero Hash is pleased to announce adding support for the SUI blockchain including the ability to buy, sell, deposit, and withdraw the native SUI token.
Action Required
The SUI token is immediately available in the certification and production environments.
The asset symbol for the native token in both environments is: SUI
Endpoints Impacted
There are no changes to existing endpoints as a result of this launch. Use the new SUI symbol to create or view deposit addresses, initiate a withdrawal, request a quote, or execute a trade.
Relevant Documentation
For a full list of supported assets and instruments, please use the links below.