Coming soon. Multilateral Netting opens to design partners first. Paths, field names, and schemas below are the planned shape; final versions publish at launch.
- Five touchpoints, the same for every book - agent usage, loans, invoices, trades.
- You never call a clearing contract to submit or settle - you sign once, and the protocol can use that signature only inside your window and only for your net.
- The run itself: How It Works.
Onboard
- Workspace and API key - as for any TetraFi API (Authentication).
- Credentials admit you - a verified legal entity, sanctions-clear standing, rulebook adherence, and one completed test run. Nobody hand-picks applicants.
- Set your policy domain - who you net with (each pair approves the other), your deadline-tier menu, and your visibility slice.
Submit Obligations
An obligation is one debt: who owes whom, how much, in which asset on which chain, by when. Three ways in, set by who asserts the debt:
No edit path for trade-born obligations: a correction is a signed offsetting entry, never an amendment.
Key fields: counterparty, asset and chain, amount, deadline, and an
Idempotency-Key header on every write.
Sign Once
- One EIP-712 signature per obligation carries everything - the debt, where its funding comes from, the window it may be locked in, a lock limit bound to the run, and the compliance policy it was accepted under.
- Enforced on-chain - it travels as a Permit2 witness or inside an ERC-3009 authorization, so the window is enforced at lock time.
- Any custody stack that signs EIP-712 typed data can produce it.
- Signing is off-chain - beyond a one-time Permit2 approval per token, you never call a clearing contract to submit or settle.
notBefore, notAfter), lock limit, compliance policy hash.
Each Run
Runs follow your deadlines. For each one:1
Notice
A
notice.published event brings your net per asset and chain - arithmetic over debts you already signed.2
Object or stay silent
POST /clearing/objections names obligation ids inside the notice window. Silence accepts.3
Lock
When the lock window opens, your signature locks your net - never more - into your own escrow position for that run. Until then your capital stays in your wallet.
4
Commit and release
When the lock window closes, the run commits over everything that locked and balances, and pays out only along obligations you signed. A side that didn’t lock drops out with whatever depended on it, is refunded, and carries to the next run - nothing is recomputed.
POST /clearing/resolutions records your choice: accept a buy-in bid from the auction or the vault, wait, or declare.
Key fields: run id, net per asset and chain, notice window, lock window.
Reconcile
- One statement per run - every obligation it touched (signed, set off, remaining) with its lock, release, refund, and fee lines: your gross book mapped to the net that moved.
- ISO 20022 exports - camt.053 for the statement, pacs.009 for each released net.
- Provably the agreed copy - the statement’s hash is committed on-chain.
GET /clearing/runs/{id}/statement and settlement.released events.
How a Debt Ends
Endpoint and Event Map
Events, pushed to the webhook you register:
batch.analyzed, notice.published, run.committed, settlement.released, obligation.late, payout.settled.
On-Chain
- Clearing record - every obligation and its state, encrypted so each member reads only its own
- Verifier - checks each run’s validity proof before anything commits
- Run escrow - one position per payer per run; it pays only along obligations that payer signed and refunds to the payer after a timeout, which anyone can trigger - no key of ours can send funds anywhere else
- Settlement endpoints - one per chain, where net movements land
Agentic Netting
What an agent platform adds: batches from your stack, analysis mode, payouts.
Register Interest
Join the design partners integrating first.