This guide will introduce you with the Qredo Partner & Core Client API. The Partner API allows you to carry on all necessary operations to create wallets and move assets on the Qredo network in a way similar to the user on the Qredo web application, also known as the Qredo Wallet. In contrast, the Core Client extends the API with all custody functionality that is available to an approver of wallet transactions on the Qredo Signing app.
If you are not familiar with the concepts from the above paragraph and want to learn more about Qredo, our mission and our apps, please visit our knowledge base center.
Who is the Partner & Core Client API for?¶
The Partner & Core Client API is suitable for institutions or exchanges. Institutions can benefit from decentralized custody and the Partner API also provides infinite ways to organize and couple wallets and transaction approvers. Exchanges, on the other hand, can utilize the Qredo solution and offer Qredo custody to their own client base.
Institutions and Qredo¶
The Partner API allows institutions to fully rely on Qredo for custody. Once an organization deposits assets in their Qredo wallets, any transaction out of these wallets undergoes one or more approvals. The API provides controls to group approvers and wallets in a modular way that can fit virtually any possible setup or business requirement.
The Core Client is the API approver entity. You can create one or more and automate approvals over one or more wallets. For example, you can set up your Core Client to automatically approve transactions across wallets you own. Core clients can co-exist with human approvers. An approval by a single core client equals an approval of one (human) Qredo account.
Exchanges and Qredo¶
In conjunction with the Core Client, the Partner API allows deeper integration with Qredo. The Qredo account that operates the API must register a Core Client as an exchange. This adds the capability for Qredo users to connect one or more of their Qredo wallets to the exchange (in the Qredo Wallet app). Once connected, the exchange gains control over transactions out of these wallets, in parallel of the "regular" trusted network of approvers, appointed by the wallet owner.
Additionally, the exchange can perform sweep transactions out of these wallets: transfer out of a wallet that bypasses wallet approvers.
The Partner API¶
The allows you to perform actions available to the Qredo Wallet user on the Qredo Network, such as:
- create and manage a company
- create and manage a trusted network
- create and manage one or more funds
- add or remove one or more wallets in fund
- perform transactions (transfers and withdrawals)
- perform atomic swaps
API actions not visible in the Qredo Wallet app!
All actions you perform in the Partner & Core Client API will not be visible in the Qredo Wallet web app, and vice-versa. This also applies to funds, wallets, assets and transaction history: any wallet created in the API does not appear in the Qredo Wallet web app. In other words: anything you do in the Partner API is accessible in the Partner API only. Anything you create in the Qredo Wallet, as well as all transactions, transaction history, etc. stays there.
This is because the Partner API is designed for institutions and exchanges, not for API control over a regular user account.
Note that to approve transactions via the API, you need to additionally set up a Core Client. However, an approver for a wallet created via the partner API can either be an actual user on the Qredo Signing app (on mobile); or the Core Client.
In Qredo Wallet, currently only Qredo users with their Qredo Signing app can be assigned as approvers over a wallet. However, in the API, it is also possible to use a “Core Client”. This is a standalone approver service that represents a user on the network and can (amongst other uses) be assigned as an approver over wallets created using the API. Note that approvers over wallets created with the API can be a mix of Core Client “bots” and human users.
The Core Client¶
The Core Client is a standalone approval service. On the Qredo Network, it is identified as an API approver user entity type, identified by a core client ID. It uses a dedicated subset of the API for fetching, approving and rejecting transactions pending custody. Additionally, you can connect your core client to a websocket feed for newly submitted transactions pending approval. You can use its capabilities to set up a client-side bot and connect it to the Qredo Network with the purpose of performing two core functions:
- act as an automated approver: approve or reject transaction requests. In this aspect the Core Client performs actions similar to the Qredo Signing app.
- act as an exchange:
- 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 (approver) for dedicated connected wallets.
Topics in this guide¶
Currently, this guide covers the following topics:
- Overview (current section): contains introduction and prerequisite subsections to get started with the Partner API:
- Partner API quick start: start using the API by creating a company, add a fund with trusted network and custody policies, and then proceed with transferring assets.
- Core client: create, set up and connect a client listener to a websocket feed with transactions pending custody.
- Exchanges quick start: set up the core client and a network of wallets per user for exchange-monitored and approved transactions.
- Atomic swaps: create atomic swap quote, publish to liquidity hub and retrieve pending quotes.
- API reference: a comprehensive reference with API call details, including JSON payloads and HTTP(S) error codes.