Skip to content
⌘K
Marketplace API

Marketplace data

Activity feeds

Read sales, listings, delists, offers, mints and transfers for a collection, an item, a wallet or the whole market with GET /events.

One endpoint, GET /events, serves every activity feed: the whole market, one collection, one item and one wallet. Filters combine, so you can ask for "sales of this collection by this wallet" in a single request. For a live feed, the same events are pushed over server-sent events (see Live activity).

GET/events

Query parameters

ParameterValuesNotes
collectionslug, or a full Move typeLimits the feed to one collection. Unknown values return 404 not_found.
itemobject id (0x...)Limits the feed to one item.
accountaddress (0x...)Events where the address is the seller or the buyer side.
kindcomma list of sale, list, delist, offer, offer_cancel, transfer, mintAll kinds when omitted.
venuemarket, tradeport, drip, kioskOther values are ignored.
sorttime (default) or priceprice needs collection or item, otherwise 400 bad_request.
dirdesc (default) or asc
limit1 to 200Default 40.
cursorthe previous page's nextCursorOpaque.

With no filter at all you get the global feed, newest first.

Mints and transfers come from the chain, not a marketplace. Feeds that are not pinned to a collection or an item (the global feed and wallet feeds) leave them out unless you ask for them with kind=mint or kind=transfer. Collection and item feeds include them by default. Only types that rare.market lists as collections produce mint and transfer events.

Collection activity

curl "https://rare.market/api/v1/events?collection=popkins&kind=sale,list&limit=20"
Response
{
  "data": [
    {
      "id": "338531908:6357847825:1",
      "kind": "offer",
      "venue": "tradeport",
      "item": {
        "id": "0x89d249c6a43ff4490902247a950e2e69ba61b74089151166169cfe3fbfea8611",
        "name": "Popkins #18736",
        "imageUrl": "https://storage.claynosaurz.com/popkins/images/0x89d249c6a43ff4490902247a950e2e69ba61b74089151166169cfe3fbfea8611",
        "rarity": { "rank": 13046, "tier": "uncommon" }
      },
      "collection": {
        "slug": "popkins",
        "name": "Popkins",
        "imageUrl": "https://storage.claynosaurz.com/popkins/images/0x817dac94fff3a567b80e23a3b55fca2fd108641e0dd06fc614e5ecc0acbb4e03",
        "verified": true
      },
      "priceMist": "55000000000",
      "from": "0x1e74849ee17df6746ca3911cfbfe7c80e4d2e85d4395c0ca06c2f56d8f4d1ea2",
      "to": null,
      "fromName": null,
      "toName": null,
      "txDigest": "DhTWmsU2jGPGVs2q8MhA1nQttgqw5Le6vQfH5CEkVhDR",
      "at": "2026-10-27T02:00:12.383Z"
    }
  ],
  "nextCursor": "IjMzODUzMTkwODo2MzU3ODQ3ODI1OjA6MTc5MzA2NjQxMjM4MyI"
}

Item activity

Pass item with the object id. Add sort=price to rank the item's history by price.

curl "https://rare.market/api/v1/events?item=0x89d249c6a43ff4490902247a950e2e69ba61b74089151166169cfe3fbfea8611"

Wallet activity

Pass account with the wallet address. Combine it with collection to see one wallet's history in one collection.

curl "https://rare.market/api/v1/events?account=0x1e74849ee17df6746ca3911cfbfe7c80e4d2e85d4395c0ca06c2f56d8f4d1ea2&kind=sale"

Event kinds

kindWhat happenedfromtopriceMist
saleAn item sold, from a listing or into an offersellerbuyersale price ("0" when the price is unknown)
listListed or relistedsellernulllist price
delistListing pulledsellernullprice when known, else null
offerOffer placed on an item or a collectionbiddernulloffer price when known
offer_cancelOffer cancelledbiddernulloffer price when known
mintItem mintednullfirst ownernull
transferItem moved between addressessenderreceivernull

A sale into an offer (an accepted offer) is reported as sale. When one transaction contains both a marketplace sale and the kiosk's own purchase event for the same item, the feed keeps only the marketplace one.

Event fields

FieldTypeNotes
idstringChain position checkpoint:txSeq:eventIndex. Unique and ordered.
kindstringSee the table above.
venuestring or nullmarket, tradeport, drip or kiosk. null for chain mints and transfers.
itemobject{ id, name, imageUrl, rarity }. For a collection offer item.id is "" and the name and image are the collection's.
item.rarityobject or null{ rank, tier }; tier is one of common, uncommon, rare, epic, legendary, mythic.
collectionobject{ slug, name, imageUrl, verified }. slug is "" for a type that is not a listed collection yet.
priceMiststring or nullMIST as a decimal string. See Amounts.
from, tostring or nullAddresses, per the kinds table.
fromName, toNamenullReserved for names. Always null today.
txDigeststringThe transaction digest.
atstringISO 8601 UTC time of the checkpoint.

Paging and sorting

Newest first (the default) pages by chain position: pass nextCursor back as cursor until it is null. A page can hold slightly fewer rows than limit, because duplicate kiosk events are dropped after the read. Keep paging while nextCursor is set.

sort=price and dir=asc page by offset instead. The cursor is still opaque. Rows without a price sort last in either direction.

curl "https://rare.market/api/v1/events?collection=popkins&kind=sale&sort=price&dir=desc&limit=10"

The first page of every feed is cached for a few seconds. Use the live stream for anything newer.

Live activity

The same ActivityEvent objects are pushed over server-sent events on GET /stream. Subscribe with topics:

TopicEvents
activityEvery activity event (the global feed)
collection:{slug}activity for one collection, plus floor and listing updates
account:{address}activity touching the address
curl
curl -N "https://rare.market/api/v1/stream?topics=collection:popkins"

The full stream reference, with resume and reconnect, is in Real-time notifications.

--
TPS:--