# Get All Rune Transfers by Blocks

This endpoint returns all Rune transfer activity across the chain. Results are cursor-paginated and can be filtered by `runeId`, `fromBlockHeight`, and `toBlockHeight`.

## GET /v1/block/runes/transfers

> Get rune transfer events (inputs and outputs) from the blockchain.\
> \
> \*\*Filtering Options:\*\*\
> \- Filter by block range using \`fromBlockHeight\`/\`toBlockHeight\`\
> \- Filter by specific rune using \`runeId\`\
> \
> \*\*Pagination:\*\*\
> \- Uses cursor-based pagination that returns full blocks of data with variable number of blocks per page depending how\
> many transfers occurred in that period.\
> \- Pass the \`nextCursor\` from the response as \`cursor\` to fetch the next page. Stop on items empty\
> or when \`nextCursor\` is null.\
> \- Returns complete blocks (no partial results within a block)\
> \
> \*\*Response Structure:\*\*\
> \- Each item represents a transaction with rune transfers\
> \- \`inputs\`: Rune amounts consumed by the transaction\
> \- \`outputs\`: Rune amounts created by the transaction\
> \
> \*\*Examples:\*\*\
> \- Filter by rune: \`/block/runes/transfers?runeId=840000:1\`\
> \- Block range: \`/block/runes/transfers?fromBlockHeight=870000\&toBlockHeight=875000\`

```json
{"openapi":"3.0.3","info":{"title":"SecretKeyLabs API","version":"1.0.0"},"tags":[],"servers":[{"url":"https://api.secretkeylabs.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}}},"paths":{"/v1/block/runes/transfers":{"get":{"tags":["Runes"],"description":"Get rune transfer events (inputs and outputs) from the blockchain.\n\n**Filtering Options:**\n- Filter by block range using `fromBlockHeight`/`toBlockHeight`\n- Filter by specific rune using `runeId`\n\n**Pagination:**\n- Uses cursor-based pagination that returns full blocks of data with variable number of blocks per page depending how\nmany transfers occurred in that period.\n- Pass the `nextCursor` from the response as `cursor` to fetch the next page. Stop on items empty\nor when `nextCursor` is null.\n- Returns complete blocks (no partial results within a block)\n\n**Response Structure:**\n- Each item represents a transaction with rune transfers\n- `inputs`: Rune amounts consumed by the transaction\n- `outputs`: Rune amounts created by the transaction\n\n**Examples:**\n- Filter by rune: `/block/runes/transfers?runeId=840000:1`\n- Block range: `/block/runes/transfers?fromBlockHeight=870000&toBlockHeight=875000`","parameters":[{"schema":{"type":"string"},"in":"query","name":"runeId","required":false,"description":"Filter transfers by specific rune ID"},{"schema":{"type":"number"},"in":"query","name":"fromBlockHeight","required":false,"description":"Start of block range (defaults to rune activation height)"},{"schema":{"type":"number"},"in":"query","name":"toBlockHeight","required":false,"description":"End of block range"},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false,"description":"Pagination cursor from previous response"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"nextCursor":{"description":"Cursor for fetching the next page of results","nullable":true,"type":"string"},"items":{"description":"Array of transfer transactions","type":"array","items":{"type":"object","properties":{"blockHeight":{"description":"Block height of the transfer","type":"number"},"blockTime":{"description":"ISO 8601 timestamp of the block","type":"string"},"txid":{"description":"Transaction ID","type":"string"},"inputs":{"description":"Rune inputs consumed by this transaction","type":"array","items":{"type":"object","properties":{"runeId":{"description":"Rune ID","type":"string"},"address":{"description":"Bitcoin address (undefined for OP_RETURN or burns)","type":"string"},"amount":{"description":"Amount transferred (as string for precision)","type":"string"},"index":{"description":"Input/output index in the transaction","type":"number"}},"required":["runeId","amount","index"]}},"outputs":{"description":"Rune outputs created by this transaction","type":"array","items":{"type":"object","properties":{"runeId":{"description":"Rune ID","type":"string"},"address":{"description":"Bitcoin address (undefined for OP_RETURN or burns)","type":"string"},"amount":{"description":"Amount transferred (as string for precision)","type":"string"},"index":{"description":"Input/output index in the transaction","type":"number"}},"required":["runeId","amount","index"]}}},"required":["blockHeight","blockTime","txid","inputs","outputs"]}}},"required":["nextCursor","items"]}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"description":"Invalid input","type":"string"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Unauthorized","type":"string"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"description":"Not found","type":"string"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"description":"Rate limit exceeded","type":"string"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"description":"Internal server error","type":"string"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xverse.app/api/runes/runes-by-blocks/get-all-rune-transfers-by-blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
