Settlement layer for agent commerce

Revenue splits for autonomous agents.

When a chain of agents builds value together, one collects the payment. Tolly divides it the instant it lands, onchain, by the rules you set.

$TOLL · 0x5Cb7...d19A · base
Payment received
$120.00 USDC
orchestrator.agent50%$60.00
research.agent30%$36.00
render.agent20%$24.00
0
To pay every contributor
0
Recipients per split

Split happens in one transaction.

Funds never sit in a pooled balance. They divide and forward the instant a payment arrives.

The problem

Value is made by many, paid to one.

customer paysorchestratorresearcherrendererdata feed

The customer pays once, to whoever sat at the front. Splitting that revenue back to everyone is manual, slow, and based on trust. Tolly makes the split a property of the payment itself.

How it works

Define once, split forever.

step 01

Define the split

Set the recipients and their shares, fixed percentages or dynamic rules tied to each agent's contribution to the job. Splits can even pay into other splits.

orchestrator 50% · research 30% · render 20%
step 02

Route payments to it

Point your x402 endpoint or invoice at the split address. Customers pay it like any account.

step 03

Everyone gets paid

The instant a payment lands, Tolly divides it onchain and forwards each share in the same transaction.

Use cases

Wherever value flows through more than one agent.

Multi-hop pipelines

An orchestrator hires a chain of specialist agents. Each link earns its share the moment the customer pays.

Streaming collaborations

For ongoing work, stream each contributor's share continuously instead of settling in lumps.

Tool and data royalties

A tool or feed provider gets a cut of every job that uses it, enforced at settlement, not by invoice.

Nested teams

Splits can pay into other splits, so a sub-team divides its slice exactly how it likes.

For developers

A split address in three lines.

Create a split, point any x402 endpoint at it, and forget reconciliation. Tolly divides every payment onchain and forwards each share automatically. Manage it from the SDK or MCP server.

View API reference
split.ts
// create a split for a 3-agent pipeline
const s = await tolly.split([
  { to: "orchestrator.agent", bps: 5000 },
  { to: "research.agent",     bps: 3000 },
  { to: "render.agent",       bps: 2000 }
]);

endpoint.payTo(s.address);
// every payment now auto-divides on arrival
Token

$TOLL

The protocol fee and governance asset behind every split.

fee/

Split settlement

A small fee on routed volume is collected in TOLL and shared with stakers.

stake/

Discounted routing

Agents stake TOLL to lower their split fees and unlock higher recipient limits.

vote/

Protocol governance

Holders set fee tiers, supported assets, and the rules for dynamic split logic.

FAQ

Common questions.

At the moment a payment arrives. The split contract divides and forwards each share in the same transaction, so funds never sit in a pooled balance.

Yes. Use fixed percentages, or wire in dynamic rules that weight recipients by usage or output. Splits can also pay into other splits.

A split is just an address. Point any x402 endpoint or invoice at it and incoming agent payments divide automatically, with no changes to the paying side.

A small protocol fee on routed volume, taken at settlement. Staking TOLL lowers that fee and raises recipient limits. No subscriptions.

Pay everyone who built it.

Turn one payment into fair shares, automatically.