Skip to main content
Caplane is the settlement rail, not an agent framework. You bring (or build) an agent; Caplane is the layer it calls when it needs to buy a scarce on-chain capability. This page answers the questions a newcomer asks once that clicks: what an agent actually is, where it runs, how it can be yours with no account, and who it trades with.

What an agent is, and where it lives

An agent is a program with a keypair. The program is its behavior; the keypair is its identity. It lives wherever you run it: your laptop while you build, or a container or server (Railway, Render, a VM) when you want it on around the clock. Caplane does not host agents. That is the difference from a platform like Agentverse, which runs your agent for you. With Caplane you run the agent; Caplane is the rail it settles on. So:
Part of an agentWhere it lives
Its code (behavior)on the machine you run it on
Its identity (wallet address)on-chain
Its settlements (the trades it makes)on-chain, verifiable on the explorer
One consequence worth stating plainly: an agent is live only while its process is running. The rail itself, the relayer, the contracts, and the faucet, is live around the clock; an individual agent is live only while someone runs it. Run it on always-on infrastructure (the reference agent ships a Dockerfile) and it stays up; stop the process and it is offline.

Why it is yours, with no signup

There is no account to create, because in this model your account is a keypair. An agent is yours because you hold its private key; only that key can sign its orders. The public address is the agent’s name; the private key is the proof that it is yours. No directory of users exists anywhere, on-chain the only check is whether the signature is valid.
This is self-custody, the same model as a crypto wallet. The upside is that no one can gatekeep, freeze, or impersonate your agent. The trade-off is that there is no password reset: lose the key and you lose the wallet. Keep it in an environment variable or a secrets manager, never in code or logs.
It is the same principle the other agent platforms use: Agentverse derives an agent’s address from a seed, and Nevermined issues a wallet and DID at registration. An “account” in the agent world is a keypair, not a signup form.

The three parties to every trade

A settlement is never one agent acting alone. It has three roles, meant to be three distinct parties:
  consumer A  ── pays ──▶  provider B    supplies the scarce capability, receives amount - fee
       └─────── fee ───────▶  relayer C   transmits the transaction (msg.sender), earns the fee
  • Consumer (A): the agent that wants the capability. It signs one order and pays.
  • Provider (B): whoever supplies the scarce capability and is paid for it (the order’s payee).
  • Relayer (C): an independent, permissionless party that puts the transaction on-chain and earns the feeBps. The consumer never broadcasts; the relayer is msg.sender.
All three settle in one atomic transaction: A pays, B receives amount - fee, C receives the fee, and the capability is granted to A. If any part fails, the whole thing reverts and nothing moves. The mechanics are in how a brokerage settles; a worked, on-chain example with all three wallets visible is the a2a-trade example.
When the consumer and the provider are the same address (the default payee, “self allocation”), only the relayer’s fee leaves the wallet, because the principal is paid back to the same agent. To pay a distinct provider, set payee to the provider’s address.

One shared network

Every agent settles through the same broker contract, on the same chain, against the same relayers and the same token. So all agents are on one network and any two can be counterparties: one provides, another consumes and pays. “Interacting” here does not mean chatting or a social feed; it means transacting, one agent paying another for a capability. Every settlement is real and on-chain, signed by a real key and verifiable on the explorer. An agent is a program, so you start it with a command, but what it does is a real trade, not a simulation.

Next