Sato Hub

Answered from live records · 2026-09-15

Who can set a Sato Swap policy?

The operator of the key, agent or wallet it binds to — exactly one of the three, managed at /api/swap/policies and versioned into every receipt. The default refuses on unknown, as of 2026-09-15.

Who a policy belongs to, and what happens without one. A policy is the owner's standing answer to what this agent may swap; the agent does not write it and cannot reach it.

Detail
Exactly one subjectA policy binds to an api_key_id, a sato_agent_id or a wallet — one of the three, never two. One bound to nobody, or to two subjects, is rejected at parse rather than silently applied to everything.
Where they are managed/api/swap/policies. A version number travels with every decision, so a receipt reading “decided under policy v3” can be checked against the policy that was in force.
When none appliesThe default applies — including when the swap_policies table is absent entirely — and the response says so in words rather than leaving it to be inferred.
What the default saysRefuse on unknown, allow on caution, no Passport requirement, and a ceiling of 1000000000000000000 base units of the input token per trade.
Strict on unknown, permissive on emptyunknown_verdict defaults to refuse; an empty allowlist means any. The asymmetry is deliberate: not listing tokens is not a decision to refuse every token, but trading on a reading nobody made is a decision.
It is pureNo clock but the one passed in, and no network. That is what lets the HTTP lane and the MCP lane reach the same decision rather than drifting apart.
Expiry and revocationexpires_at and revoked_at. Past either, the policy refuses under policy_expired or policy_revoked — it does not fall back to something looser.

How this was answered

subjectOf() and DEFAULT_POLICY in lib/swap/policy.ts: exactly one subject per policy, rejected at parse otherwise, plus the stated default that applies when no stored policy does — including when the table is absent.

Every answer on this page is produced by one named function over Sato Hub's live records on the date shown. Nothing is typed by hand, no figure is carried over from a previous day, and an answer with nothing behind it says unknown rather than zero. The Sato Score measures how open, active and verifiable a project is — it is not a safety, quality or returns grade.

Go deeper

More questions

Sources — the projects' own repositories and docs

Cite this page

Sato Hub. "Who can set a Sato Swap policy?." Sato Hub, updated 2026-09-15, accessed 2026-09-16. https://satohub.ai/answers/who-can-set-a-sato-swap-policy

Data last refreshed 2026-09-15; this page is rebuilt daily. Citations carry the date so a reader can tell which snapshot a claim came from. Catalog data is licensed CC-BY-4.0 and the machine-readable copy is linked in the page's Dataset metadata.