Overview
Cardano Application Backend, usually shortened to CAB, is a free code library that helps programmers build apps that hold wallets and send transactions. Developers writing an app for a web browser or for a server add it to their project and get prebuilt parts for loading a wallet, connecting to a user's wallet, and assembling a transaction1.
CAB comes from WingRiders, a decentralized exchange on Cardano. The team announced the library as open source after writing it for common jobs on its own exchange, such as loading wallets and building and signing transactions2. CAB is written in TypeScript (a version of JavaScript that checks data types before the code runs) and is released under the ISC open-source license1. Developers install it from npm, the main public store for JavaScript code1. WingRiders also publishes a companion server, CAB Backend, which supplies the blockchain data the library needs3.
Key Features
- Wallets from a recovery phrase. CAB can restore a wallet from its recovery phrase (the list of secret words that backs up a wallet), load its accounts, and read the coins each account holds1.
- Automatic coin selection. The CAB transaction planner picks which of a wallet's unspent coins (called UTXOs) to spend, can attach metadata (extra information stored with a transaction), and sends the change back to the wallet1.
- Smart contract support. Transactions planned with CAB can work with Plutus smart contracts, the programs that run on Cardano, in both the V1 and V2 versions1.
- Connection to users' browser wallets. CAB ships a connector for CIP-301, the Cardano standard that lets a website talk to a user's wallet extension4.
- A data source of your choice. CAB lets developers plug in their own blockchain data provider, or point the library at a CAB Backend server such as the one WingRiders runs for the main Cardano network1.
What to Expect
For developers, getting started with CAB means installing one package with npm or Yarn. The README on GitHub is the main guide. It walks through two short examples: restoring a wallet from a recovery phrase, and sending 10 ADA to another address with the transaction planner1. CAB sits alongside other transaction builders as a code-level tool rather than an app with buttons to click.
Teams that want their own data feed can run CAB Backend, a lightweight indexer (a service that watches the blockchain and saves selected data from it). It records new coins as they appear and clears out spent ones over time to save storage, and it keeps a list of used addresses and the IDs of submitted transactions. For network settings and staking reward details, it asks Ogmios, a bridge service that answers questions about a Cardano node's current state3. It ships as Docker images (ready-to-run software packages). To run, it needs a Cardano node (the software that connects a computer to the Cardano network), Ogmios, and a PostgreSQL database. WingRiders says it built CAB Backend because a full blockchain database was too heavy for the job and a lighter indexer lacked address discovery (finding the addresses a wallet has already used)3.
For everyone else, CAB has nothing to open or sign up for. It is a building block that lives inside other apps. WingRiders pairs CAB with its own backend to run its exchange, including for users who connect with Ledger and Trezor hardware wallets3.
