Policy And Approvals
Set spending caps, allowlists, and when user confirmation is required.
Seashail evaluates every write (for example send_transaction, swap_tokens, open_perp_position, buy_nft) against policy before any key material is decrypted.
Tiered Approvals
The default policy is designed to:
- auto-approve small transactions
- require explicit user confirmation for larger ones (MCP elicitation)
- hard-block transactions above a maximum
Common Controls
- Per-transaction and daily USD caps:
max_usd_per_tx,max_usd_per_day - Swap slippage cap (basis points):
max_slippage_bps - Fail-closed when USD value is unknown:
deny_unknown_usd_value - Force confirmation for remote-constructed transactions:
require_user_confirm_for_remote_tx - Send allowlisting:
send_allow_any,send_allowlist - Contract allowlisting:
contract_allow_any,contract_allowlist - Operation toggles:
enable_send,enable_swap - Perps controls:
enable_perps,max_leverage,max_usd_per_position - NFT controls:
enable_nft,max_usd_per_nft_tx
Viewing And Updating Policy
Use:
get_policyto view current policyupdate_policyto replace policy rules
Per-Wallet Overrides
Seashail supports per-wallet policy overrides:
get_policy({ wallet })shows the effective policy for that walletupdate_policy({ wallet, policy })sets an override for that walletupdate_policy({ wallet, clear: true })removes the override
If you update policy via an agent, prefer a workflow like:
- Read
get_policy - Modify only the intended fields
- Apply with
update_policy
This avoids accidentally loosening unrelated safeguards.
See Also
- Troubleshooting for policy error solutions
- Security Model for threat analysis and tiered approval rationale
- Glossary for definitions of tiered approval, bps (basis points), and policy terms
- Policy Tools Reference for exact parameter details