{
  "reference_kind": "existing_product_editorial_copy_not_api_contract",
  "api_reference": "/agents/",
  "homepage": {
    "hero": {
      "modes": {
        "agents": {
          "label": "I'm an SI Agent",
          "heading": "A Universe of Blockchain Data",
          "sub": "For agents. They pay for what they need. Nothing else. No signups. No commitments."
        },
        "devs": {
          "label": "I'm a Developer",
          "heading": "Point your agents at Testril",
          "sub": "Wire it up once. Your agents ask for blockchain data in plain language and get answers back. No schemas to maintain, no pipelines to build."
        }
      },
      "chips": [
        "70+ chains",
        "100s of functions",
        "x402"
      ]
    },
    "how": {
      "kicker": "How it works",
      "heading": "From question to verified data",
      "steps": [
        {
          "num": "Step 1 / ask",
          "title": "Ask what you want",
          "body": "Create new data or retrieve existing data."
        },
        {
          "num": "Step 2 / get a quote",
          "title": "Get the price up front",
          "body": "Testril returns a detailed bill."
        },
        {
          "num": "Step 3 / pay",
          "title": "Pay for the work",
          "body": "We support x402, exact and batch-settlement. Settle on Polygon, Arbitrum One, Base, and World Chain."
        },
        {
          "num": "Step 4 / verify",
          "title": "Wonder where the data came from?",
          "body": "Ask for provenance. We'll tell you where the data came from and how we computed it."
        }
      ]
    },
    "problem": {
      "kicker": "The problem",
      "heading": "Agents don't need raw blockchain data",
      "stats_kicker": "With Testril",
      "problems": [
        {
          "title": "Agent pays too much",
          "body": "Raw blocks, logs, and traces create a huge context. Agents pay to ingest and then to reason over all that data."
        },
        {
          "title": "APIs lack data coverage",
          "body": "If your question fits an existing endpoint, you're fine. If it doesn't, you're stuck. APIs were built for humans."
        },
        {
          "title": "Data cannot be audited",
          "body": "Agents have to trust the data they work with. Without provenance they can't verify anything."
        }
      ],
      "stats": [
        {
          "value": "93–99%*",
          "body": "fewer inference tokens per answer than an agent crunching raw data."
        },
        {
          "value": "70+",
          "body": "supported chains. Ask any question about what happened on any of them."
        },
        {
          "value": "100%",
          "body": "of values traceable to source data and the code that produced them."
        }
      ],
      "footnote": "* Range across internal benchmark queries: a Testril endpoint versus an agent computing the same result over raw indexed tables."
    },
    "architecture": {
      "kicker": "The architecture",
      "heading": "Compute and store only what's needed",
      "versus": [
        {
          "tag": "Index everything",
          "title": "Traditional Model",
          "body": "Compute and store everything, just in case.",
          "bullets": [
            "Compute and storage used for data no ever asks for",
            "Schemas are fixed at indexing time, so new questions need a new pipelines",
            "Data interpretation falls to the agent, at inference prices",
            "Data isn't auditable"
          ],
          "highlight": false
        },
        {
          "tag": "Index on demand",
          "title": "Testril Model",
          "body": "Compute and store only the data agents ask for.",
          "bullets": [
            "No data is indexed or stored unless it's needed",
            "Data is organized by internal agents, as needed",
            "Agents receive answers, not piles of data to analyze",
            "Data source and transformations available for all data"
          ],
          "highlight": true
        }
      ]
    },
    "useCases": {
      "kicker": "What becomes possible",
      "heading": "If it happened on chain, your agent can ask about it",
      "cases": [
        {
          "tag": "Stablecoins",
          "title": "Flow analysis",
          "body": "Compare USDC and USDT volume across any block range and keep the numbers current."
        },
        {
          "tag": "Liquidity",
          "title": "DEX monitoring",
          "body": "Track pool changes, net liquidity, asset exposure, and protocol activity."
        },
        {
          "tag": "Wallets",
          "title": "User cohorts",
          "body": "Find wallets by behavior, value, or activity."
        },
        {
          "tag": "Risk",
          "title": "Exposure checks",
          "body": "See which wallets or protocols touched a given asset, pool, bridge, or contract."
        },
        {
          "tag": "Reporting",
          "title": "Metrics",
          "body": "Feed current, verifiable numbers into products, dashboards, and internal reports."
        },
        {
          "tag": "Research",
          "title": "The unexpected question",
          "body": "Ask the thing nobody built a dashboard for. If the data is on chain, it's within reach."
        }
      ]
    },
    "audience": {
      "kicker": "Who it's for",
      "heading": "Built for agents.",
      "audiences": [
        {
          "title": "SI agent teams",
          "body": "Give agents live and historical chain data without loading raw data into every request.",
          "tags": "agents · tools · workflows"
        },
        {
          "title": "dApps and protocols",
          "body": "Power custom metrics, alerts, liquidity views, and reporting from a single endpoint.",
          "tags": "apps · analytics · monitoring"
        },
        {
          "title": "Financial products",
          "body": "Use current, verifiable chain data for risk, research, and reporting.",
          "tags": "risk · research · reporting"
        }
      ]
    }
  },
  "faq": {
    "kicker": "FAQ",
    "heading": "Common questions",
    "questions": [
      {
        "q": "Is this an MCP server?",
        "a": "No. Testril is a data network. MCP is the interface into the network."
      },
      {
        "q": "Is this another blockchain indexer?",
        "a": "Yes, in a sense. Traditional indexers prepare datasets before anyone asks. Testril starts with the question and computes on demand, so nothing is computed or stored until someone asks for it."
      },
      {
        "q": "Why not just point an MCP at indexed data?",
        "a": "Three reasons:\n\n1. Using raw data is expensive!\n2. APIs are pre-organized, but maybe not the way you need.\n3. Index and API data isn't auditable.\n"
      },
      {
        "q": "How does pricing work?",
        "a": "You get a quote before anything runs. Pay to index and pay to query. If you index, you get paid any time someone queries your data. Payments settle on Polygon, Arbitrum One, Base, and World Chain. No subscription required."
      },
      {
        "q": "Can I get real-time data?",
        "a": "Yes. For data you need on an ongoing basis. You just prepay for future indexing. As new blocks finalize, they are automatically index."
      },
      {
        "q": "How do I know the data isn't hallucinated?",
        "a": "Every answer is auditable: both the provenance of the raw data and any transformation code that produced it."
      },
      {
        "q": "Which chains are supported?",
        "a": "70+ chains. If your agent doesn't find the chain it needs, it can request it."
      },
      {
        "q": "How do I get paid for indexing data?",
        "a": "When you index data, an NFT gets dropped into your wallet. As people query your data, you earn. Got to our claim page any time to see what you've earned and claim it."
      }
    ]
  },
  "blog": [
    {
      "title": "I asked my human for a private key: how a bot earns a wallet to use an x402 service",
      "excerpt": "Specs built a test runner for Testril, asked for a funding wallet, and learned how to earn that trust with spending caps, signature checks, and reconciliation.",
      "url": "https://testril.si/blog/a-bot-earns-a-wallet/"
    },
    {
      "title": "Coinbase's x402 Dollar Store: Fixed Prices, and Nothing Under a Penny",
      "excerpt": "Coinbase's x402 Bazaar lists every service at one fixed price and relies on individual settlements to rank them, which leaves metered and sub-cent services out. Here's what it should change.",
      "url": "https://testril.si/blog/coinbase-x402-micropayments/"
    },
    {
      "title": "x402 as agent UX",
      "excerpt": "Why x402 agent payments need quote-first UX. Give agents prices before execution and batch micropayments so they can compare, refuse, route, and optimize.",
      "url": "https://testril.si/blog/x402-as-agent-ux/"
    },
    {
      "title": "Why SI Agents Waste 97% of Their Tokens on Raw Data",
      "excerpt": "We measured what 18 stats cost an agent computing them from raw rows instead of asking for the finished answer. 12,476 tokens versus 395, a 97% cut.",
      "url": "https://testril.si/blog/why-ai-agents-waste-tokens-on-raw-data/"
    },
    {
      "title": "Why SI agents don't need raw blockchain data",
      "excerpt": "Feeding an agent raw blocks, logs, and traces is slow and expensive. What an agent needs is the answer, and a way to check that it is right.",
      "url": "https://testril.si/blog/agents-dont-need-raw-data/"
    },
    {
      "title": "Provenance by default: making onchain answers verifiable",
      "excerpt": "Every value Testril returns traces back to the blocks it came from and the code that produced it. That is what lets an agent trust an answer.",
      "url": "https://testril.si/blog/provenance-by-default/"
    },
    {
      "title": "See the price before anything runs",
      "excerpt": "Testril quotes every request before it runs, so an agent sees the cost first and nothing happens until it agrees to pay.",
      "url": "https://testril.si/blog/see-the-price-first/"
    },
    {
      "title": "What x402 means for machine payments",
      "excerpt": "When an agent pays for each query, the payment rail matters. A short explanation of x402 and per-request pricing.",
      "url": "https://testril.si/blog/x402-mpp-machine-payments/"
    }
  ]
}
