GraveMarket v1 API
Base URL — https://api.solanadeads.com/gravemarket/v1
The marketplace read API. Browse collections, read an item, follow sales activity, pull traits and holders.
No key, no origin registration
Unlike GraveMint v1, this API is public. There is no credential to obtain, nothing to scope, and nothing to register — so the consoles below send no X-API-Key header at all.
That difference is structural rather than a policy choice. GraveMint mints, so it needs a credential bound to an origin, a collection and a chain. GraveMarket reads public marketplace state that anyone can already see on the site.
Prefer the SDK — it gives you typed responses, retries and pagination helpers:
npm install @solanadeads/gravemarketimport { GraveyardClient } from '@solanadeads/gravemarket';
const gmk = new GraveyardClient();Identifiers
A collection is addressable three ways, and every console below accepts any of them:
| form | example |
|---|---|
| slug | solana-deads |
| on-chain address | 7ZYBDpPou8EehaYz6nUPExy5DU1bL3E64P5AKtikwZnh |
| internal id | b2a30c10-0ba7-4ca8-9482-397324dc64bf |
Prefer the slug: it is stable, readable, and what the marketplace URLs use.
Try it live
Every console runs against our own collection, solana-deads.
Browse collections
/collectionsPaginated browse. Returns a cursor — see Pagination below.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections?limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections?limit=3'Received
/collections/metaThe chains and categories the marketplace currently indexes — use it to build filters rather than hardcoding a list.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/meta
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/meta'Received
One collection
/collections/{id}Full detail: stats, floor, verification, chain and standard.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads'Received
/collections/{id}/statsHeadline stats plus a daily series. Includes wash_trade_count_7d — volume figures elsewhere are not filtered for it, so read this before quoting volume.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/stats
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/stats'Received
Items and listings
/collections/{id}/itemsItems in the collection, with listing state.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/items?limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/items?limit=3'Received
/collections/{id}/offersStanding offers against the collection.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/offers?limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/offers?limit=3'Received
Activity
/collections/{id}/activitySales and listings for one collection — the secondary-market context that pairs with a GraveMint drop.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/activity?limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/activity?limit=3'Received
/activityGlobal activity across the marketplace.
Sent
GET https://api.solanadeads.com/gravemarket/v1/activity?limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/activity?limit=3'Received
Traits and holders
/collections/{id}/traitsEvery trait and value, with counts — what you build a rarity filter from.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/traits
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/traits'Received
/collections/{id}/holdersHolder distribution, with unique_holders.
Sent
GET https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/holders?limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/collections/solana-deads/holders?limit=3'Received
Search
/searchSearches collections, items, profiles and traits in one call — the response is split by kind.
Sent
GET https://api.solanadeads.com/gravemarket/v1/search?q=deads&limit=3
as curl
curl -s -X GET \
'https://api.solanadeads.com/gravemarket/v1/search?q=deads&limit=3'Received
Pagination
List endpoints are cursor-paginated and return cursor and hasMore:
let cursor;
do {
const page = await gmk.collections.activity('solana-deads', { limit: 50, cursor });
handle(page.data);
cursor = page.cursor;
} while (cursor);The SDK also exposes listAll / activityAll async generators that drain pages for you.
Do not stop at the first page
A bare limit silently drops everything past it. If you are computing a total, a holder count or a volume figure, drain the cursor — a partial page produces a confidently wrong number.
Differences from GraveMint v1
| GraveMint v1 | GraveMarket v1 | |
|---|---|---|
| credential | gm_pub_ / gm_live_, invite-only | none |
| origin binding | required | n/a |
| collection scope | key is confined to its drops | n/a — public data |
| writes | prepare / execute a mint | read-only |
| pagination | limit + offset | cursor |
Related
- GraveMarket SDK — the typed client, generated from the published package
- GraveMint v1 API — minting on your own site
