Skip to content

Get started with exchanges

This section introduces a basic test flow to set up and connect clients to an exchange.

Work in progress

Please note that this section is still work in progress.

On the Qredo network, an exchange is a Qredo user account with Partner API access and a whitelisted (authorized) exchange core client. The exchange performs the following functionalities:

  • approve or reject requests to connect Qredo wallets the exchange.
  • approve or reject sweep transactions initiated by exchanges from any connected wallets.
  • act as a master custodian for dedicated connected wallets.

Overview of steps

This is a suggested flow to test the integration with your exchange and the available functionality.

  1. Create an exchange core client as described in create a core client.
  2. Set up branding: contact Qredo and register your exchange core client id, plus your exchange name and logo, as well as user metadata.
  3. Supply a list with test accounts: Qredo users who will be able to visualize and use your exchange in the Qredo Web app.
  4. Connect your exchange core client to a web socket and start listening for client activity.
  5. Access the Qredo Web app with a test end user account (from the list provided in step 3) in the Qredo Web app, set up a fund and wallet to connect.
  6. On the exchange core client, approve the wallet connect request.
  7. From end user account in the Qredo Web app, confirm the wallet is activated.
  8. Perform tests of available actions and websocket feed with the exchange core client.

After you verify that everything described in these steps works as expected, you can proceed to go live with your exchange.

1. Create a core client instance

To create a core client for the exchange, follow the instructions in the Create and set up a core client section.

2. Set up branding

List your core client as an exchange and send the following data to your Qredo account manager:

  1. id: the id of the core client created in the previous step.
  2. Exchange name and logo to display on the Qredo Web app.
  3. Exchange user metadata for connecting users to the exchange. Currently Qredo supports an ID (a unique ID provided to the user by you as an exchange) which can optionally be combined with email address (the address used by the user to register on your exchange platform).
  4. A list of user email addresses.

3. Create a test account and supply it to Qredo

For test purposes only

This step is for test purposes only and is not required for when your exchange goes live.

Your exchange must go live in order for Qredo users to be able to see it available in the Qredo web app. You can provide a short list of Qredo accounts: before you go live, your exchange will be visible only to these accounts only.

  1. Prepare a short list of registered Qredo end users who will be able to visualize and use your exchange in the Qredo Web app. You must provide the Qredo sign-in email addresses of these test accounts.
  2. Contact your Qredo account manager and provide them with this list.

4. Listen to core client actions

Follow the steps to connect to the core client and start listening for client activity.

5. Set up connected wallet

With a test account, as prepared and provided to Qredo in step 3, sign in to the Qredo Web app and perform the following steps:

  1. Create up a fund.
  2. Add a dedicated or multi-party wallet to the fund.
  3. Select name_of_your exchange and supply the required metadata (if any).
  4. The wallet appears as Pending in the Qredo Web app for that account.

6. Authorize wallet connection

On the exchange core client side, you will receive the feed with a pending wallet connection request. As with other requests pending custody, this request includes the unique action_id.

Connect wallet requests do not expire

The end user wallet request for connecting remains in Pending status until approved or rejected by the exchange core client.

  • For details of the action including who is making the wallet connection request:
GET /coreclient/{client_id}/action/{action_id}
  • To approve the connection:
PUT /coreclient/{client_id}/action/{action_id}
  • To reject the connection:
DELETE /coreclient/{client_id}/action/{action_id}

7. View in Qredo Web app that the wallet is activated

After approval on the exchange side, the wallet status changes to Active in the Qredo Web app. To confirm that, sign in to the Qredo Web app with your test account and open the fund containing the wallet. After the wallet has been approved, the user can add assets by deposit or transfer in transactions.

8. Test other exchange actions

Using the exchange core client ID:

  • Fetch a list of all wallets connected to your exchange:
GET /coreclient/{client_id}/wallets
  • View wallet details, including assets and balance:
GET /wallet/{wallet_id}
  • View wallet transaction history:
GET /wallet/{wallet_id}/history
  • Set up live feed of wallet transactions by listening to the following websocket feed:

For more info on core client transactions, see approving and rejecting transactions with the core client.

You can now go live

If you have completed all steps from above, contact your Qredo account manager and request to go live. When your exchange is live, all Qredo users can choose it when creating a dedicated or multi-party wallet.

Last update: 2021-12-17