Skip to content

Partner API & Core client cheat sheet

This section presents all a collection of Qredo and API specific terms and concepts, as well as summaries of each tutorial chapter.

Before you continue, here's a list of some Qredo related concepts (click to expand):

Qredo-related terminology
  • Qredo Network (interchangeable with Qredochain) is a Layer 2 (L2) blockchain. Each transaction on Qredochain undergoes custody, which means that it is either approved or rejected.
  • Custody means that every transaction attempt out of wallets that reside on the Qredochain (also Qredo wallets) undergoes an approval process. Hence absolutely any transfer or withdrawal transaction out a Qredo wallet passes through an approval process. Qredo accounts that perform custody are called custodians.
  • Qredo account is an account that can access their personal Qredochain assets and wallets. You cannot work with the API unless you have a Qredo account. To create an account, you must use the combination of the Qredo web app (in your web browser) and Qredo Signing app (on your mobile device).
  • Qredo web app is a browser-based software that allows you to access and manage your assets on the Qredochain.
  • Qredo signing app is a mobile application that allows you to apply custody to transactions (be a custodian). There is no other way for a person to be a custodian but the signing app, which is available on iPhone and Android.

Partner API-specific concepts

For smooth Partner API operations experience, it is important that you are familiar with the list of concepts presented here (click to expand):

Partner API-specific terminology
  • company on the Qredo Network is an ID, part of a Qredo account, that holds funds and wallets. You add custodians on a company level so each company has its own Trusted Network. Its members can be assigned to perform custody to funds and wallets that the company holds. The company is equivalent to an organization in the Qredo web app but it is not the same thing.
  • fund is the actual sub-entity to a company that holds Qredo wallets and the approval rules for transactions with these wallets: the so-called custodial policies. These policies also include the trusted parties that perform custody over transactions within that fund.
  • trusted_party is a Qredo custodian: either a Qredo user or a Core client. Trusted parties belong to a company and form its trusted network. However, funds and wallets must additionally appoint custodians out of the trusted network and that is when they become eligible to apply custody.
  • Custodial policies define number of approvals needed for processing a transaction out of a given Qredo wallet. There are two types of custodial policies: policy_tx for transfers (moving assets from one Qredo wallet to another) and policy_withdraw for withdrawals (moving assets from a Qredo wallet to a L1 blockchain wallet). Custodial policies apply per fund (fund policies) or per wallets held by a fund (custom policies).
  • Core client is an API-specific user type that performs custody: it's a custodian user type. It is implemented as a client that collects custody-related feed, such as pending transfer or withdrawal requests. The Core client extends custody functionality available to the human custodian which allows it to act on behalf of an exchange: approve requests to connect Qredo wallets, sweep transactions and act as a "master" custodian for dedicated wallets.

API environments

  • Production Base URL: https://api.qredo.network/api/v1/p
  • Play Base URL: https://play-api.qredo.network/api/v1/p

Summary of API docs sections

Each summary briefly describes the steps of every subsection to multi-level chapters:

Get started summary

  1. Sign up using Qredo web app and Qredo signing app and then apply for Partner API access.
    See Create account.
  2. With access granted, generate RSA keys for API call signatures, then generate your API key in the Qredo web app, and finally add public signing key on the very same screen in Qredo web app.
    See Generate keys.
  3. Start signing calls using the Partner API Signing Client.
    See Sign API calls.

Partner API quick start summary

  1. Create a company. You cannot do much with the API without a company.
    See Step 1. Create a company.
  2. Add a trusted party to your company. You cannot perform custody without at least one trusted party.
    See Step 2. Create your trusted network.
  3. Create a fund with Qredo wallets. A fund is the only way to have Qredo wallets. Custodial policies and also the custodians are defined at this stage.
    See Step 3. Create a fund.
  4. Deposit assets from L1 blockchains in one of fund's Qredo wallets.
    See Step 4. Perform a deposit.
  5. Perform a transfer out of selected Qredo wallet to another Qredo wallet. The transfer undergoes custody in order to complete.
    See Step 5. Perform a transfer.
  6. Whitelist a L1 blockchain wallet and withdraw to it assets out of the selected Qredo wallet. The withdrawal undergoes custody in order to complete.
    See Step 6. Perform a withdrawal.

Core client summary

  1. Create a Core client using the API, then enlist it as a trusted party of your company and finally appoint the Core client as a custodian for a fund or wallet.
    See Create and set up a Core client.
  2. Connect the Core client to a websocket feed and start receiving requests for custody.
    See Connect the Core client to feed.
  3. Use the Core client API endpoint to query, approve and reject incoming transaction requests.
    See Core client custody.

Exchange quick start summary

Exchange quick start is work in progress

Please note that the Exchange quick start section is still work in progress.

  1. Create a Core client using the API.
  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.

Atomic swaps summary

Atomic swaps is work in progress

Please note that the Atomic swaps section is still work in progress.

  1. As Maker, create an atomic swap quote using POST atomicswap/make.
  2. Have Maker's custodians approve the quote.
  3. As Maker, submit the quote to the Liquidity Hub using POST /liquidityhub.
  4. As a potential Taker, retrieve quotes on the Liquidity Hub using GET /liquidityhub or a websocket feed.
  5. As Taker, select a quote by tx_id to take it using POST /atomicswap/take/{tx_id}.
  6. Have Taker's custodians approve the quote.

Posting to liquidity hub is optional

You are not obliged to publish to liquidity hub. Instead, you may choose to offer your quote tx_id to a selected party using a secure channel. If you choose that, skip steps 3 and 4.


Last update: 2022-01-11