Ogmios is a lightweight bridge interface for cardano-node. It provides an HTTP / WebSocket API that enables applications to interact with a local cardano-node via JSON+RPC-2.0.
| Ogmios | Cardano-node (mainnet, preview, preprod) |
|---|---|
v6.14.0.1 |
11.0.1 |
v6.14.0 |
10.5.1 |
v6.13.* |
10.1.2, 10.1.3, 10.1.4 |
v6.12.* |
10.1.2, 10.1.3, 10.1.4 |
v6.11.* |
10.1.2, 10.1.3, 10.1.4 |
v6.10.* |
10.1.2, 10.1.3, 10.1.4 |
v6.9.* |
10.1.2, 10.1.3 |
v6.8.* |
9.2.0, 9.1.1 |
v6.7.* |
9.2.0, 9.1.1 |
Using Homebrew:
brew tap CardanoSolutions/formulas
brew install ogmios
See our Ogmios client starter kit or jump right into the user manual.
| Fast synchronization of blocks from the Cardano network(s) | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Transaction submission with enhanced error messages | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Evaluation of Plutus script execution units | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Local mempool monitoring | |||||||||||||||||||||||||||||||||||||||||||||||||||
State queriesNetwork
Ledger
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| Dual WebSocket/HTTP support | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Structured JSON logging | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Health monitoring, with runtime and application statistics |
Tip
Test vectors that cover every part of the protocol are available here. Use them without moderation for a smooth integration!
The project keeps a changelog 💾 in which all past changes and recent-but-not-yet-released changes can be seen. Changes in the changelog have been implemented and are available in latest builds from the master branch.
The github issues & milestones 🎯 list planned tasks that haven't been implemented but have reached enough maturity to be well-defined and scoped. Milestones have end-dates to give a broad estimate of when it is expected.
Finally, discussions 💡 contains ongoing discussions regarding the future of Ogmios, with design decisions still under consideration.
Ogmios provides a language-agnostic API which can be implemented using any WebSocket or HTTP client. If you prefer using a SDK in your favorite language, see below the available clients (maintained by the community):
JavaScript |
TypeScript |
![]() Go |
![]() Kotlin |
![]() Java |
![]() Python |
![]() Elixir |
![]() C++ |
![]() C# |
This project uses a Nix flake for development and CI.
If you have direnv installed, simply run:
direnv allowThis will automatically initialize git submodules and enter the development shell.
git submodule update --init --recursive
nix develop "git+file:.?submodules=1" --impureThe git submodule update step is required before nix develop because the
flake declares self.submodules = true; Nix's git fetcher reads submodule
contents while fetching the flake source itself, so a fresh clone with no
submodules initialised will fail to evaluate. The flake's shellHook re-runs
the submodule update on each shell entry, but it can't bootstrap a cold clone
since the hook only runs after the source fetch succeeds.
# Dynamic glibc build (default)
nix build .#ogmios
# Fully static musl build
nix build .#ogmios-musl
# Library only
nix build .#ogmios-libnix build (no target) is equivalent to nix build .#ogmios.
You can build any of the flake outputs directly from a remote reference without
cloning. The ?submodules=1 query is required so Nix's git fetcher pulls in
server/modules/ and the other submodules that the build depends on:
# Build the default ogmios executable from the latest master
nix build -Lv 'git+https://github.com/IntersectMBO/ogmios.git?submodules=1'
# Specific tag or branch via ?ref=refs/heads/<branch> or ?ref=refs/tags/<tag>
nix build -Lv 'git+https://github.com/IntersectMBO/ogmios.git?submodules=1&ref=refs/tags/v6.14.0.1#ogmios-musl'git submodule update --init --recursive
cd server
make shell # enters GHC 9.6.5 devx environment (CardanoSolutions/devx)
cabal update # inside the shell, once per index-state bump
cabal build allA big thank to all our sponsors 💖.
📖 User Manual
|
📐 Contributing
|
💾 Changelog
|
Discord (#ogmios)
|
Twitter (@_KtorZ_)
Need more information? Have a look at the Frequently Asked Questions.






