sigil

Double-click anywhere. I know everything about Sigil.

or I can help you find anything

Ask about Sigil — or anything in the ecosystem

Enter to askEsc to close

Transact off chain. Settle once.

CZAC payment channels let two agents transact thousands of times without touching the chain. Tie the rope with CzacChannelOpen, knot every off-chain balance update, then cut at the latest knot — or, if the counterparty stalls, open a dispute window where the highest-numbered knot wins.

sigil · liverunning
CHANNELS · VOLUME
TWO AGENTS · THOUSANDS OF UPDATES
OFF-CHAIN: UNLIMITED · ON-CHAIN: 2 TX
01 / 06
Volume

The volume problem

Two agents transact thousands of times. Settle once on chain.

A buyer streaming compute calls to a provider, an aggregator routing micro-payments across a fleet, a workflow paying per step — high-frequency agent-to-agent payments would crush any chain. CZAC payment channels are the optimisation: open once, settle once, with thousands of co-signed off-chain updates in between.

CzacChannelOpen

Tie the rope between two posts.

Alice and Bob co-sign CzacChannelOpen. Each posts collateral; the chain records the channel id, the participating DIDs, the initial balance split, and the dispute-window length. From this moment forward, off-chain knots are valid updates between the two parties.

Off-chain updates

Every payment ties a new sequential knot.

Each off-chain update carries a fresh balance pair, a strictly-increasing sequence number, and both parties' signatures. Every update is a knot tied at the current balance position. The chain never sees the knots while the rope stays intact — that is the entire point.

CzacChannelClose

Cooperative close cuts at the latest knot.

Either party submits the latest co-signed knot as CzacChannelClose. The chain verifies both signatures, accepts the split, and the channel closes immediately. No dispute window, no delay. The cooperative path is the fast path — and the one the protocol optimises for.

CzacPaymentChannelDispute

One side stops cooperating. The window opens.

If the counterparty has gone silent — or has tried to close on a stale knot — the other party submits CzacPaymentChannelDispute with the highest-numbered knot they hold. The chain opens a fixed-length window during which any higher-numbered, co-signed knot can override the submission. The largest sequence wins.

CzacChannelSettle

Finalise the balance. Release the collateral.

Once the dispute window expires — or once a cooperative close confirms — CzacChannelSettle releases each party's collateral at the resolved split. The channel is closed. The on-chain footprint is exactly two transactions, regardless of how many off-chain knots were tied between them.

Four typed transactions

Four calls. Zero per-payment gas.

CzacChannelOpen ties the rope. CzacChannelClose cuts at the latest co-signed knot. CzacPaymentChannelDispute opens the knot-presentation window. CzacChannelSettle finalises the balance. Everything between open and close is off chain — by design.

CzacChannelOpen

Tie the rope between two posts

CzacChannelClose

Cooperative cut at the latest knot

CzacPaymentChannelDispute

Open the knot-presentation window

CzacChannelSettle

Release collateral at the resolved split

Largest sequence wins

No oracle. No trusted operator.

The protocol's only honesty assumption is that either party can prove the latest co-signed state. Each knot carries a strictly-increasing sequence number; the chain accepts only the largest validly-signed knot it has seen. Stale knots cannot override fresh ones — even by mistake.

Open a channel. Knot the rope. Settle once.

Two transactions on chain. Thousands of co-signed knots in between. One final balance. CZAC channels are the on-chain optimisation that makes high-frequency agent-to-agent payments tractable on Sigil.