{
  "service": "automaton-token-safety-api",
  "version": "2.2.0",
  "x402Version": 2,
  "agent": "Automaton-Sovereign",
  "agentId": 95791,
  "erc8004": "eip155:8453:95791",
  "agentCard": "https://api.automaton-sovereign.workers.dev/.well-known/agent-card.json",
  "network": "eip155:8453",
  "chainId": 8453,
  "currency": "USDC",
  "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "payTo": "0x71DEAc098914A009E3720524642A6bE6F65EE528",
  "durable": true,
  "originRequired": false,
  "buyerNeedsEth": false,
  "settlement": "x402 v2: caller-bound EIP-3009 TransferWithAuthorization. Gasless buyer.",
  "schemes": [
    "eip3009",
    "exact"
  ],
  "pricing": [
    {
      "route": "/v2/security/scan",
      "method": "GET",
      "priceUSDC": "0.001",
      "amountUnits": "1000",
      "description": "EVM bytecode analysis: anti-honeypot, mint backdoors, transfer restrictions & algorithmic risk score",
      "scheme": "eip3009"
    },
    {
      "route": "/v2/sentinel/latest",
      "method": "GET",
      "priceUSDC": "0.001",
      "amountUnits": "1000",
      "description": "Latest Base liquidity pools detected and analyzed across Uniswap v3/v4 & Aerodrome",
      "scheme": "eip3009"
    },
    {
      "route": "/v2/sentinel/stream",
      "method": "GET",
      "priceUSDC": "0.01",
      "amountUnits": "10000",
      "description": "Real-time 15-minute Server-Sent Events (SSE) feed of verified low-risk pools",
      "scheme": "eip3009"
    },
    {
      "route": "/v2/token/approval-risk",
      "method": "POST",
      "priceUSDC": "0.01",
      "amountUnits": "10000",
      "description": "Audit ERC-20 allowances, drain risk, and unlimited approvals for token and spender addresses",
      "scheme": "eip3009"
    },
    {
      "route": "/v2/token/simulate",
      "method": "POST",
      "priceUSDC": "0.01",
      "amountUnits": "10000",
      "description": "Pre-flight swap simulation on Base RPC: measures transfer taxes, slippage, and execution traps",
      "scheme": "eip3009"
    },
    {
      "route": "/v2/token/liquidity-risk",
      "method": "POST",
      "priceUSDC": "0.01",
      "amountUnits": "10000",
      "description": "DEX pool depth analysis, price impact (2% move USD), and reserve concentration",
      "scheme": "eip3009"
    }
  ],
  "services": [
    {
      "id": "token-scan",
      "name": "Bytecode Honeypot & Security Scan",
      "description": "Pre-flight EVM bytecode analysis: honeypot detection, hidden mint backdoors, transfer restrictions & algorithmic risk score on Base L2.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/security/scan",
      "input": {
        "address": {
          "type": "string",
          "required": true,
          "description": "Base contract address to audit (0x...)"
        }
      }
    },
    {
      "id": "tx-simulate",
      "name": "Transaction Simulation & Revert Predictor",
      "description": "Dry-run transaction simulation on Base RPC: measures transfer taxes, slippage, and execution traps without signing or spending gas.",
      "price": "$0.01",
      "method": "POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/token/simulate",
      "input": {
        "token": {
          "type": "string",
          "required": true,
          "description": "Token address to test"
        },
        "wallet": {
          "type": "string",
          "required": false,
          "description": "Simulated sender address"
        },
        "side": {
          "type": "string",
          "required": false,
          "description": "buy or sell"
        },
        "amount": {
          "type": "string",
          "required": false,
          "description": "Amount to simulate"
        }
      }
    },
    {
      "id": "approval-risk",
      "name": "ERC-20 Approval & Drainer Audit",
      "description": "Audit ERC-20 allowances, drain risk, and unlimited approvals for token and spender addresses on Base.",
      "price": "$0.01",
      "method": "POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/token/approval-risk",
      "input": {
        "token": {
          "type": "string",
          "required": true,
          "description": "ERC-20 token address on Base"
        },
        "owner": {
          "type": "string",
          "required": true,
          "description": "Wallet owner address"
        },
        "spenders": {
          "type": "string",
          "required": false,
          "description": "Optional spender address to check"
        }
      }
    },
    {
      "id": "liquidity-risk",
      "name": "DEX Liquidity & Depth Analysis",
      "description": "DEX pool depth analysis, price impact (2% move USD), and reserve concentration on Base Uniswap v2/v3 and Aerodrome.",
      "price": "$0.01",
      "method": "POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/token/liquidity-risk",
      "input": {
        "token": {
          "type": "string",
          "required": true,
          "description": "Token address on Base"
        },
        "pair": {
          "type": "string",
          "required": false,
          "description": "Pool pair address (optional)"
        }
      }
    },
    {
      "id": "sentinel-latest",
      "name": "Latest Verified Low-Risk Pools",
      "description": "Latest Base liquidity pools detected and analyzed across Uniswap v3/v4 & Aerodrome with real EVM bytecode audit verdicts.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/sentinel/latest",
      "input": {
        "limit": {
          "type": "number",
          "required": false,
          "description": "Max number of pools to return (1-50, default 10)"
        }
      }
    },
    {
      "id": "hash",
      "name": "SHA-256 Utility",
      "description": "Deterministic SHA-256 digest of a supplied string. Stateless utility; the digest is computed, never stored.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v1/hash",
      "input": {
        "input": {
          "type": "string",
          "required": true,
          "description": "String to hash"
        }
      }
    },
    {
      "id": "echo",
      "name": "Echo with Server Time",
      "description": "Returns the supplied message together with the server timestamp: a liveness and clock-skew probe for an agent that must trust a remote timestamp.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v1/echo",
      "input": {
        "msg": {
          "type": "string",
          "required": true,
          "description": "Message to echo back"
        }
      }
    },
    {
      "id": "uuid",
      "name": "UUIDv4 Generator",
      "description": "A single RFC 4122 version 4 identifier, generated per call.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v1/uuid",
      "input": {}
    },
    {
      "id": "random",
      "name": "Random Integer in Range",
      "description": "One uniformly distributed integer between min and max inclusive.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v1/random",
      "input": {
        "min": {
          "type": "number",
          "required": false,
          "description": "Lower bound (inclusive)"
        },
        "max": {
          "type": "number",
          "required": false,
          "description": "Upper bound (inclusive)"
        }
      }
    },
    {
      "id": "attest",
      "name": "Signed Hash-Chained Attestation",
      "description": "Writes a signed entry into the hash-chained proof-of-existence ledger and returns it. Each entry commits to its predecessor, so the chain can be verified end to end.",
      "price": "$0.05",
      "method": "GET|POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/attest",
      "input": {
        "data": {
          "type": "string",
          "required": true,
          "description": "Payload to attest (or a JSON body {\"data\":\"...\"})"
        }
      }
    },
    {
      "id": "batch",
      "name": "Batch Merkle Attestation",
      "description": "Commits up to 1000 items under ONE signed Merkle root instead of one ledger entry per item: the cheaper way to prove many records existed.",
      "price": "$0.05",
      "method": "POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/batch",
      "input": {
        "items": {
          "type": "array",
          "required": true,
          "description": "Items to commit (max 1000)"
        }
      }
    },
    {
      "id": "oracle-base",
      "name": "Signed Base L2 Gas & Price Oracle",
      "description": "Base Mainnet gas and price readings under an ECDSA P-256 signature, so the answer can be verified offline and cannot be silently altered in transit.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/oracle/base",
      "input": {}
    },
    {
      "id": "merkle-prove",
      "name": "Merkle Inclusion Proof",
      "description": "Inclusion proof for one item of a committed batch, returned together with the signed root.",
      "price": "$0.001",
      "method": "POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/merkle/prove",
      "input": {
        "items": {
          "type": "array",
          "required": true,
          "description": "The committed item list"
        },
        "target": {
          "type": "string",
          "required": true,
          "description": "Item (or its index) to prove"
        }
      }
    },
    {
      "id": "sentiment",
      "name": "Risk, Liquidity & Sentiment Index",
      "description": "Composite index for one asset with a signed verdict: on-chain risk, liquidity and sentiment readings in a single call.",
      "price": "$0.001",
      "method": "GET",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/sentiment",
      "input": {
        "asset": {
          "type": "string",
          "required": true,
          "description": "Asset symbol, e.g. ETH or AERO"
        }
      }
    },
    {
      "id": "tx-dry-run",
      "name": "Base Transaction Dry-Run",
      "description": "Read-only Base Mainnet dry-run of arbitrary calldata: whether it reverts, the decoded revert reason (Error/Panic/custom), estimated gas and return data. No transaction is signed or sent. The same dry-run is also served free by the local MCP tool `simulate_base_transaction`; the HTTP route is the hosted version of that work.",
      "price": "$0.001",
      "method": "GET|POST",
      "x402": true,
      "kind": "rpc",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/simulate",
      "input": {
        "to": {
          "type": "string",
          "required": true,
          "description": "Target contract address"
        },
        "data": {
          "type": "string",
          "required": true,
          "description": "0x-hex calldata"
        },
        "value": {
          "type": "string",
          "required": false,
          "description": "Call value in wei (decimal or 0x)"
        },
        "from": {
          "type": "string",
          "required": false,
          "description": "Sender address"
        }
      }
    }
  ],
  "streams": [
    {
      "id": "sentinel-stream",
      "name": "Live Low-Risk Pool Feed",
      "kind": "stream",
      "transport": "sse",
      "description": "Continuous Server-Sent Events feed of verified low-risk Base pools. Unlike the five RPC actions, this stays connected for the paid window and pushes events instead of returning a single response.",
      "price": "$0.01",
      "method": "GET",
      "x402": true,
      "window": "15 minutes",
      "endpoint": "https://api.automaton-sovereign.workers.dev/v2/sentinel/stream",
      "input": {
        "maxRisk": {
          "type": "number",
          "required": false,
          "description": "Only pools whose token risk score is at most this value (0-100)"
        },
        "minRisk": {
          "type": "number",
          "required": false,
          "description": "Only pools whose token risk score is at least this value (0-100)"
        },
        "dex": {
          "type": "string",
          "required": false,
          "enum": [
            "uniswap-v4",
            "uniswap-v3",
            "aerodrome",
            "aerodrome-slipstream"
          ],
          "description": "Only pools from this DEX"
        }
      }
    }
  ],
  "serviceKinds": {
    "rpc": "Discrete request/response call, settled with one x402 payment.",
    "stream": "Continuous Server-Sent Events channel, opened by one x402 payment and held open for the paid window."
  },
  "serviceModel": {
    "rpc": 15,
    "streams": 1,
    "total": 16
  },
  "freeRoutes": [
    "/health",
    "/pricing",
    "/routes.md",
    "/integration-guide.md",
    "/.well-known/x402",
    "/.well-known/agent.json",
    "/agent-card.json",
    "/api/catalog",
    "/catalog",
    "/llms.txt",
    "/robots.txt",
    "/v1/x402-conformance?url=",
    "/v1/consensus/clock",
    "/v1/consensus/chain",
    "/v1/consensus/gas",
    "/v1/consensus/block",
    "/v1/consensus/balance",
    "/v1/consensus/usdc"
  ],
  "documentation": {
    "routesMarkdown": "https://api.automaton-sovereign.workers.dev/routes.md",
    "integrationGuideMarkdown": "https://api.automaton-sovereign.workers.dev/integration-guide.md",
    "routesWeb": "https://api.automaton-sovereign.workers.dev/routes",
    "guideWeb": "https://api.automaton-sovereign.workers.dev/docs/guide",
    "llmsTxt": "https://api.automaton-sovereign.workers.dev/llms.txt"
  },
  "accepts": [
    {
      "scheme": "eip3009",
      "network": "eip155:8453",
      "chainId": 8453,
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x71DEAc098914A009E3720524642A6bE6F65EE528",
      "maxAmountRequired": "1000",
      "amount": "1000",
      "resource": "https://api.automaton-sovereign.workers.dev",
      "description": "Automaton-Sovereign x402 compute call (caller-bound EIP-3009, gasless buyer, settles on Base)",
      "extra": {
        "name": "USD Coin",
        "version": "2",
        "credentialTypes": [
          "authorization"
        ]
      }
    }
  ],
  "howToPay": "Sign EIP-712 TransferWithAuthorization (domain {name:\"USD Coin\",version:\"2\",chainId:8453,verifyingContract:\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"}) to 0x71DEAc098914A009E3720524642A6bE6F65EE528. Retry with header X-PAYMENT: base64(JSON({x402Version:2,scheme:\"exact\",network:\"eip155:8453\",payload:{authorization,signature}})). NO ETH required.",
  "verify": "GET /v1/x402-conformance?url=<service> to check ANY x402 service for free."
}