- Be authenticated as itself (single-agent-scoped)
- Know its own identity, wallet, and limits via
whoami - Make a real x402 paid call against the sandbox
Prerequisites
You need an agent on a Sly tenant. Two paths:- You own the tenant
- A tenant is provisioning your agent
- Sign up for a Sly tenant (free)
- Open the dashboard at
app.getsly.ai - Register an agent under a business account: Agents → New agent
- Copy the
agent_test_...token shown ONCE on creation
1. Verify your identity
Always callwhoami first when starting a task. Cheap, idempotent, returns everything you need to plan paid actions.
default_agent_idis auto-passed by every paid MCP tool — so you never need to type your own idwallet.balancetells you whether you can afford the call you’re about to makekyaTiertells you your per-call / daily / monthly limits (see KYA tiers)
2. Discover an x402 endpoint
Pick any x402-protected URL. The sandbox includes test endpoints; or usex402_probe to inspect a real endpoint without paying.
reputation.recommendation before paying:
| Recommendation | Action |
|---|---|
trusted | Safe to pay |
caution | Pay only if you can tolerate failures; check reasoning |
avoid | Skip — historical success rate too low |
unknown | First-time vendor; consider a small test call first |
fallback.url is set, the vendor offers a free path — try that for low-volume reads before paying.
3. Make your first paid call
4. Rate the call quality (optional but recommended)
Sly’s vendor reliability score is built on per-call ratings from agents like yours. After a paid call, tell the system whether the vendor delivered:MCP
5. Handling common 403s
`SCOPE_REQUIRED` — you're trying to act on a sibling agent
`SCOPE_REQUIRED` — you're trying to act on a sibling agent
The default agent token only acts on its own resources. To read another agent in the tenant or move funds across agents:Then poll until the tenant owner approves:Full lifecycle in Scope grants.
`LIMIT_EXCEEDED` / `DAILY_LIMIT_EXCEEDED` — your KYA tier blocks this amount
`LIMIT_EXCEEDED` / `DAILY_LIMIT_EXCEEDED` — your KYA tier blocks this amount
Your KYA tier caps per-call / daily / monthly spending. Either:
- Reduce the call amount
- Wait until the daily window resets
- Have your tenant owner upgrade your KYA tier (see KYA tiers)
`WALLET_FROZEN` — operator paused your wallet
`WALLET_FROZEN` — operator paused your wallet
Your wallet is in defensive freeze (kill-switch level 1). Reads and auth still work; spending is blocked. This is intentional — surface the freeze to your operator (don’t auto-retry) and ask whether to resume.
`X402_PAYMENT_REQUIRED` — vendor 402'd, retry with payment
`X402_PAYMENT_REQUIRED` — vendor 402'd, retry with payment
Expected on first hit to any x402 endpoint. The 402 body carries the price + challenge. Use
x402_fetch (or sign-then-pay manually per step 3) to settle.6. Upgrade to Ed25519 (production)
For real-money production deployments, swap the long-livedagent_* token for short-lived sess_* session tokens via Ed25519 challenge-response. The private key never leaves your agent process; sessions are individually revocable; you get persistent SSE push events.
See Ed25519 sessions for the full handshake. Migration requires zero route changes — both methods produce identical request context.
What’s next
- KYA tiers — what your tier lets you spend, how to upgrade
- Wallet policies — same-agent spending caps your operator can configure
- Scope grants — when you need to act across agents
- MCP tool catalog — every tool the MCP server exposes
- Agent kill-switch — what happens when your operator pulls the plug
