Policy circuits. Visible rules. Testable decisions.

Withdrawal rules
you can inspect.Decisions you
can verify.

LAW helps vault developers inspect policy decisions against real circuits on X Layer. Choose a withdrawal scenario, compare the expected result with the deployed processor, and export the evidence.

Built and deployed on X Layer using real OKB. Courtroom balances and withdrawals are simulated; trying them needs no wallet. The reference vault is not deployed or audited.

CIRCUITS5taped on X Layer
GATES50across five circuits
LAW BOOKGENESIS

Policy Processor
(LAW)

5 circuits on X Layer.
One inspectable policy toolkit.

SpendLimit · bit-packed eval()
00ALLOW
01ALLOW
10ALLOW
11DENY
Input flags → local circuit prediction
THE POLICY TOOLKIT

Law Cards

Five building blocks for explicit policy decisions. Start with SpendLimit, explore approval and mode inputs, then see RuleMux combine two rules.

5 circuits · read only68 recorded checks ↗

Two connected ideas, separate demonstrations. These cards evaluate circuit inputs on X Layer when you request verification. The Courtroom separately simulates a daily-limit adapter using SpendLimit logic; it does not apply all five circuits to withdrawals.

CIRCUIT 0212 gates · 84 B

Quorum 2 of 3

Are at least two approval inputs present?

Approval inputs, not collected wallet signatures.

pass = approvals ≥ 2
Approval inputs
Input bits 1 0 10x05
PASSLOCAL MODEL · 1
Current input has not been checked against RPC.
8 possible input combinations · read only
CIRCUIT 0312 gates · 84 B

Mood ASIC

How does the selected mode change the decision?

FOMO allows. FEAR and HOLD share the AND guard. EXIT denies.

deny = exit OR (nonFomo AND ah AND dh)
Mode bits
Input bits 0 0 1 00x04
ALLOWLOCAL MODEL · 0
Current input has not been checked against RPC.
16 possible input combinations · read only
CIRCUIT 046 gates · 42 B

Dead Man’s Switch

What happens when the liveness input is off?

The circuit reads a liveness bit. It does not measure time.

deny = NOT alive OR (ah AND dh)
Liveness input · not a timer
Input bits 1 0 00x01
ALLOWLOCAL MODEL · 0
Current input has not been checked against RPC.
8 possible input combinations · read only
CIRCUIT 0518 gates · 126 B

RuleMux

How do spend and quorum rules combine?

Both the spend restriction and approval count matter.

deny = (ah AND dh) OR NOT quorum
Shared circuit inputs
Spend flags + Quorum 2 of 3
Change either card to test this rule.
Input bits 0 0 1 0 10x14
ALLOWLOCAL MODEL · 0
Current input has not been checked against RPC.
32 possible input combinations · read only

These controls represent circuit inputs. They are not authenticated signatures or an on-chain heartbeat timer. They do not change the separate Courtroom budget.

THE RULES, IN ACTION

Courtroom

A policy-verification workspace. Model a fixed 0.10 OKB daily allowance, then compare the derived input with the deployed circuit.

SCENARIO DATA · REAL RPC
A FOUR-REQUEST WALKTHROUGH

Watch the daily allowance hold.

Start with 1.00 OKB and a 0.10 OKB allowance. Starting or replaying resets the demo; manual actions leave the walkthrough.

  1. 10.90 → DENY
  2. 20.05 → ALLOW
  3. 30.05 → ALLOW
  4. 40.01 → DENY

Follow the sequence or enter a custom amount below. Compare each result on X Layer in the decision log.

Active policy: SpendLimit · circuit 1. The adapter derives [overLimit, 1]. Mood, Quorum, Dead Man and RuleMux are not applied to Courtroom withdrawals. UTC-day resets affect the current allowance, not captured request history.

Withdrawal scenario

SCENARIO BALANCE · SIMULATED1.00 OKB
Daily limit0.10 OKB
Spent today0.00 OKB
Remaining today0.10 OKB

Quick amounts select a scenario; they do not submit it. Adding balance does not increase the daily allowance.

Evaluation updates scenario balances locally. In the decision log, optionally compare a request’s captured input with SpendLimit on X Layer. RPC results never move funds or change the simulation.

Decision log

0 scenario events
∅

Start with a scenario.

Choose an amount and evaluate it.
Then compare the captured input on X Layer.
Export the result for your integration review.

BEFOREExpected behaviour
dailyLimit: 0.1
// does the circuit agree?

A rule and an expected result are not evidence that the deployed circuit behaves the same way.

AFTERRecorded comparison
spent + requested > limit
→ packed input → real eval()

Compare expected and actual output at a recorded block, then export the evidence. Balances stay simulated.

How the withdrawal adapter worksHOW THE ADAPTER WORKSoverLimit = spentToday + requestedAmount > dailyLimit

The reference vault derives this predicate from its own state. It sends [overLimit, 1] to the pinned AND circuit: 0x02 → ALLOW, 0x03 → DENY. It also independently enforces the numeric limit. The new vault contract is reference code, not a deployment claimed by this UI.

CHECK THE WORK

Verify the deployment

Deployed processor. Recorded evidence. Open source. No wallet required.

CHAIN 196 · X LAYER
RECORDED RPC VERIFICATION

68 / 68 circuit evaluations

7 listed transaction receipts checked at block 72,566,407 on 7 October 2026. A historical snapshot, not a live status or security audit.

Technical details & limitations Addresses, tests and trust boundaries
03 / CHECK THE EVIDENCE

Deployment evidence

A local test result, an RPC response, and a transaction receipt prove different things.

EXISTING DEPLOYMENT REFERENCES

X Layer processor

68 / 68 evaluations and 7 listed receipts verified at block 72,566,407. This is a recorded snapshot, not continuous monitoring. Read the verification snapshot ↗

Addresses are taken from the project manifest. Use the read-only verifier to check chain ID, factory registration, receipts, issuance parameters, and all 68 circuit cases at a recorded block.

Inspect processor ↗
Processor
0x6F74553bAe997e896AD76BaC27401602A01790E8
Factory
0x1f09DAeFA827f02CBb40967cc91b259763760761
Transistors
0xeDDe115d032bE238cd7AA37AEc183262C598a941
Deployment wallet
0xb9C37b75cF53EBfeC9eAf16b35E77541aB941556
LOCAL VERIFICATION

Test the implementation

Reproducible checks cover encoded netlists, demo decisions, and reference-contract behavior on an isolated local EVM. These are not a security audit or evidence of a deployed vault.

npm ci
npm test
npm run verify:mainnet
Verification guide ↗

Source code and verification instructions are published in the repository.

NOT IMPLEMENTED

No borrowed guarantees

This release does not offer bond escrow, automatic slashing, author revenue sharing, authenticated multisig approvals, token-launch buttons, or an optimisation bounty market.

Registry administration and upstream processor upgrades remain trust boundaries. A stored netlist hash alone cannot prove unchanged execution.

Threat model & limitations ↗
ISSUANCE / MANIFEST PARAMETERS

2,300,000 cap · 0.000066 OKB per transistor

Fees are additional. Transistors are used to tape out new circuits; reusing an existing circuit does not require a new mint. Demand depends on builders choosing to create useful circuits, not a promise of yield or price appreciation.

Read the assumptions ↗
Scenario 1.00 OKB0 local eventsOpen Courtroom ↓