Application ledgers that prove themselves.
Several organizations run one replicated ledger: the same ordered commands, the same deterministic state machine, the same signed state root — provable by anyone and settled on Cardano. Yano X is the Java ecosystem that makes it something you configure rather than build.
What an app chain gives you
Not every business event belongs on a public blockchain. An app chain supplies the shared application layer, and Cardano supplies independently observable settlement for the state it commits to.
Deterministic execution
Every member applies the same ordered messages through the same state machine and derives the same state root, byte for byte. No operator's database is the truth.
Determinism rulesThreshold finality
A block is final only once the configured member threshold has signed the root it independently computed. Hash-linked history makes a rewrite detectable.
How finality worksProvable state
State lives in an MPF trie. A client verifies a record — present or absent — against a finalized root without trusting the node that served it.
State and proofsCardano anchoring
A certified root can be written to a metadata or threshold-script anchor, binding app-chain evidence to public L1 history an auditor can check.
AnchoringControlled side effects
State machines authorize external work by emitting immutable effect records. Kafka, S3, IPFS, webhooks, and Cardano payments run outside consensus and report back exactly once.
The effect runtimeExtend without forking
Ordering, finality, proofs, anchoring, and lifecycle stay in the host. Your domain logic ships as a signed, versioned plugin JAR.
The plugin frameworkThree members, one command
Yano X has no published release yet, so you build it once from source. The build
downloads the matching Yano 0.1.0-pre13 JVM distribution for
you — no second checkout, no Maven Local, no flags.
# 1. Build the batteries-included JVM distribution$ git clone https://github.com/bloxbean/yano-x.git$ cd yano-x$ ./gradlew clean build -PskipSigning=true # 2. Unpack it$ unzip distribution/jvm/build/distributions/yano-x-jvm-<version>.zip -d ~/yano-x$ cd ~/yano-x/yano-x-jvm-<version> # 3. Start a self-contained 3-member chain on a local devnet$ ./yano.sh appchain cluster start 3$ ./yano.sh appchain cluster statusorders-chain: AGREED (height 12, root 9f3c…a17b)registry-chain: AGREED (height 12, root 4d80…c2e9) # 4. Submit a business event through a non-proposer member$ ./yano.sh appchain cluster submit orders-chain orders \ '{"event":"order-created","orderId":"A-1001"}' --node 1 Pick a recipe
6 bundled recipes cover audit logs, owned registries, approval workflows, and evidence ledgers without any code.
Recipe catalogProve it
Pull an MPF proof for a record, verify it offline, and anchor the root on a Cardano test network.
Registry and proofsClimb only as far as you need
Most applications never write a line of consensus code. Yano X is organized so that the cheapest rung that models your outcome is the correct one.
Configuration only
Select a stock state machine or a committed composite profile identically on
every member — yano.app-chain.state-machine: kv-registry. No JAR,
no build.
A small composite plugin
All the components you need already exist, but you need a new ordering, routed topics, quotas, or terminal transitions. Declare the composition; reuse the transitions.
A custom state-machine plugin
Genuinely new state or rules. ./yano.sh appchain plugin scaffold
generates a buildable, closed-by-default provider; you implement, sign, pin, and
install it on every member.
Executors, sinks, APIs, observers
Independent SPIs for external delivery and read surfaces. These run outside consensus, so they never affect the state root.
Built for coding agents too
Yano X is new enough that no model has trained on it. Every page here is also published as agent-ingestible markdown, and the recipe, capability, module, and configuration catalogs are generated from the repository itself.
AI Starter Pack
The extension ladder, the determinism rules, the plugin lifecycle, and the invariants agents get wrong — in one file.
llms.txt
A curated index following the llmstxt.org convention, plus
llms-full.txt with every page concatenated for full-coverage
ingestion.
catalog.json
11 recipes, 43 capabilities, 52 Gradle modules, and 44 configuration properties as structured JSON.
/ai/catalog.json