added

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.