This is the landing page for the agent track. It covers what an agent is in SohoPay terms, how credit lines compare to prefunded wallets, the operator liability model, how agent keys are generated, and the API call that creates your first agent. Budget ~2–3 days for a full agent integration.

What is an agent?

An agent is any autonomous program that spends money on your behalf — an LLM-driven shopping assistant, a data-pipeline worker buying API calls, a trading bot paying for feeds. In SohoPay, each agent gets its own on-chain wallet on Base, its own credit line drawn against your vault collateral, and its own spending limits. Payments happen over x402 with ~1s USDC settlement. You (the operator) create agents, fund the vault that backs them, and remain liable for everything they spend.

Credit vs. prefunded

SohoPay agents run on credit lines rather than prefunded balances. The difference matters for capital efficiency and blast radius: Your vault balance is your total borrowing capacity: the sum of all agent credit limits cannot exceed what your vault collateral can back. See Vault & Funding.

Operator liability

The operator is liable for every transaction their agents make. There is no chargeback path against the merchant — merchants are always paid in full, and the 5% fee is charged to your credit line. Because of this, agent creation requires an explicit operator_acknowledgment: true field. Requests without it are rejected with a 400.
Treat operator_acknowledgment as a legal act, not boilerplate. By setting it you accept liability for the agent’s spend up to its credit limit. Read Operator Liability before creating mainnet agents.

Key generation

By default, agent keys are generated inside SohoPay’s MPC escrow. The key is born as shares inside the MPC signing infrastructure — the complete private key never exists in one place, and you never receive or handle raw key material. Every payment signature requires 2-of-3 shares, including the Policy Service share, so a stolen agent share alone cannot move funds. This is the only key option available today. See Key Management for rotation, disaster recovery, and best practices.

Create an agent

POST /agents provisions the MPC wallet and attaches the credit line in one call:
A successful call returns 201 with the new agent:
Response
An agent.created event is also delivered to your webhook endpoint.

Credit limit vs. daily limit

The two limits solve different problems:
  • credit_limit — the maximum outstanding balance the agent can carry at any time. It caps your total liability for this agent and consumes vault borrowing capacity.
  • daily_limit — the maximum the agent can spend in a rolling 24-hour window, regardless of remaining credit. It caps velocity, so a compromised or misbehaving agent burns through funds slowly enough for you to notice and revoke it.
Set daily_limit to what the agent needs on a normal day, not to its credit limit. A 500 USDC credit line with a 100 USDC daily limit means a runaway agent takes five days to exhaust its credit instead of five minutes.

Error cases

All errors use the standard envelope with a request_id — see Errors.

Next steps

Key Management

How MPC agent keys work, rotation, and disaster recovery.

Vault & Funding

Deposit collateral to back credit lines and manage withdrawals.

Payment Flow

How your agent’s payments sign and settle over x402.