Why the consensus mechanism matters
Regulatory frameworks distinguish assets that have a controlling issuer from assets that do not. Under Proof-of-Work, that question is answered by measurement rather than by documentation, and the same property is what settlement finality depends on.
control
Classification turns on whether any person or entity controls the protocol. That is a question about facts, not about intentions or documentation.
hashrate
Proof-of-Work answers it with computational evidence rather than legal assurance. Rewriting history means out-computing the honest network, continuously and in public.
finality
The same property is what a custodian needs for settlement finality. One mechanism satisfies a compliance test and an operational requirement at once.
These are properties of Ethereum Classic and of Proof-of-Work consensus, not of any one client. The regulatory position, the frameworks it sits under, and the live regulated stablecoin issued on the network are documented by the Ethereum Classic DAO.
The regulatory position, at ethereumclassicdao.org →What Fukuii provides
Institutions already running JVM infrastructure need blockchain infrastructure that fits the same runtime and the same audit standards, not a second, foreign-language stack to secure and staff for. Fukuii is JVM-native end to end, on Ethereum Classic and Ethereum alike.
One runtime
Fukuii runs on the JVM, like the rest of your stack.
Pure JVM architecture end to end, no foreign-language bridge between the chain and the rest of the stack
Auditable releases
Every release is signed and inventoried.
The same signed-image and SBOM discipline that regulated audit and compliance frameworks require
One binary, several networks
Fewer systems to secure and staff.
Concurrent multi-instance execution runs every network from one binary instead of a growing fleet, with external-signer/HSM custody built in
Image signing, build provenance and SBOM coverage are set out in full on the operations page.
Security & supply chain →Why the node is yours
An institution that reads the chain through someone else's endpoint has added a counterparty to every answer it gets. That endpoint can be unavailable, rate limited, behind the tip, or returning a view shaped by whoever runs it, and none of those failures announce themselves in the response. The reading is only ever as good as the operator's word for it.
A node you run derives the answer instead of receiving it. It validates every block against the rules rather than accepting a summary, so a balance, a receipt or a log is a conclusion your own infrastructure reached from data it checked. That is the difference between a number you can produce evidence for and a number you were given.
What that requires in practice is modest: one node kept current, with its RPC endpoint reachable only from inside your own network. What to expose and what to keep internal is covered under operations.
Answering what a balance was, not only what it is
Reporting, tax and audit ask questions about the past: what an account held at a period end, what a contract's state was on the date of a transaction, what the chain looked like before a correction. A node keeping only recent state answers for the present and a short window behind it. An archive node keeps every historical state and answers for any block the chain has ever had.
Fukuii runs either way, and the difference is disk rather than complexity: the same binary, one storage setting, and a substantially larger volume. Sizing both is on the operations page.
Because the answer is re-derived from the chain rather than read out of a vendor's database, two parties running independent nodes reach the same result from the same block. That is what makes an on-chain reconciliation a check rather than a comparison of two providers' records.
Keys stay outside the node
Fukuii does not require a signing key on the node. Signing is delegated to an external signer over its own authenticated endpoint, so key material stays in an HSM or a custody system and the node holds only the ability to request a signature. A compromised node is then not a compromised key, which is what allows the node to sit in ordinary infrastructure rather than inside the custody boundary.
The separation is a property of where each piece runs rather than a setting anyone has to remember. The signer stays inside the custody boundary with the key material; the node stays outside it and reaches the signer over an authenticated channel. An operator holding full access to the node can request signatures within whatever the signer allows, and still cannot take a key anywhere else.
fukuii --network=eth \
--signer-endpoint=https://signer.internal:9000 \
--signer-tls-truststore=/etc/fukuii/signer-truststore.p12 \
--rpc-http-enabled \
--rpc-http-port=8545A node is not a system of record
The chain is the record; a node is a derived view of it. That changes what recovery means. A lost node is rebuilt by syncing rather than restored from a backup, and a node brought back from a stale snapshot converges on the same state as one built from genesis. Nothing unique to the machine is lost with the machine.
It also makes redundancy cheap in the way that matters. Running more than one node is running more than one independent derivation of the same data, not maintaining replicas that have to be kept in agreement with each other. Two nodes that disagree are a signal worth acting on, and the chain settles which of them is right.
What does not return on its own is whatever the institution supplied: the signer, its key material, and the configuration pointing the node at it. Those are backed up and tested the way the rest of your infrastructure is.
Permissive all the way down
Fukuii is Apache 2.0, and so is what it is built on. The actor system is Apache Pekko, under Apache Software Foundation governance, which forked from Akka before that project adopted the Business Source License. Nothing in the stack carries a source-available license, a commercial-use restriction, or a future relicensing risk inherited from a vendor.
That matters at procurement rather than at runtime. An institution reviewing what it is permitted to run, modify and redistribute gets one answer for the whole dependency tree, and the CycloneDX SBOM shipped with each release is the artifact that review reads.
The full dependency manifest, with the update policy for each library, is on the stack page.
Every dependency, declared →