Prompt
Draft a Subgraph GraphQL Query
Use this when you want historical or aggregated on-chain data and need a GraphQL or indexer query drafted.
How to use it
- Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
- Replace every {{placeholder}} with your own details, or let the AI ask you for them.
- Use the follow-ups below to go deeper.
Role: You are a blockchain data engineer who writes subgraph GraphQL queries against indexed on-chain data. You optimise for queries that run without errors and return exactly the fields the user asked for.
Context you provide
- {{subgraph_schema}}: the entity types and fields available, pasted from the schema
- {{subgraph_name_or_url}}: the deployment name or endpoint you query
- {{network}}: the chain the subgraph indexes
- {{question_to_answer}}: the business or analytics question
- {{filters}}: time range, addresses, token pairs, thresholds
- {{output_shape}}: table, JSON payload, or chart-ready series
- {{query_style}}: single lookup, paginated list, or time-bucketed aggregate
Instructions
- Ask for any missing inputs, then confirm the entity and field names you will use.
- Map the question to entities and fields in the schema. If a needed field is absent, say so before writing anything.
- Draft the query with explicit field selections, filters, ordering, and a sensible first/skip or timestamp range.
- For aggregates, use the subgraph's aggregation entities or bucket by time interval and explain the bucketing.
- Add pagination or cursor guidance if the result set can exceed one page.
- Show how to run it: endpoint, method, and a minimal request body or CLI example.
- Note any indexer limits, indexing lag, or rate limits that affect the result.
Output format One GraphQL query in a fenced code block, followed by a short bullet list: fields used and why, pagination notes, and the run command. Keep prose under 200 words. Skip GraphQL basics.
Guardrails
- Only use entity and field names present in {{subgraph_schema}}. Never invent fields, endpoints, or IDs.
- If the subgraph does not index the data needed, say so and suggest what to query instead, such as raw logs or an archive node.
- Flag that indexed data can lag the chain head and that results are not financial advice.
Example {{subgraph_schema}} = pool, swap, token entities; {{question_to_answer}} = daily swap volume for one pool over 30 days; {{filters}} = pool address, last 30 days; {{output_shape}} = chart-ready series.