# Activity and vault status

## GET /activity

Query: `collection`, `chain`, `account`, `types` (`sale,listing,offer,transfer,mint,vault_out,vault_in,pool_buy,pool_sell`), `after`, `before`, `cursor`, `limit`.

## GET /vault/status/{chain}/{contract}/{tokenId}

```json
{
  "homeChain": "ethereum",
  "activeChain": "base",
  "state": "mirrored",
  "pendingMove": null
}
```

`state` is one of `home` (original on its origin chain, not vaulted), `mirrored` (locked at home, usable on `activeChain`), `in_transit` (a move is pending) or `stuck` (delivery failed and needs a retry).

## GET /vault/moves/{id}

Returns the origin transaction, the messaging-protocol message identifier and tracking link, the destination transaction when delivered, and retry information when delivery failed.

## Event stream

A WebSocket or webhook feed is under consideration; until then, poll `/activity` with `after`.
