
IntentGraph
From a question to on-chain data, pay-per-query for The Graph, priced natively in HBAR via x402
Demo
About
IntentGraph gives AI agents paid access to The Graph’s subgraphs through a verifiable Hedera payment flow. Describe the data you need, let your agent unlock the toolkit, and follow the evidence from discovery to the final query result. What you can do Ask for blockchain data in natural language. Your agent translates the request into discovery, schema inspection, and GraphQL calls. Access The Graph without managing a Graph key. The service operator supplies the upstream credentials. Pay for a bounded access session. One confirmed payment unlocks the toolkit for the advertised duration and usage allowance. Inspect how an answer was produced. The playground shows tool arguments, returned data, and a settlement receipt alongside the answer. Use your preferred agent. Connect an MCP-compatible client, or try the hosted Gemini demonstration in your browser. IntentGraph is useful for developers exploring protocols, analysts inspecting indexed activity, and agent builders who need a clear path from a data request to paid tool access. Available data depends on the subgraphs discoverable through the upstream service, their schemas, and their indexing status.
How it's made
We built IntentGraph as a TypeScript application with a React/Vite frontend and an Express backend. It turns a natural-language request into a payment-gated workflow for discovering and querying blockchain data. The core integration is The Graph’s Subgraphs MCP. Our server authenticates with an operator-owned Graph API key, discovers the upstream tools and their JSON schemas, and registers those tools using the MCP TypeScript SDK. Users never need their own Graph key. Initially, only unlock_data_access is available; the actual data-tool handles remain disabled. Calling the unlock tool returns an x402 v2 quote denominated in native HBAR on Hedera testnet. The payer signs the exact requirements locally, and our backend uses Blocky402 to verify and settle the payment. Only after confirmed settlement do we call .enable() on the tools and notify the agent that its toolkit has changed. SQLite stores payment receipts, canonical transaction IDs for replay protection, and usage statistics. The interactive playground uses Gemini’s function calling through a real MCP client connection. Gemini requests access, then the server signs the payment using a shared, faucet-funded Hedera testnet wallet. Each visitor gets a separate MCP session. After unlocking, Gemini searches subgraphs, checks deployment activity, inspects the selected schema, and builds a bounded GraphQL query. Streamed events power the frontend console, showing tool calls, responses, payment receipts, and the final answer. The most interesting implementation detail is that payment changes the agent’s available tools mid-conversation. We gate the real tool handles rather than merely telling the model not to use them. We also preserve Gemini’s function-call metadata across turns while keeping payment proofs and private keys out of model context and browser responses.