General Liquidity
Capabilities

Delegation

Handing authority to another agent, and the rule that makes it safe: it can only ever get narrower.

Granting

Authority is granted by an operator, not claimed by an agent. A grant binds an agent key to a mandate, with its own expiry and the operator's counter-signature. An instruction carries that grant inside its envelope, so every payment says under whose authority it is being made.

Grant
{
  agentId:   string    // the key being authorised
  mandateId: string
  expiresAt: string
  signature: string    // the operator's, not the agent's
}

Narrowing

When one agent passes work to another, the authority travels with it and can only be reduced. A second agent never has more room than the first, and nothing it says about itself changes that. Widening on delegation is the failure that makes multi-agent systems dangerous around money, so it is not expressible.

Sessions

Where several parties are involved in one piece of work, a session holds the composition: who is acting, under what, and how the pieces relate. This is what stops two separately-legitimate steps combining into something neither of them authorised.

Short-lived keys

Authority scoped to a stretch of work and then expiring. The value is not convenience: it is that a compromise has an end date without anyone having to notice it.

Negotiated terms

Where an agent and a service negotiate price or terms directly, the exchange is bounded per round against the mandate, and the agreed terms are sealed so a settlement cannot exceed what was authorised. We bound the envelope of the negotiation. We do not have opinions about bargaining strategy.

Taking it back

Revoking a mandate stops future spending under it. Revoking an identity is a different act, and both exist, because a stolen key that is still trusted for the rest of its freshness window is a live problem rather than a theoretical one. See revocation.