Capy.FamilyCapy.Family/DevelopersBack to the marketplace
Developers

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

CallerRequests per minuteHow
Anonymous60 per IP addressNothing to do
With an API key600 per keySend 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

PathAnswer
GET /collections?sort=top|newest&limit&offsetCollections 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?limitLive 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&limitLive WETH offers on single tokens or on the whole collection, highest first.
GET /collections/{address}/sales?tokenId&limit&offsetSales, 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?limitTokens the wallet holds across the ERC721 collections the index knows.
GET /wallets/{address}/listings?limitLive listings made by the wallet.
GET /orders/{orderHash}One signed Seaport order: parameters, signature when it can be fulfilled directly, and fulfillment.
GET /openapi.jsonThe 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." } }
StatusCodes
400invalid_parameter
401invalid_api_key
404collection_not_found, token_not_found, order_not_found, not_found
405method_not_allowed
429rate_limited
503index_unavailable

Notes