Overview
The Cavos CLI operates using session keys exported from your dashboard. A session key is a limited-privilege private key that can execute transactions within the constraints of a policy.Session Components
A session token contains:| Component | Description |
|---|---|
| Session Private Key | Signs all transactions (never leaves your device) |
| Wallet Address | The on-chain account address |
| Network | Mainnet |
| App Salt | Unique identifier for your application |
[!WARNING] The session token is sensitive. Anyone with access to it can execute transactions within your policy limits.
Session Lifecycle
1. Creation (Dashboard)
Sessions are created in the Cavos Dashboard:- Login with Google/Apple OAuth
- Navigate to Settings → Sessions
- Click “Create New Session” or use an existing one
- Configure policy (allowed contracts, spending limits)
- Click “Activate Session” to register it on-chain
- Export the session token for CLI use
2. Export & Import
Export from Dashboard:3. Usage
Once imported, the CLI uses the session key to sign all transactions:4. Expiration
Sessions expire after ~24 hours by default. When expired:5. Revocation
You can revoke sessions at any time from the dashboard:- Dashboard → Settings → Sessions
- Click “Revoke Session” next to the session
- Confirm revocation
Session Policies
Policies define what a session key can and cannot do. They are enforced on-chain by your account contract.Allowed Contracts
Restrict which contracts the session can interact with:Spending Limits
Limit how much of each token the session can spend:Max Calls Per Transaction
Limit the number of calls in a single transaction (formulticall):
Checking Session Status
Usesession status to see the on-chain state of your session:
Security Best Practices
1. Principle of Least Privilege
Only include contracts and limits you actually need: Bad (overly permissive):2. Short-Lived Sessions
Create sessions with shorter durations for sensitive operations:- Trading bots: 1-2 hours
- One-time tasks: 30 minutes
- Long-running agents: 24 hours (default)
3. Secure Storage
Never commit session tokens to Git:4. Revoke When Done
Always revoke sessions when you’re finished:Multi-Device Sessions
You can use the same session on multiple devices:- Same wallet address
- Same spending limits
- Same policy
[!CAUTION] If one device exceeds the spending limit, the other device will also be blocked.
Troubleshooting
”Session not registered”
Cause: Session was never activated on-chain. Solution: In the dashboard, click “Activate Session” before exporting.”Session expired”
Cause: Session validity period (default 24h) has passed. Solution: Export a new session from the dashboard.”Spending limit exceeded”
Cause: Cumulative token usage exceeded the policy limit. Solution:- Check current usage:
cavos policy show - Revoke old session (dashboard)
- Create new session with higher limit
”Contract not allowed”
Cause: Target contract not inallowedContracts.
Solution: Create a new session with the contract address included in the policy.

