<!-- source: https://secondlayer.tools/docs/api-reference#list-rune-activity -->

## Rune etches, mints, transfers and burns

`GET /v1/index/runes/activity`

Every rune-moving event — etch, mint, transfer, burn — filterable by rune/address/kind/txid and cursor-paginated. Returns events[], next_cursor, tip, reorgs[]. Cursor: <block_height>:<event_index>, same shape as every other decoded-event feed.

### Filters

| Name | Type | Description |
| --- | --- | --- |
| `rune` | string | A rune id (`<block>:<tx>`, e.g. `840000:3`) or name — spacers and case are ignored, so `DOG•GO•TO•THE•MOON`, `dog.go.to.the.moon` and `doggotothemoon` are the same rune. |
| `address` | string | Mainnet Bitcoin address. Exact match. |
| `kind` | string | One or more of `rune_etch`, `rune_mint`, `rune_transfer`, `rune_burn`, comma-separated. |
| `txid` | string | Bitcoin txid, hex with no `0x` prefix (Rune txids come back as stored, unlike Stacks ones). Exact match. |

### Range and paging

| Name | Type | Description |
| --- | --- | --- |
| `limit` | integer · 1 to 1000 | Page size; capped at 1000. |
| `cursor` | string | `<block_height>:<event_index>` from a previous page's `next_cursor`. Resumes after it. |
| `from_cursor` | string | Same as `cursor`. Mutually exclusive with it and with `from_height`. |
| `from_height` | integer | First block height to read. Mutually exclusive with a cursor. With neither, the read starts one day behind the tip. |
| `to_height` | integer | Last block height to read, inclusive. |

### Returns

A cursor envelope; `events` holds `RuneEvent` objects.

### Responses

- `200` Cursor-paginated envelope
- `400` A parameter, filter, cursor or body field was refused; `code` says which
- `401` This bind requires the instance token, and it was missing or wrong
- `429` Rate limited; retry after `Retry-After` seconds

### Example

```bash
curl -G https://api.secondlayer.tools/v1/index/runes/activity \
  -H "Authorization: Bearer $SECONDLAYER_API_KEY" \
  -d rune=840000:3 \
  -d kind=rune_mint,rune_transfer
```

```json
{
  "events": [
    {
      "cursor": "968919:3",
      "block_height": 968919,
      "tx_index": 144,
      "txid": "77c95d193e680429fe7f801a68488bd30919d011f23542141a7fae5244b002b4",
      "event_index": 3,
      "kind": "rune_transfer",
      "amount": "2933553300",
      "vout": 2,
      "address": "bc1pjku9h7ckjt8802mu79zt7vv8d6mhp0x57gkppcls57ex4rkq9cxqs52pr3",
      "rune": {
        "id": "840000:3",
        "name": "DOGGOTOTHEMOON",
        "spaced_name": "DOG•GO•TO•THE•MOON",
        "symbol": "🐕",
        "divisibility": 5
      }
    }
  ],
  "tip": {
    "block_height": 968925,
    "finalized_height": 968919,
    "lag_seconds": 210
  },
  "reorgs": [
    {
      "id": "7",
      "detected_at": "2026-08-11T04:22:10.000Z",
      "fork_point_height": 851203,
      "old_hash": "0000000000000000000123abc1230000000000000000000000000000000000",
      "new_hash": "0000000000000000000456def4560000000000000000000000000000000000",
      "orphaned_from": 851203,
      "orphaned_to": 851204,
      "new_tip_height": 851205
    }
  ]
}
```
