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.
Next Steps
AI Agents
Use sessions with autonomous AI agents
Examples
Common workflows and patterns
Advanced Security
Deep dive into security architecture

