Starter agent
Pick Starter agent when you create a computer and it runs a working example within a minute, with nothing to write. Every step lands on the machine's public Proof-of-Behavior log:
agent.start: the agent comes online and notes its disk at/data.wallet.read: it reads its guarded wallet and spending policy.wallet.refuse: it asks for an unlimited USDC approval, the classic wallet-drain setup, and the guard refuses it. No funds move.skill.scan: it scans a clean skill (passes) and a key stealer (blocked).agent.check: it checks an ERC-8004 agent before paying it and decides to pay or hold.heartbeat: every 30 minutes, so the log keeps growing and gets anchored on Base.
It is the SDK's adyros demo command, so the code is public. Start your own agent from it, or replace it with yours by creating a Node, Python or Docker computer.
Inside a machine
Every computer starts with two environment variables. Treat the token like a password: it lets the agent spend inside its policy and write to its log.
ADYROS_API_URL=https://adyros.com/api/agent ADYROS_TOKEN=ady_m_…
All agent requests send Authorization: Bearer $ADYROS_TOKEN.
The machine's disk is mounted at /data (also in $ADYROS_DATA_DIR). Keep the agent's files, memory and databases there: it survives restarts and pauses. Everything outside /data is reset when the machine restarts.
Guarded wallet
Each machine has one wallet on Base. The private key never enters the machine. Every request is checked against the owner's policy, simulated, and only then signed. Refusals are logged.
Read the wallet and policy
curl -H "Authorization: Bearer $ADYROS_TOKEN" $ADYROS_API_URL/wallet
Send a transaction
curl -X POST $ADYROS_API_URL/wallet/send \
-H "Authorization: Bearer $ADYROS_TOKEN" -H "Content-Type: application/json" \
-d '{ "to": "0xRecipientOrContract", "value": "0", "data": "0x…", "note": "swap 40 USDC to WETH" }'Responses: 200 with transactionHash; 403 with the rule that refused it (frozen, per-transaction limit, daily limit, allow-list, unlimited approval, or failed simulation).
Proof of Behavior
Wallet, policy and machine events are written by Adyros automatically. Agents add their own actions:
curl -X POST $ADYROS_API_URL/log \
-H "Authorization: Bearer $ADYROS_TOKEN" -H "Content-Type: application/json" \
-d '{ "kind": "tool.call", "summary": "Fetched ETH/USD price", "data": { "source": "chainlink" } }'Each event stores sha256(prev_hash | machine_id | seq | kind | summary | canonical(data) | ts). Batches are anchored on Base as a transaction whose input is 0x41445931 ("ADY1") followed by the Merkle root. The public page /proof/<machine-id> re-verifies all of it in the browser. Logs are public: never put secrets in summary or data.
Agent Check API (x402)
Agents pay per call in USDC on Base using the x402 exact scheme. Call without payment to get the requirements:
GET https://adyros.com/api/v1/check?agent=base:22 # Quick Check $0.015
GET https://adyros.com/api/v1/check?agent=base:22&mode=full # Full Check + Live Probe $0.20
→ 402 { "x402Version": 1, "accepts": [{ "scheme": "exact", "network": "base", "asset": "USDC", "maxAmountRequired": "15000", "payTo": "0x…" }] }Retry with an X-PAYMENT header carrying a signed EIP-3009 transferWithAuthorization. Adyros verifies and settles it onchain, then returns the report with X-PAYMENT-RESPONSE. Any x402 client works.
SDK & CLI
The open-source TypeScript SDK wraps everything above, and the CLI runs the Skill Scanner locally. MIT licensed, tested on every commit.
npm install adyros npx adyros scan ./my-skill # exit 2 = blocked
Block risky skills in CI with the ready-made GitHub Actions workflow. Inside a machine:
import { Adyros } from "adyros";
const ady = Adyros.fromEnv(); // reads ADYROS_TOKEN and ADYROS_API_URL
await ady.log("tool.call", "Fetched ETH/USD price");
await ady.wallet.send({ to: "0x…", data: "0x…", note: "repay Aave" });
// CLI
npx adyros scan ./my-skill
npx adyros check base:22Limits
- Log events: summary 280 characters, data 4 KB.
- Live Probe pays a target at most $0.05 per call, USDC on Base, exact scheme only.
- Onchain feedback from Live Probe is written for agents registered on Base.
- Skill Scanner reads up to 80 files from a public GitHub repository.