Zone model
| Element | Description |
|---|---|
| Zone DID | The organisation DID that owns the zone (did:oas:sigil:mhr:<org> or did:oas:sigil:agent:<org>). |
| Namespace | Per-zone contract namespace under the zone DID. |
| Balance | Native and custom-token balances held by the zone DID. |
| Storage | Per-zone AkashaKV partition, isolated from other zones. |
| CZAC channels | Outbound and inbound messaging channels to other zones. |
Lifecycle
RegisterZone writes a Zone record under zones/<zone_did>. The zone is immediately addressable for contract deployment, balance transfers, and CZAC channel creation.
Governance
Zones do not have admin keys. Policy changes are signed by the zone’s organisation DID. If the organisation is anmhr, the FROST threshold signature is required.
Mandates issued by the zone DID can delegate bounded capabilities to autonomous agents inside the zone; see mandates.
Contract deployment
Contracts deployed inside a zone live undercontract/<contract_id> keyed by the zone DID. The contract id is the BLAKE3 hash of the zone DID, the contract name, and the deployment height.
A zone can deploy any number of contracts. Each contract has its own storage partition under the zone’s AkashaKV namespace.
Cross-zone messaging
Cross-zone communication uses CZAC (Cross-Zone Atomic Channel) protocol. CZAC guarantees:- Ordered delivery.
- Exactly-once semantics.
- Per-channel deposit and slashing for misbehaviour.
- 7-day dispute window with the last-signed message winning.
Gas accounting
Zones are gas-metered independently. Each contract call in a zone consumes gas from the caller’s budget at the rate set insigil.system.parameters. The zone DID can subsidise calls by attaching its own balance to the gas budget.
Storage limits
| Limit | Value |
|---|---|
| Storage entries per zone | Unlimited (subject to disk usage). |
| Per-entry size | 64 KiB. |
| Total zone storage cost | Per-byte rent under sigil.system.parameters.zone_storage_rent_bps. |
Use cases
| Use case | Why a zone |
|---|---|
| DAO with custom voting | Custom contracts with a shared zone balance. |
| Multi-agent organisation | Mandates issued by the zone DID delegate to internal agents. |
| Game world | Per-game state isolation with cross-zone CZAC channels for trades. |
| Enterprise integration | Zone-scoped contracts that mirror enterprise records. |
Implementation
- Zone state:
node/sigil-core/src/zone.rs. - Zone executor:
node/sigil-node/src/executor_zone.rs. - CZAC:
node/sigil-czac/src/*.rs.
See also
- Smart contracts — what runs inside a zone.
- CZAC channels — cross-zone messaging.
- Open a payment channel — recipe.