Capy public API
Read Robinhood Chain NFT data straight from Capy.Family: collections, statistics, listings, offers, sales, tokens, wallets and signed Seaport orders. The data comes from Capy's own chain index, updated every few seconds, and from Capy's own order book. It is free to use.
Base URL https://capy.family/api/public/v1 Chain 4663 Format JSON, CORS enabled
Quick start
curl https://capy.family/api/public/v1/collections?sort=top&limit=5
curl https://capy.family/api/public/v1/collections/0x8c71d170fbd94bcba93bb08fc2cfd0e8620cd9ce
curl -H "X-API-Key: capy_..." https://capy.family/api/public/v1/collections/0x8c71d170fbd94bcba93bb08fc2cfd0e8620cd9ce/listings
Every amount is a decimal string in wei. Addresses and hashes are lowercase. Timestamps are seconds since the epoch unless the field name ends in At, which is milliseconds.
Limits
| Caller | Requests per minute | How |
|---|---|---|
| Anonymous | 60 per IP address | Nothing to do |
| With an API key | 600 per key | Send the key in the X-API-Key header |
Every answer carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. A refused request answers 429 with Retry-After. Successful answers may be cached for five seconds.
API keys
Sign in on capy.family with your wallet, then create a key from the Listings & offers tab (Developer keys). A wallet can hold five active keys. The key is shown once; Capy stores only a hash of it. Revoke a key from the same place at any time.
Endpoints
| Path | Answer |
|---|---|
GET /collections?sort=top|newest&limit&offset | Collections ranked by 24 hour volume, or newest by deployment block. Each row carries name, symbol, slug, image and statistics. |
GET /collections/{address} | One collection with statistics (floor, listed, volumes, sales, owners, supply) and its deployer wallet, deploy transaction and kind (created directly or through a factory). |
GET /collections/{address}/listings?limit | Live ETH and WETH listings, cheapest first. Capy book listings and mirrored ones are merged; source says which. restricted is true when a zone must co sign the fulfilment. |
GET /collections/{address}/offers?kind=bid|collection_offer&limit | Live WETH offers on single tokens or on the whole collection, highest first. |
GET /collections/{address}/sales?tokenId&limit&offset | Sales, newest first: transaction, block, timestamp, token, seller, buyer, currency, price. |
GET /tokens/{address}/{tokenId} | Current owner, live listings for the token and its last sale. |
GET /wallets/{address}/tokens?limit | Tokens the wallet holds across the ERC721 collections the index knows. |
GET /wallets/{address}/listings?limit | Live listings made by the wallet. |
GET /orders/{orderHash} | One signed Seaport order: parameters, signature when it can be fulfilled directly, and fulfillment. |
GET /openapi.json | The OpenAPI 3.0 document for everything above. |
Example: one collection
{
"schema": "capy.public.collection.v1",
"address": "0x8c71d170fbd94bcba93bb08fc2cfd0e8620cd9ce",
"name": "RH MACHINES",
"symbol": "RHM",
"slug": "rhmachines",
"standard": "erc721",
"deployer": "0x355dcd5907d425157db2bd1d56bcfbe57793a3ae",
"deployKind": "create",
"stats": { "floorWei": "44500000000000000", "listed": 4, "volume24hWei": "43000000000000000", "sales": 1, "owners": 2230, "supply": 2500 }
}
Signed orders
Seaport 1.6 on Robinhood Chain lives at 0x0000000000000068f116a894984e2db1123eb395. An order from /orders/{orderHash} with fulfillment: "direct" carries its signature and can be filled by anyone through Seaport's fulfillOrder or fulfillAdvancedOrder. Orders with fulfillment: "restricted_zone" were signed for a zone that must co sign each fill; Capy fulfils those for its users, and the API returns their parameters without the signature.
Capy book orders (source: "capy") are open orders with the 1 percent Capy fee already included as a consideration item, so a fill pays the seller, the creator and Capy in one transaction.
Errors
{ "error": { "code": "collection_not_found", "message": "Unknown or not an ERC721 collection." } }
| Status | Codes |
|---|---|
| 400 | invalid_parameter |
| 401 | invalid_api_key |
| 404 | collection_not_found, token_not_found, order_not_found, not_found |
| 405 | method_not_allowed |
| 429 | rate_limited |
| 503 | index_unavailable |
Notes
- Statistics are recomputed as the chain and the order books move; a collection's row may lag the chain by up to two minutes.
- Ownership comes from on chain transfers with owner snapshots for large collections; a token page can lag the chain by a few seconds.
- The API is read only. Listing, bidding and buying happen on capy.family with your wallet.
- Questions and requests: @Capydotfamily.