# Get All Rune Trades by Blocks

This endpoint returns all Rune trade 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"}}}}}}}}}
```
