Skip to main content

Integrate with Mina

The interfaces an application, exchange, wallet, explorer, or indexer uses to read Mina data and send transactions.

Mina gives you three APIs and a set of client libraries. Each API reads from a different source, so choose by the data you need, not by the language you write in.

Choose an interface​

You needUseReads from
Current account state, the recent chain, sending transactionsDaemon GraphQL APIA Mina node. It keeps only the last k blocks (290)
Blocks and transactions over the full history, zkApp events and actionsArchive Node APIAn archive node's Postgres database
Deposits, withdrawals and balances for an exchange or custodianRosetta APIA Mina node and an archive database
Keys and transaction signatures, offline or in a browserMina SignerNothing: it signs locally and needs no node
zkApp state, events and actions from a smart contracto1jsA Mina node and an Archive Node API endpoint

Client libraries​

LibraryTalks toLanguages
Archive SDKArchive Node APITypeScript (@o1-labs/mina-archive-sdk), Rust (mina-archive-sdk), Go (github.com/o1-labs/mina-archive-sdk-go/v2)
Mina SDKDaemon GraphQL APIRust (mina-sdk), Go, Python (mina-sdk)
Mina SignerNo API: signs locallyJavaScript and TypeScript (mina-signer)
o1jsDaemon GraphQL API and Archive Node APITypeScript (o1js)

The Archive SDKs share one major version with the Archive Node API: a 2.x SDK works with any 2.x server. The Mina SDKs are at version 0.x, so a minor release can change their API.

Integration guides​