Skip to content

Dedicated wallet custody and sweeps

This section describes the exchange custody over transactions and custody of dedicated wallets and sweep transactions.

Work in progress

Please note that this section is still work in progress.

Wallet type definitions: dedicated and multi-party

  • Dedicated wallet - accessed by a single third party such as an Exchange. The wallet must be created as a Dedicated Wallet selecting the third party at the time of creation from a list.
    The third party is a Custodian over the wallet and must approve assets moving out of it. The exchange ensures no transfer out requests reach custody the dedicated wallet serves the purpose of having exchange control over the because the trader may have a limit order open with a 3rd Party. The third Party must ensure funds are available to meet the limit order.
  • Multi-counterparty wallet - accessible by multiple third parties (for example, several exchanges). The purpose of this Wallet is to enable a trader to have multiple exchanges connected to the same wallet to allow market orders to be placed on multiple exchanges. This is a non-leveraged wallet and has the same features as a standard wallet. A third party can perform sweep transactions or atomic swaps, bypassing other Custodians.

Dedicated wallet custody

When connected, the exchange core client receives a notification with action id details about each withdrawal or transfer request, submitted by the user.

Use the action id supplied in the feed to fetch transaction details, including the tx wallet ID, asset type and amount:

GET /coreclient/{client_id}/action/{action_id}

Learn more about GET /action/{action_id}.

  • Approve the transaction if the resulting balance is greater than any outstanding orders:
PUT /coreclient/{client_id}/action/{action_id}

Learn more about PUT /action/{action_id}.

  • Reject the transaction if the resulting balance is less than any outstanding orders:
DELETE /coreclient/{client_id}/action/{action_id}

Learn more about DELETE /action/{action_id}.

Transactions out a dedicated wallet undergo custody twice

The pending transaction must be approved by both exchange and custodian. The exchange is not necessarily the same as the custodian of the user’s wallet.

Sweep transactions

Withdraw assets from a dedicated or multiparty wallet; e.g. to execute a limit order.

  • Perform a sweep:
POST /coreclient/{client_id}/sweep

Request body

You must specify a destination wallet.

{
  "wallet_id": "<dedicated wallet ID>",
  "recipient_wallet_id": "<destination wallet ID>",
  "expires": 1640998800,
  "reference": "CX15R99XX",
  "partner_txID": "",
  "send": {
    "symbol": "BTC",
    "amount": 800
  }
}
  • The core client must approve or reject the sweep request.

Info

Sweep into any Qredo wallet with the API or a browser wallet.


Last update: 2021-12-17