A set of development tools for building on Cardano by creating a local devnet.
See the codeYaci DevKit is a comprehensive Cardano development toolkit that provides developers with a complete local blockchain environment. Create, customize, and manage your own Cardano devnet in seconds, enabling rapid development and testing of DApps, smart contracts, and blockchain integrations.
For most development scenarios, Yaci DevKit runs a single Cardano node:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Yaci Viewer β β Your DApp β β Yaci CLI β
β (Web UI) β β (Frontend) β β (Management) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββΌββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β API Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Yaci Store β β Ogmios β β Kupo β β
β β (Indexer) β β (Optional) β β (Optional) β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Single Cardano Node β
β βββββββββββββββββββββββ β
β β Node 1 β β
β β (Producer) β β
β βββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
When --enable-multi-node is used, DevKit creates a 3-node cluster for rollback testing:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Multi-node Cluster β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Node 1 β β Node 2 β β Node 3 β β
β β (Producer) β β (Producer) β β (Producer) β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Use the release that matches the Cardano node / protocol version you want to test.
| DevKit release | Cardano node | Status | Recommended use |
|---|---|---|---|
| v0.10.6 | 10.1.4 | Stable | Default stable development setup |
| v0.11.0-beta1 | 10.5.0 | Beta | PV10 or earlier Cardano protocol testing |
| v0.12.0-beta5 | 11.0.1 | Beta | PV11 hard fork / Cardano node 11.0.1 testing |
For PV11 hard fork compatible local devnets, use the PV11 beta release from this table or a newer beta release.
| Component | Description | Default Port |
|---|---|---|
| Yaci CLI | Command-line interface for devnet management | - |
| Yaci Store | Lightweight indexer with Blockfrost-compatible APIs | 8080 |
| Yaci Viewer | Web-based blockchain explorer for developers | 5173 |
| Cardano Node | Official Cardano node (supports both amd64/arm64) | 3001 (n2n), 3333 (n2c through socat) |
| Ogmios | WebSocket API for Cardano (optional) | 1337 |
| Kupo | Chain indexer (optional) | 1442 |
| MCP Server | AI coding assistant integration | 10000 |
Yaci DevKit offers multiple distribution options to fit your development workflow:
Download and unzip the latest docker distribution.
For protocol-specific testing, choose the Docker ZIP from the release compatibility table above.
#
# Start DevKit
./bin/devkit.sh start
Download and unzip the latest Yaci CLI distribution.
For protocol-specific testing, choose the CLI ZIP from the release compatibility table above.
# Start Yaci CLI and download components
./yaci-cli
π Perfect for CI/CD pipelines and automated testing:
# Latest stable
npm install -g @bloxbean/yaci-devkit
# Latest beta
npm install -g @bloxbean/yaci-devkit@beta
# Latest preview
npm install -g @bloxbean/yaci-devkit@preview
Then start DevKit:
yaci-devkit up --enable-yaci-store
or
yaci-devkit up --enable-kupomios
Use @beta for the latest beta release and @preview for the latest preview release. To lock CI to an exact release, install with an explicit version from the compatibility table.
CI Integration Examples:
π CI Integration Guide | π Sample CI Project
# Create and start a single-node devnet (default)
yaci-cli> create-node -o --start
π That's it! Your devnet is now running with:
Yaci Viewer: http://localhost:5173
Yaci Store API: http://localhost:8080/api/v1/
(Can be used in a Java app with Cardano Client Lib's Blockfrost backend or Javascript app with MeshJS + Blockfrost provider as it exposes required BF compatible minimum apis for tx building and submission)
Yaci Store Swagger UI: http://localhost:8080/swagger-ui/index.html
Ogmios Url (Optional): http://localhost:1337
(Optional) If you enabled Kupo
# Default single-node setup (1 second blocks)
yaci-cli> create-node -o --start
# High-speed development (200ms blocks) - New in v0.11.0-beta1
yaci-cli> create-node --block-time 0.2 --slot-length 0.2 -o --start
# Enable multi-node ONLY for rollback testing
yaci-cli> create-node --enable-multi-node --block-time 2 -o --start
# Simulate network partition for rollback testing
devnet:default> create-forks
# Submit transactions during fork...
devnet:default> topup addr_test1... 1000
# Trigger consensus-based rollback
devnet:default> join-forks
Note: Multi-node setup is specifically designed for rollback testing scenarios. For regular development, use the standard single-node setup which is faster and uses fewer resources.
# Auto-fund addresses on startup (config/env)
topup_addresses=addr_test1...:20000,addr_test1...:10000
# Or fund manually
devnet:default> topup addr_test1qzx... 50000
# Use default test addresses (always available)
devnet:default> default-addresses
# Check current tip
devnet:default> tip
# View UTXOs at address
devnet:default> utxos addr_test1...
# Get network info
devnet:default> info
# Quick reset without losing configuration
devnet:default> reset
# Full cleanup -- Docker distribution only
./bin/devkit.sh stop
./bin/devkit.sh start
Yaci DevKit includes a built-in MCP server that exposes devnet operations as tools for AI coding assistants like Claude Code. This lets your AI assistant directly interact with the devnet β resetting state, funding addresses, querying UTxOs, and submitting transactions.
The MCP server is integrated into Yaci CLI and shares the same port (10000) β no additional containers or setup required.
| Tool | Description |
|---|---|
devnet_status | Get devnet info and current tip (slot, block, epoch) |
devnet_reset | Reset devnet to initial state |
devnet_topup | Fund an address with ADA (params: address, adaAmount) |
devnet_utxos | Query UTxOs at an address (params: address) |
devnet_submit_tx | Submit a signed CBOR transaction (params: cborHex) |
Copy mcp.json.example to .mcp.json in your project root:
{
"mcpServers": {
"yaci-devkit": {
"url": "http://localhost:10000/mcp"
}
}
}
Start the devnet as usual β the MCP server is available automatically on the same port as the admin API.
| Resource | Description |
|---|---|
| Official Documentation | Complete guides |
| Rollback Testing Guide | Advanced rollback simulation |
| Mesh SDK Integration | JavaScript/TypeScript development |
| CLI Commands Reference | Available commands |
| Tutorial | Description |
|---|---|
![]() | Yaci Viewer with Local Devnet and Cardano Client Lib Demo |
![]() | Test Aiken Smart Contract Using Java Offchain Code |
# Using Earthly (recommended)
earthly --arg-file-path=config/version +build
# Manual build yaci-cli and yaci-viewer
cd applications/cli && ./gradlew clean build
cd applications/viewer && npm install && npm run build
| Traditional Development | With Yaci DevKit |
|---|---|
| β³ Wait for testnet transactions | β‘ Instant local transactions |
| π Depend on external testnets | π Fully controlled environment |
| π Slow iteration cycles | π Rapid development loops |
| π Manual rollback testing | π― Automated rollback scenarios |
This project is licensed under the MIT License - see the LICENSE file for details.
β Star this repo if Yaci DevKit helps accelerate your Cardano development!
Documentation β’ Discord
Java
52.7%
Svelte
35.1%
TypeScript
7.1%
JavaScript
2.9%
Shell
1.3%
A set of development tools for building on Cardano by creating a local devnet.
See the codeYaci DevKit is a comprehensive Cardano development toolkit that provides developers with a complete local blockchain environment. Create, customize, and manage your own Cardano devnet in seconds, enabling rapid development and testing of DApps, smart contracts, and blockchain integrations.
For most development scenarios, Yaci DevKit runs a single Cardano node:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Yaci Viewer β β Your DApp β β Yaci CLI β
β (Web UI) β β (Frontend) β β (Management) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββΌββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β API Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Yaci Store β β Ogmios β β Kupo β β
β β (Indexer) β β (Optional) β β (Optional) β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Single Cardano Node β
β βββββββββββββββββββββββ β
β β Node 1 β β
β β (Producer) β β
β βββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
When --enable-multi-node is used, DevKit creates a 3-node cluster for rollback testing:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Multi-node Cluster β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Node 1 β β Node 2 β β Node 3 β β
β β (Producer) β β (Producer) β β (Producer) β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Use the release that matches the Cardano node / protocol version you want to test.
| DevKit release | Cardano node | Status | Recommended use |
|---|---|---|---|
| v0.10.6 | 10.1.4 | Stable | Default stable development setup |
| v0.11.0-beta1 | 10.5.0 | Beta | PV10 or earlier Cardano protocol testing |
| v0.12.0-beta5 | 11.0.1 | Beta | PV11 hard fork / Cardano node 11.0.1 testing |
For PV11 hard fork compatible local devnets, use the PV11 beta release from this table or a newer beta release.
| Component | Description | Default Port |
|---|---|---|
| Yaci CLI | Command-line interface for devnet management | - |
| Yaci Store | Lightweight indexer with Blockfrost-compatible APIs | 8080 |
| Yaci Viewer | Web-based blockchain explorer for developers | 5173 |
| Cardano Node | Official Cardano node (supports both amd64/arm64) | 3001 (n2n), 3333 (n2c through socat) |
| Ogmios | WebSocket API for Cardano (optional) | 1337 |
| Kupo | Chain indexer (optional) | 1442 |
| MCP Server | AI coding assistant integration | 10000 |
Yaci DevKit offers multiple distribution options to fit your development workflow:
Download and unzip the latest docker distribution.
For protocol-specific testing, choose the Docker ZIP from the release compatibility table above.
#
# Start DevKit
./bin/devkit.sh start
Download and unzip the latest Yaci CLI distribution.
For protocol-specific testing, choose the CLI ZIP from the release compatibility table above.
# Start Yaci CLI and download components
./yaci-cli
π Perfect for CI/CD pipelines and automated testing:
# Latest stable
npm install -g @bloxbean/yaci-devkit
# Latest beta
npm install -g @bloxbean/yaci-devkit@beta
# Latest preview
npm install -g @bloxbean/yaci-devkit@preview
Then start DevKit:
yaci-devkit up --enable-yaci-store
or
yaci-devkit up --enable-kupomios
Use @beta for the latest beta release and @preview for the latest preview release. To lock CI to an exact release, install with an explicit version from the compatibility table.
CI Integration Examples:
π CI Integration Guide | π Sample CI Project
# Create and start a single-node devnet (default)
yaci-cli> create-node -o --start
π That's it! Your devnet is now running with:
Yaci Viewer: http://localhost:5173
Yaci Store API: http://localhost:8080/api/v1/
(Can be used in a Java app with Cardano Client Lib's Blockfrost backend or Javascript app with MeshJS + Blockfrost provider as it exposes required BF compatible minimum apis for tx building and submission)
Yaci Store Swagger UI: http://localhost:8080/swagger-ui/index.html
Ogmios Url (Optional): http://localhost:1337
(Optional) If you enabled Kupo
# Default single-node setup (1 second blocks)
yaci-cli> create-node -o --start
# High-speed development (200ms blocks) - New in v0.11.0-beta1
yaci-cli> create-node --block-time 0.2 --slot-length 0.2 -o --start
# Enable multi-node ONLY for rollback testing
yaci-cli> create-node --enable-multi-node --block-time 2 -o --start
# Simulate network partition for rollback testing
devnet:default> create-forks
# Submit transactions during fork...
devnet:default> topup addr_test1... 1000
# Trigger consensus-based rollback
devnet:default> join-forks
Note: Multi-node setup is specifically designed for rollback testing scenarios. For regular development, use the standard single-node setup which is faster and uses fewer resources.
# Auto-fund addresses on startup (config/env)
topup_addresses=addr_test1...:20000,addr_test1...:10000
# Or fund manually
devnet:default> topup addr_test1qzx... 50000
# Use default test addresses (always available)
devnet:default> default-addresses
# Check current tip
devnet:default> tip
# View UTXOs at address
devnet:default> utxos addr_test1...
# Get network info
devnet:default> info
# Quick reset without losing configuration
devnet:default> reset
# Full cleanup -- Docker distribution only
./bin/devkit.sh stop
./bin/devkit.sh start
Yaci DevKit includes a built-in MCP server that exposes devnet operations as tools for AI coding assistants like Claude Code. This lets your AI assistant directly interact with the devnet β resetting state, funding addresses, querying UTxOs, and submitting transactions.
The MCP server is integrated into Yaci CLI and shares the same port (10000) β no additional containers or setup required.
| Tool | Description |
|---|---|
devnet_status | Get devnet info and current tip (slot, block, epoch) |
devnet_reset | Reset devnet to initial state |
devnet_topup | Fund an address with ADA (params: address, adaAmount) |
devnet_utxos | Query UTxOs at an address (params: address) |
devnet_submit_tx | Submit a signed CBOR transaction (params: cborHex) |
Copy mcp.json.example to .mcp.json in your project root:
{
"mcpServers": {
"yaci-devkit": {
"url": "http://localhost:10000/mcp"
}
}
}
Start the devnet as usual β the MCP server is available automatically on the same port as the admin API.
| Resource | Description |
|---|---|
| Official Documentation | Complete guides |
| Rollback Testing Guide | Advanced rollback simulation |
| Mesh SDK Integration | JavaScript/TypeScript development |
| CLI Commands Reference | Available commands |
| Tutorial | Description |
|---|---|
![]() | Yaci Viewer with Local Devnet and Cardano Client Lib Demo |
![]() | Test Aiken Smart Contract Using Java Offchain Code |
# Using Earthly (recommended)
earthly --arg-file-path=config/version +build
# Manual build yaci-cli and yaci-viewer
cd applications/cli && ./gradlew clean build
cd applications/viewer && npm install && npm run build
| Traditional Development | With Yaci DevKit |
|---|---|
| β³ Wait for testnet transactions | β‘ Instant local transactions |
| π Depend on external testnets | π Fully controlled environment |
| π Slow iteration cycles | π Rapid development loops |
| π Manual rollback testing | π― Automated rollback scenarios |
This project is licensed under the MIT License - see the LICENSE file for details.
β Star this repo if Yaci DevKit helps accelerate your Cardano development!
Documentation β’ Discord
Java
52.7%
Svelte
35.1%
TypeScript
7.1%
JavaScript
2.9%
Shell
1.3%