All docs

What each rule does

The limits on payments, how trust grows, and how an action is refused or proposed.

Payments go only where you said

A payment from a vault is made only to a recipient on your approved list, only up to the cap you set for a time window, and never if it would leave a box below its floor. The contract refuses anything else: the agent is not asked to behave, it is unable to do otherwise.

You can pause the agent, resume it or remove it. Pausing and removing take effect in the same transaction.

Where this is enforced: contracts/src/vault/BoxVault.sol

The agent earns room slowly

The agent's payment cap starts small and rises in steps, only after clean months and after tax due dates were paid without incident. Some actions, such as paying taxes in local currency, stay off until enough clean due dates have passed.

Anything above the amount you set for signatures, and structural changes, are proposed to you instead of executed. A proposal that you do not answer expires and nothing moves.

Where this is enforced: packages/brain/src/autonomy.ts, packages/brain/src/proposal.ts

A check before every action

Before acting, the agent predicts the result of the action on your boxes and refuses it if the result would break an invariant, for example money created or lost, a negative box or a box below its floor. If an invariant is ever found broken, the agent halts and tells you why.

Where this is enforced: packages/brain/src/invariants.ts, packages/brain/src/breaker.ts