Overview
Apollo is a free code library that lets software developers create, sign, and send Cardano transactions from programs written in the Go programming language. Think of it as a box of ready-made parts: the developer says who should be paid and what should happen, and Apollo works out the details that make the transaction valid1. It suits teams whose apps or back-end services need to move ADA and tokens without a person clicking through a wallet.
Apollo is built for Cardano. Edoardo Salvioni, known as Zhaata, created it1 and first used it as internal infrastructure for DexHunter, a Cardano trading aggregator he co-founded, before releasing the code publicly2. The library builds on Go packages from Blink Labs, a Cardano engineering company, for encoding transactions and addresses and for managing wallets1. The code is published under the MIT open-source license1.
Key Features
- Fees and coin choices handled for you. A developer adds payments, smart contract scripts, or certificates (on-chain registrations, such as for staking), then a single Complete step picks the coins to spend, calculates the fee, and sets aside collateral (a deposit Cardano requires when a smart contract runs) before signing and submitting3.
- Coin picking tuned for multi-token wallets. Apollo spends a wallet's coins using MACS, a selection method presented in a paper at the 2023 IEEE Blockchain conference4, and developers can switch to a simpler largest-first rule or plug in their own5.
- Your choice of data provider. Apollo gets blockchain data from a hosted service such as Blockfrost, from a self-run Cardano node through Ogmios and Kupo, or through UTxO RPC, an open standard for querying the chain, and a fixed mode supports offline tests6.
- Smart contracts and governance included. Apollo supports Plutus smart contracts (programs that run on Cardano) in versions 1 through 31. It also builds the governance transactions defined in CIP-1694, Cardano's governance rulebook, including votes, proposals, and registering as a DRep (a delegated representative who votes for others)7.
- Keys can live elsewhere. Apollo supports watch-only, hardware, and remote wallets, setups where the program building a transaction does not hold the signing key1.
What to Expect
Apollo has no app or website to click through. It lives on GitHub as code, and developers add it to a Go project with Go's standard package tool. The repository's documentation walks through a first transaction, then covers wallets, fees, staking, governance, and upgrading from version 1 of the library8. A separate reference on pkg.go.dev documents the library's functions for developers who want the details.
Apollo assembles and signs the transaction, and the chosen data provider supplies the wallet's coins. Because the library does not run contract code itself, the provider also estimates how much computing each smart contract needs1. The Cardano Developer Portal lists Apollo among its software development kits (SDKs) and libraries, the ready-made toolkits developers add to their projects9.
Everyday ADA holders won't install Apollo directly, but they may use apps built on it. Organizations running Go services get a way to automate payments, staking, or governance steps without writing Cardano's transaction format by hand. Developers who prefer another language can compare options in the transaction builders category. Apollo users can raise problems in GitHub issues, but the project's security policy asks that vulnerabilities be reported privately, not in public issues. Questions and discussion go to the project's Discord server.
