Customer Withdrawal Fee
Release Details
- Release Date: Nov 17th, 2023
- Release Type: Actionable – Platforms must share the configs to start using this feature.
Summary
Competing crypto companies charge end customers fees to withdraw assets from their platforms to external wallets. This is also a common revenue stream in traditional finance (wire fees, account closure fees, etc.). The chargeable withdrawal fees feature will be similar to the way we manage our spreads on liquidity quotes. With this feature, platforms would be able to add additional fee on any withdrawal to an external wallet. The fee added could be a flat amount or spread or both per asset.
The withdrawal spread feature was designed to allow you, as a platform, to charge your customers (participants) a fee to withdraw assets from your platform. If enabled, a fee will be collected on every withdrawal execution and ledgered accordingly. The current feature works in NETTED and ADDITIVE settings.
Action Required
To onboard a platform, we need following platform configurations per ASSET to enable this feature:
- "withdrawal_spread_type": 'NETTED|ADDITIVE'
- "withdrawal_spread_fixed_fee": '0.000015'(This is defined in base currency and NOT in atomic units. So ETH and not WEI)
- "withdrawal_spread_percentage_fee": '3'(This is in absolute % so here 3 means 3%)
- "withdrawal_spread_platform_revenue_percentage": '60'(This is the revenue % based on agreement. In this scenario, the collected withdrawal fee account 60% to platform and 40% to ZH accounts)
Action Required
Movement type: withdrawal_spread
Platform Share
- Participant code:
<platform code>
- Account group: UNALLOCATED
- Account label: general
Zero Hash Share
- Participant code: 00SCXM
- Account group: 00SCXM
- Account label: withdraw_feed
Sample API Payload
{
"message": {
"request_id": "6a8c267b-2f9e-4cb1-a8ee-901311891722",
"withdrawal_quote_id": "129f5825-1a1a-40b6-8770-fcf102125e2b",
"withdrawal_request_id": "e4b1135a-a88f-45c0-93c0-eef5f7e62729",
"participant_code": "1NY182",
"account_group": "JB41VN",
"account_label": "general",
"withdrawal_address": "0xD4eD0e192c2DBb5594eDA4601f9403a8af64e7cF",
"destination_tag": "",
"no_destination_tag": false,
"asset": "ETH",
"amount": "0.01",
"amount_notional": "20.52",
"network_fee": "0.000031500000252",
"network_fee_notional": "0.06",
"on_chain_status": "PENDING",
"withdrawal_fee": "0.0001"
}
}
Endpoints Impacted
All impacted endpoints. Include code samples or json schema for publicly available changes.
POST /withdrawals/requests
POST /withdrawals/execute
GET /withdrawals/requests
GET /withdrawals/requests/:id
GET /withdrawals/locked_network_fee
More info under each endpoint in our API documentation.