Agents make
the deal.
Eskari makes
it final.

Escrow and settlement between agents. Eskari holds both legs of a deal and settles them atomically. The asset moves only if the payment does.

The who-goes-first problem

Someone always has to go first. When one company's agent buys from another's, one side pays and hopes, or delivers and hopes. Agents can negotiate in seconds. They still can't trust each other.

FIG 0.1

Pay first and hope

The buyer's agent sends the money, then waits for a delivery it has no way to enforce.

FIG 0.2

Deliver first and hope

The seller's agent hands over the asset, then waits for a payment that may never arrive.

FIG 0.3

Or lock both and settle once

Eskari holds both legs. They move together in one transaction, or neither moves at all.

Lock both legs.
Settle once.

Both agents commit to the same terms and each leg is locked in escrow. When the conditions hold, both legs settle in a single atomic transaction. When they don't, both unwind.

Step through it below, then switch to the path where a condition fails.

ESC-2047 GPU-hours for USDC
Buyer procure-01 Acme Robotics
Escrow Eskari Contract on Canton
Seller broker-07 Northfield Compute
Payment legReleased to seller
25,000 USDC
Asset legReleased to buyer
2,000 GPU-hours

Settled. Both legs moved in one transaction.

Conditions
  • Terms signed by both agents
  • Payment leg locked
  • Asset leg locked
  • Capacity attested before deadlineCapacity not attested by 14:32 UTC
Events
  1. escrow.opened terms a41f…c9e2
  2. leg.locked payment · 25,000.00 USDC
  3. leg.locked asset · 2,000 GPU-hours
  4. conditions.met capacity.attested
  5. escrow.settled 2 legs · 1 transaction

Every deal,
both legs

A console for the people behind the agents. See what is locked, what settled and what unwound, with the reason attached to every outcome.

In the console

Both legs, side by side
Payment and asset on one screen, with who locked what and when.
Reasons, not just states
Every unwind names the condition that failed and the moment it failed.
Deadlines on every escrow
No leg stays locked forever. Each escrow settles or unwinds by a set time.
Limits per agent
Decide which agents can open escrows, with whom, and up to what size.

Two parties
see the deal

Eskari runs on Canton, where a contract is shared only with its stakeholders. Your price, your counterparty and your terms stay between the two of you, plus anyone you both choose to add.

Pick a participant to see the deal through their eyes.

On the network
Ledger as seen by procure-01 1 contract
ESC-2047 Stakeholder · can act
Buyer
procure-01 · Acme Robotics
Seller
broker-07 · Northfield Compute
Payment leg
25,000.00 USDC
Asset leg
2,000 GPU-hours
Settles when
capacity.attested by 14:32 UTC
Outcome
Settled at 14:17:41
CounterpartiesAlways

The buyer and the seller see every field. They are the deal.

ObserversOnly by invitation

An auditor or a finance team can read along if both sides add them.

Everyone elseNever

Other agents, other companies and unrelated nodes receive nothing.

One call opens
an escrow

Give your agent a way to trade with counterparties it has never met. Open, lock, wait for the result. Eskari reports one outcome for both legs.

agents/procure/settle.ts TypeScript
import Eskari from "@eskari/sdk";

const eskari = new Eskari({
  apiKey: process.env.ESKARI_KEY,
});

// Both agents sign the same terms.
const escrow = await eskari.open({
  buyer: "procure-01@acme",
  seller: "broker-07@northfield",
  payment: {
    asset: "USDC",
    amount: "25000.00",
  },
  delivery: {
    asset: "GPU-HOUR",
    amount: "2000",
  },
  settleWhen: "capacity.attested",
  unwindAfter: "15m",
});

// Lock this agent's leg.
await escrow.lock();

// One outcome for both legs.
const result = await escrow.done();
// "settled" | "unwound"

For developers The SDK is in development. The API shown is illustrative and may change.

One result, not two
Your agent never has to reconcile a payment that went through with a delivery that didn't.
Conditions as data
State what must be true before release. The escrow checks it, not the counterparty.
Events for every change
Opened, locked, verified, settled or unwound. Each one arrives as a webhook.
No ledger code
Your agent calls an API. The contracts underneath are ours to maintain.

What agents
can settle

A stablecoin payment on one side. On the other, whatever the two agents agreed to trade. These are the pairs we are building for first.

Asset leg Example deal Releases when
01 Tokenized assetsFund units, bills, on-ledger securities 50 T-bill units for 49,870 USDC Both legs are locked and the terms match
02 Data licencesDatasets, feeds, usage rights 30-day market data feed for 4,200 USDC The licence grant is issued to the buyer
03 Compute creditsGPU-hours, inference, storage 2,000 GPU-hours for 25,000 USDC The provider attests the capacity is reserved
04 InvoicesAgent-to-agent payables Invoice INV-0118 for 18,640 USDC The invoice is marked discharged in the same step

Trading something else? Tell us when you request access.

All legs or none is a property of the ledger, not a promise from us.

Atomic transactionsEvery leg of a Canton transaction commits together, or none do.

Only the parties to a contract ever receive it.

Privacy by defaultData goes to stakeholders only.

Eskari is built on the Canton Network, a public ledger with privacy designed for finance.

About Canton

Questions

What does “atomic” mean here?

The payment and the asset move in the same transaction. Either both legs complete or neither does. There is no moment where one side has paid and the other has not delivered.

What happens if a condition is not met?

Both legs unwind. The payment returns to the buyer and the asset returns to the seller, in one transaction. Every escrow carries a deadline, so nothing stays locked indefinitely.

Who can see a deal?

The buyer, the seller, and anyone they both add as an observer, such as an auditor. Canton shares a contract only with its stakeholders. Other participants on the network never receive it.

What does Eskari itself see?

What the escrow needs to hold and release the two legs: the parties, the legs, the conditions and the deadline. Eskari is a party to the escrow contract. It is not a party to the rest of your agents' business.

How do agents integrate?

Through an API and SDK. An agent opens an escrow, locks its leg and waits for a single result. You set limits on which agents can open escrows, with whom, and for how much.

What can be settled?

We are starting with stablecoin payments against tokenized assets, data licences, compute credits and invoices. If your agents trade something else, tell us when you request access.

Is Eskari live?

Not yet. Eskari is pre-launch. The screens and figures on this page are illustrative. Request access and we will reach out as we open up.

Neither side
goes first.

Eskari is pre-launch. Leave a work email and we will reach out as access opens.