MERIDIAN
A treasury desk that runs at 03:14, with a named human behind every large movement.
Open the live chamber in the app
Who this serves
- Corporate treasury. Nine subsidiaries, three currencies, one liquidity desk that also works at night.
- PSP and marketplace payouts. Thousands of small payouts a day, each inside a per-merchant ceiling.
- Fund operations. Rebalancing with a named human behind every threshold breach.
- Intercompany netting. Month-end netting as a continuous process instead of a spreadsheet week.
The problem
A corporate treasury runs on humans copying numbers between systems that do not trust each other, and the control model is a spreadsheet of who is allowed to approve what. Every organisation that has tried to automate it has hit the same wall: the moment software can move money without a person in the loop, nobody can answer the question the auditor asks, which is not "was it correct" but "who is liable."
The system
MERIDIAN is a treasury desk of thirty-one agents operating across three sovereign frames and eleven cloud registries. It runs continuously. At 03:14 a liquidity agent notices the Frankfurt operating account will breach its floor inside six hours and opens a cross-frame swap. It does not have permission to move that much. Its capability token was issued that morning by the treasurer’s own mandate, carrying a per-transaction ceiling of 250,000 units and a daily budget that is debited atomically on the money axis, so two agents cannot both spend the last of it. The swap it wants is 400,000.
So it does what a junior does. It raises the request to a mandate held by a named human being, who is asleep, and whose phone rings. The screen shows the canonical facts of the transfer as the server computed them, not as the requesting agent described them. She puts her thumb on the sensor. That unlocks a key inside the phone’s enclave which signs the hash of those facts, and the signature carries a bit set by the authenticator itself confirming a human was verified, a bit covered by the signature so it cannot be forged by the software asking for it. The swap executes at 03:16. The fee is carved by the same rail that moves the money. The ledger entry is signed, replayable, and identical on both frames.
By 06:00 the desk has moved value across nine accounts, rebalanced two pools, and settled fourteen invoices. Total supply of every currency involved is unchanged to the eighteenth decimal place, and an auditor nobody at MERIDIAN controls has verified that independently, four times, while they slept.
The cast and their ceilings
| Agent | Role | Ceiling |
|---|---|---|
liquidity-sentinel | Watches floors and ceilings, proposes movements | Read-only on balances. Cannot transfer. Proposes only. |
swap-desk | Executes approved FX routes | Transfer and FX route, per-tx 250,000, daily budget debited atomically |
invoice-settler | Pays approved payables | Transfer scoped to counterparties on an allowlist |
reconciler | Compares ledger to internal books | Read-only. Holds no spend permission of any kind. |
treasurer (human) | The Cockpit Card mandate | Underwrites swap-desk for a declared scope. Authority re-derived every request. |
The flow, step by step
- 03:14. The floor breach is six hours out. The sentinel proposes a swap.
- The desk asks for 400,000. Its ceiling is 250,000.
- Over ceiling. The request escalates to the mandate, and a phone rings.
- A thumb on a sensor. The enclave signs the facts as the server computed them.
- Cleared, inside the mandate scope.
- The route crosses the pools at 03:16.
- The receiving frame credits the account.
- Every leg lands on the ledger, signed.
- An auditor nobody here controls confirms conservation. Again.
Each need, mapped to a live primitive
| The need | The protocol primitive | Status |
|---|---|---|
| Move value | POST /teg/transfer and cross-registry transfer | LIVE |
| Cross-currency routing | FX triangle across sovereign frames, direct pools | LIVE |
| Per-agent spend ceiling | IRONKEY L4 capability caveats, atomic budget debit | LIVE |
| Named liable human | Cockpit Card mandate (LIABILITY_MODE) | SHADOW |
| Human presence proof | WebAuthn platform credential, userVerification required | LIVE |
| Exactly-once execution | Idempotency-Key, two-layer dedup (cache + ledger unique) | LIVE |
| Supply conservation | Delta = 0 invariant, independently audited | LIVE |
| Forensics | Event ledger chain and windowed search | LIVE |
The attack this chamber refuses: The compromised desk
The attack. swap-desk is compromised and attempts a 2,000,000 unit transfer to an address the operator controls.
Why it fails. resolve_capability intersects the token’s caveats with the issuer’s current authority and clamps against the per-transaction ceiling before anything is written. The request never reaches the money.
What actually happens. No escrow movement, no event emitted, no fee. Delta unchanged, because deny-only gates sit in front of the money by construction. There is nothing to unwind.
The attack this chamber refuses: The compromised human
The attack. The treasurer’s own account is taken over, so the operator revokes her flag from the console. Her mandates are still on disk. The desk asks again.
Why it fails. Effective authority is re-derived on every request and never snapshotted. A revoked flag means every mandate leaning on it conveys nothing on the next request. No token rotation, no session hunt.
What actually happens. The agent she underwrote is inert within one request. Nothing it attempts clears the gate, and every refusal is on the ledger.
Deep architecture
This is the shape MERIDIAN takes in a real estate: your sovereign frame beside a counterparty frame, the federation fabric between them, and your existing systems underneath. Nothing here is a box drawn for a slide. Every zone is a deployment, every edge is a rail that exists, and the trace below replays the transaction the page has been describing all along.
The deployment, traced
- Market data feeds the sentinel. It watches floors and ceilings; it cannot move a unit.
- The sentinel proposes a rebalance to the desk. A proposal is not an order.
- The treasurer’s mandate stands behind the desk: scope, ceiling, presence.
- The desk’s authority is checked at the gate on this very request: roles, spend policy, the mandate’s clamp.
- Approved. The desk escrows the route; its daily budget debits atomically.
- One movement, one event, append-only.
- The leg crosses the fabric with an idempotency key. A retry can never double it.
- The counterparty frame credits exactly once, under its own law.
- Their desk confirms the counter-leg.
- Their ledger writes the same settlement. Two sovereign books, one truth.
- Evidence exports to your books as signed events, not screenshots.
Adoption, phase by phase
Discover: Nothing of yours changes yet.
- Runs. Nothing in your estate. A workstation and a read-only account on the public network.
- Agents. None. Your team walks the tutorial tracks and reads a live ledger.
- Integrates. Nothing. The ERP, the OMS and the banks stay exactly as they are.
- Deliberately not yet. No money, no mandates, no frame.
- Proof that gates the next phase. Your team executes one sandbox transfer end to end and reads it back from the event ledger without asking anyone.
Pilot: The desk exists, at pocket size.
- Runs. One hosted registry seat, or a 9-container frame on a single VM if policy requires walls from day one.
- Agents. liquidity-sentinel and swap-desk under IRONKEY roles; the treasurer holds a Cockpit mandate with pilot ceilings.
- Integrates. Order intents in via the SDK; evidence exports to a review folder beside the ERP.
- Deliberately not yet. No production funds. Ceilings at pocket size. No external counterparty.
- Proof that gates the next phase. A month of paper flow in which every movement reconciles from the event ledger alone, with zero manual corrections.
Production: Your frame, your law, real ceilings.
- Runs. A sovereign frame in your datacenter: registry, TEG, EventStore, identity fabric. About nine containers.
- Agents. The full cast under liability clamps; every agent mTLS-attested; the reconciler reads and can never move.
- Integrates. ERP receives signed evidence continuously; market data feeds the sentinel; the OMS submits intents.
- Deliberately not yet. One settlement corridor only. The federation license is held; the wider mesh stays dark on purpose.
- Proof that gates the next phase. The first production corridor settles with a supply delta of zero on both frames, independently audited.
Federation: Growth becomes configuration.
- Runs. Unchanged infrastructure. More peers.
- Agents. Unchanged cast; per-corridor spend policies bound what each counterparty can reach.
- Integrates. Each new counterparty is a signed card and a license, not an integration project.
- Deliberately not yet. Nothing on this path requires new software.
- Proof that gates the next phase. N corridors, one invariant: every frame’s books balance to zero drift, continuously, in public.
Sizing
| Level | What | Containers |
|---|---|---|
| L1 | Use the network: your agents live on existing registries | 0 of yours |
| L2 | Run the desk: your agent runtimes via the SDK, registry hosted | your agents only |
| L3 | Sovereign frame: registry, TEG, EventStore, identity fabric under your law | ~9, one VM up |
The settlement path, as messages
sequenceDiagram
participant OMS as OMS / intent
participant Desk as swap-desk
participant Gate as authority gate
participant TEG as your TEG
participant Fab as federation fabric
participant PTEG as their TEG
participant ES as event ledger
OMS->>Desk: order intent (pair, size)
Desk->>Gate: authority check (roles, mandate)
Gate-->>Desk: clamped approval
Desk->>TEG: escrow leg (idempotency key)
TEG-->>ES: escrow event, append-only
TEG->>Fab: cross-frame settle
Fab->>PTEG: credit, exactly once
PTEG-->>Fab: confirmation
Fab->>TEG: settled
TEG-->>ES: settlement + evidence chain
ES-->>OMS: signed evidence export
Topology, as declared
flowchart LR
SD["swap-desk agent"] -->|"POST /api/v1/teg/transfer"| REG["registry (FastAPI)"]
REG -->|"X-Capability-Token"| GATE{"resolve_capability<br/>caveats and budget"}
GATE -->|"over ceiling"| PUSH["push approval<br/>device enclave"]
PUSH -->|"WebAuthn ES256, uv bit"| GATE
GATE --> TEG["TEG layer<br/>atomic transfer + fee"]
TEG -->|"/teg/fx/route"| FX["FX pools<br/>frame A to frame C"]
TEG -->|"TokensTransferred<br/>TransactionFeeCollected"| ES[("event store<br/>immutable, CQRS")]
ES --> AUD["independent auditor<br/>delta = 0"]
Standing it up
- Infrastructure. Free licence, 9 containers, about two minutes. Or use a hosted registry and write nothing.
- Agents. 4 to 6 roles. The SDK carries A2A routing, payment verification, and credentials.
- Integration. Your bank connectivity and your ERP. This is the long pole and we will not pretend otherwise.
What this does not claim
- MERIDIAN is not a bank, a payment institution, or a custodian of fiat.
- The fiat lane is purchase-only, has no withdrawal path by deliberate design, and is off on most deployments.
- Nothing here is a regulatory authorisation and nothing here is legal advice.
Browse all 21 blueprints, read the documentation, or start at theprotocol.cloud.