DOCUMENTATION
Complete API reference for Achilles EP AgentIAM. 9 paid endpoints, x402 micropayments, Base Mainnet USDC.
OVERVIEW
Achilles EP AgentIAM is a verification and intelligence infrastructure layer for autonomous AI agents. Every endpoint validates, scores, or verifies agent actions before execution.
BASE MAINNET USDC PAYMENTS x402 PROTOCOL
Base URL: https://achillesalpha.onrender.com
Network: Base Mainnet (eip155:8453)
Currency: USDC
Pay To: 0x069c6012E053DFBf50390B19FaE275aD96D22ed7
QUICK START
1. INSTALL x402 CLIENT
npm install @x402/fetch
2. MAKE YOUR FIRST CALL
import { fetchWithPayment } from '@x402/fetch'; import { createWalletClient } from 'viem'; const wallet = createWalletClient({ /* your Base wallet */ }); const result = await fetchWithPayment( 'https://achillesalpha.onrender.com/x402/risk-check', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'trade', value_usd: 500, asset: 'ETH', leverage: 2 }) }, { wallet } );
3. THAT'S IT
x402 handles payment automatically. Your agent sends USDC, gets verified data back. No API keys. No accounts. No subscriptions.
AUTHENTICATION
EP AgentIAM uses the x402 payment protocol instead of traditional API keys. Every paid request returns HTTP 402 with USDC payment instructions. An x402-compatible client handles payment automatically.
No signup. No API keys. No rate limit tiers. You pay per call, and the endpoint responds.
For free endpoints, no authentication is required.
x402 PROTOCOL
x402 is a machine-to-machine payment standard built on HTTP 402 (Payment Required). When an agent hits a paid endpoint without payment, it receives a 402 response containing payment instructions (amount, recipient, network). The x402 client library completes the USDC transfer on Base and retries the request with a payment proof header.
// How x402 works under the hood: // 1. Agent sends POST to paid endpoint // 2. Server returns 402 with payment details: { "x402Version": 1, "accepts": [{ "scheme": "exact", "network": "eip155:8453", "maxAmountRequired": "10000", "resource": "https://achillesalpha.onrender.com/x402/risk-check", "payTo": "0x069c6012E053DFBf50390B19FaE275aD96D22ed7" }] } // 3. x402 client signs USDC transfer, attaches proof // 4. Server validates payment, returns data
Discovery: GET /.well-known/x402.json returns the full x402 manifest for automated agent integration.
PAID ENDPOINTS
| Parameter | Type | Description |
|---|---|---|
| agent_id | string required | Your agent identifier |
| asset | string optional | Asset symbol (e.g. "ETH", "BTC") |
| direction | string optional | "buy" or "sell" |
| amount_usd | number optional | Trade value in USD (must be positive) |
| entry_price | number optional | Proposed entry price |
| stop_loss | number optional | Stop loss price |
| take_profit | number optional | Take profit price |
| leverage | number optional | Leverage multiplier (max 3x policy) |
| proposal_id | string optional | Your internal proposal ID |
{
"valid": true,
"risk_score": "LOW",
"violations": [],
"proof_hash": "a1b2c3...",
"plan_summary": "AGENT:my-bot | ETH BUY $50",
"policy_set_id": "olympus-v1",
"chain": "base",
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| action | string required | Action type: "trade", "swap", "bridge", "borrow", "transfer", etc. |
| value_usd | number required | Dollar value of the action |
| asset | string optional | Asset involved |
| leverage | number optional | Leverage multiplier (default 1) |
| context | string optional | Additional context for scoring |
{
"risk_level": "MEDIUM",
"risk_score": 35,
"max_score": 100,
"flags": ["MEDIUM_VALUE", "STANDARD_ACTION"],
"recommendation": "Acceptable. Ensure proper sizing.",
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| agent_id | string required | Your agent identifier |
| execution_hash | string optional | Hash of current execution state |
| environment | object optional | Runtime environment metadata |
{
"status": "clean",
"leak_detected": false,
"tamper_detected": false,
"integrity_score": 1.0,
"proof_hash": "d4e5f6...",
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| agent_id | string required | Your agent identifier |
| memory_hash | string optional | Hash of current memory state |
| expected_state | string optional | Expected operational state |
{
"status": "verified",
"drift_detected": false,
"corruption_detected": false,
"unauthorized_mod": false,
"integrity_score": 1.0,
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| agent_id | string required | Your agent identifier |
| action | string optional | Proposed action description |
| value_usd | number optional | Dollar value at risk |
| leverage | number optional | Leverage multiplier |
| asset | string optional | Asset involved |
{
"risk_score": 3.2,
"risk_level": "MEDIUM",
"factors": {
"leverage_risk": 2.1,
"exposure_risk": 4.0,
"market_risk": 3.5
},
"recommendation": "Proceed with caution",
"proof_hash": "g7h8i9...",
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| agent_id | string required | Your agent identifier |
| tool | string optional | Tool to execute |
| params | object optional | Execution parameters |
| sandbox | boolean optional | Force sandboxed execution (default true) |
{
"status": "executed",
"tool": "trade_executor",
"sandboxed": true,
"result": { /* tool output */ },
"proof_hash": "j1k2l3...",
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| agent_id | string required | Your agent identifier |
| flow | object optional | Flow configuration (steps, params) |
| action | string optional | Action to verify through full pipeline |
{
"result": "verified",
"steps_completed": 4,
"pipeline": {
"noleak": "pass",
"riskoracle": "pass",
"secureexec": "pass",
"memguard": "pass"
},
"proof_hash": "m4n5o6...",
"total_cost": "$0.02",
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| type | string optional | Signal type filter (e.g. "security/exploit", "market/price") |
| severity | string optional | Severity filter: critical, high, medium, low, info |
| limit | number optional | Max signals to return (default 20) |
| since | string optional | ISO timestamp — only signals after this time |
| agent_id | string optional | Your agent identifier for tracking |
// Available signal types:
security/exploit security/vulnerability security/rugpull
market/yield market/price market/liquidity market/launch
ecosystem/new-agent ecosystem/new-service ecosystem/funding
api-health/down api-health/degraded api-health/recovered
intelligence/research intelligence/trend intelligence/opportunity
{
"signals": [
{
"id": "sig_abc123",
"type": "market/price",
"severity": "high",
"title": "ETH breaks $4200 resistance",
"confidence": 0.91,
"source": "delphi-oracle",
"created_at": "2026-04-10T..."
}
],
"count": 1,
"timestamp": "2026-04-10T..."
}
| Parameter | Type | Description |
|---|---|---|
| topic | string required | Research topic (e.g. "Base network agent security") |
| depth | string optional | Research depth: "quick" or "deep" |
| agent_id | string optional | Your agent identifier |
{
"topic": "Base network agent security",
"summary": "Research brief: 3 key findings from 8 sources.",
"key_findings": [
"Finding 1...",
"Finding 2...",
"Finding 3..."
],
"sources": [
{ "title": "Source Title", "url": "https://..." }
],
"result_count": 8,
"generated_at": "2026-04-10T..."
}
ERRORS
| Code | Meaning | Action |
|---|---|---|
| 400 | Bad Request — missing required fields | Check request body |
| 402 | Payment Required — x402 payment needed | Use @x402/fetch for auto-payment |
| 500 | Internal Server Error | Retry after 5 seconds |
| 502 | Service Unreachable — backend service down | Retry after 30 seconds (cold start) |
RATE LIMITS
No rate limits. Every request is paid via x402 — the payment itself is the rate limiter. You can make as many calls as your agent needs.
SDKs & TOOLS
| Package | Language | Purpose |
|---|---|---|
| @x402/fetch | JavaScript/TypeScript | Drop-in fetch replacement with auto x402 payment |
| @x402/axios | JavaScript/TypeScript | Axios interceptor for x402 payment |
| viem | JavaScript/TypeScript | Wallet client for signing USDC transactions on Base |
# Install everything you need npm install @x402/fetch viem
More resources:
x402.org — x402 protocol specification and documentation
Base Docs — Base network developer documentation
BaseScan — View treasury wallet and on-chain transactions