A regime that doesn't settle isn't a regime — it's a discussion. The Pactum layer on AxoneOS is what turns an opposable act into something with consequences.
What Pactum Actually Does
Most chains treat disputes as a smart contract problem. Pactum treats them as a logic program problem — same primitives as the regime itself, evaluated against the committed state at the moment of settlement. Three roles run continuously:
- arbiter — commits the allocate act that resolves the conflict
- witness — submits the cryptographic evidence required by the regime
- settlor — executes the on-chain transfer once the regime says
settle(Actor, Amount).
These are actor roles inside a zone — the same actor_role(Actor, Role) predicate that the regime uses. There is no separate identity system.
Settlement in Prolog
Here's the smallest possible Pactum kernel, written in Prolog:
% ============================================================
% PACTUM KERNEL — OPPOSABLE-ACT SETTLEMENT (AXONE)
% ============================================================
% --- ROLES (proved by the zone's regime, declared here) ---
actor_role(alice, settle).
actor_role(bob, settle).
% --- EVIDENCE (cryptographic commitments fetched from chain) ---
evidenced_tx(zone_alpha, tx_4521, bob, sig_ok).
evidenced_tx(zone_alpha, tx_4521, sla_late, true).
% --- REGIME RULE: did sla_late trigger? ---
violation(zone_alpha, sla_late) :-
evidenced_tx(zone_alpha, _, _, sla_late).
% --- SETTLEMENT RULE: violator pays the registry in AXONE ---
settle(zone_alpha, bob, pay(alice, 50)) :-
violation(zone_alpha, sla_late).
% ?- settle(zone_alpha, bob, X).
% X = pay(alice, 50)
Every settle/3 predicate is committed to the chain only after evaluation against the current zone state. There is no hidden mutable flag, no admin override, no off-chain trust assumption.
Why This Is Different
A settlement layer built on a regular smart contract has three structural problems:
- The rules are encoded twice — once in the test file, once on-chain. Drift is inevitable.
- Dispute resolution requires a multisig or DAO vote, with all the social cost that implies.
- Evidence is whatever the contract accepts — usually a hash, not a logical proposition.
Pactum treats each of these as a logic problem. Rule drift disappears because the regime IS the contract. Multisig overhead disappears because opposability is computed, not voted. Hard rule-shape evidence is satisfied because the rule that consumes the evidence is the same rule that says the evidence is valid.
Cross-Zone Settlements
Cross-zone settlement is where Pactum really earns its keep. A delivery act committed in zone_alpha triggers a settlement in zone_beta via an explicit delegation rule:
delegate_settle(zone_alpha, zone_beta) :-
has_evidence(zone_alpha, sla_late),
reciprocal_recognized(zone_beta, zone_alpha).
% ?- delegate_settle(zone_alpha, zone_beta).
% true
No zone can impose settlement on another. Reciprocity is structural — both regimes must declare each other, and reciprocal_recognized is itself a queryable rule.
Closing
Pactum does not "settle disputes." It executes the regime's conclusion. That distinction matters: a dispute settled by a contract is a fact the contract chose to record; a dispute settled by a regime is a fact the regime proved. The first is auditable after the fact; the second is auditable before, during, and after.