Enhanced Zero Hash Transfers
Summary
Zero Hash currently supports the ability for customers and platforms to direct the movement of their crypto via internal transfers (always off-chain) and withdrawals. This feature is opt-in and can be enabled by speaking to your Zero Hash representative.
A withdrawal may be sent to an external address or a Zero Hash controlled address. When a withdrawal is made to a destination that is a Zero Hash controlled address, Zero Hash now recognizes this and executes an internal transfer as opposed to an on-chain transfer. As such, there is no on-chain transfer and as such, no network fee assessed. This applies to all assets (full list of assets found here).
Impacted Endpoints
This launch is not a breaking change, however you will need to request to be opted-in first, will apply to the following endpoints:
- POST /withdrawals/requests
- POST /convert_withdraw/rfq
- POST /convert_withdraw/execute
- GET /withdrawals/requests
- GET /withdrawals/requests/{id}
- GET /withdrawals/locked_network_fee
- POST /withdrawals/execute
How will I know if my withdrawal was transferred internally?
If an internal transfer for a withdrawal has occurred, the tx_hash in the GET /withdrawals/requests and GET /withdrawals/requests/{id} will have the following format:
- withdrawal side -> internalp2p_debit{withdrawal_uuid}
- deposit side -> internalp2p_credit{withdrawal_uuid}
For GET /withdrawals/locked_network_fee, an internal transfer will return 0 for the network fee.
These responses mean that an internal omnibus transfer has occurred because the recipient address is a Zero Hash controlled address. There is no on-chain transfer and as such, no network fee assessed.
If a withdrawal is on-chain, a network fee shall be assessed and the on-chain tx hash shall be returned that can be viewed on a third-party blockchain explorer.
Further Reading