Exchange integration overview
IOHK’s integration components make it easy for exchanges and third-party wallets to support and list ada.
This article is for Exchanges and third-party wallets interested in or currently listing ada as it outlines all of the available components for use in integration.
The Byron era is ending soon and there is a planned hard fork that will commence the transition from Byron to Shelley.
The following is a diagram which shows a list of available components. The components in red are non-Shelley compliant and will not be available after the hard fork, while the components in green are Shelley compliant and will be supported during and after the hard-fork.
New components stack, support both Byron and Shelley eras. | |
Old components stack, not supported after the Shelley Hard-fork. | |
|
Legacy components
- cardano-sl:node, cardano-sl:explorer, cardano-sl:wallet - Cardano settlement layer is deployed as a standalone node that connects to the Cardano blockchain. It ships with an integrated Cardano wallet and explorer and has its own set of APIs which can be accessed via HTTP. cardano-sl is considered to be close to end-of-life.
It will not support the Shelley hard fork and exchanges or third-party party wallets using cardano-sl should move to a Shelley-supported version of Cardano, such as the recently released cardano-node.
New components
- cardano-node - the latest cardano-node, which will support Ouroboros Praos.
- cardano-db-sync - a necessary middleware to power both cardano-rest and cardano-graphql. This middleware stores blockchain data fetched from cardano-node in an intermediate database to enable higher-level interfaces for blockchain exploration.
- cardano-wallet - This API is recommended for 3rd party wallets and exchanges who do not want to manage UTxOs for transactions themselves. Use it to send and receive payments from hierarchical deterministic wallets on the Cardano blockchain via HTTP REST or a command-line interface.
- cardano-rest - is made of two HTTP APIs that are used to retrieve transactions, addresses, and time periods (epochs and slots) from the cardano-db-sync component and submit an already serialized transaction to the network using cardano-explorer-api & cardano-submit-api respectively. The cardano-submit-api uses the same API as the cardano-sl:explorer to ease migration from already integrated clients. New integration should, however, look into cardano-graphql.
- cardano-graphql - HTTP GraphQL API for Cardano. A more flexible alternative for blockchain exploration than cardano-rest.
- Adrestia libraries - Recommended for larger exchanges who wish to construct their own wallet scheme and manage UTXOs themselves. This consists of the following:
The only currently available language target is Haskell, although support for JavaScript is being worked on and should be available soon.
Note: Adrestia’s components and their respective repositories are also listed on Github.