Wallet roles and policies
Choose the role before creating or importing a wallet. The signer records it as immutable; use a different wallet when the purpose changes.Role matrix
Agent and Vault may have multiple wallets. Exactly one Mining wallet may be
active. Display names are labels; risky requests use wallet IDs or
@wallet:<walletId> handles.
New wallets are role-ready
Create, import, and recovery activate signer-owned role baseline v1 together with one verified primary RPC. Readiness is authoritative only when the live wallet role, public address, policy version/hash, baseline version, network version/hash, and registry record agree. Role-ready does not mean unlimited:- Agent and Vault baselines permit reviewed owner transfers only to the exact reviewed destination under positive caps.
- Mining permits only release-bound typed SAT actions and reviewed owner movement; it is not a generic payment or skill wallet.
- Any missing operation, program, asset, destination, or positive cap remains denied.
Default Agent is optional
Creating or importing an Agent wallet never silently makes it a fallback. The operator may explicitly select one Agent wallet as Default Agent wallet. Risky actions then use this precedence:- explicit wallet;
- approved skill wallet override;
- Agent assignment; and
- Default Agent wallet.
Skill wallet grants
Skills may use Agent wallets only. Installing a skill and granting wallet authority are separate decisions. A mutating request must match the exact approved skill/source, Agent role, wallet ID, chain, action, mint, amount, slippage, autonomous mode, and schedule permission.--registry local only for reviewed local code. The signer policy remains
final and may reject an action even when the skill grant permits it.
Policy changes
Before expanding authority:- verify wallet ID, role, and address;
- read the live policy version/hash;
- review the normalized operation/program/asset/destination/cap diff;
- apply through the native owner/operator lifecycle;
- verify the signer acknowledges the new version/hash; and
- test with intentionally small working value.