# Reservoir Documentation ## Guides - [Floor Price Data](https://reservoirprotocol.readme.io/docs/floor-prices.md): Access real-time and historical floor price data aggregated from across major NFT marketplaces. - [Aggregated Mints](https://reservoirprotocol.readme.io/docs/minting.md): Integrate minting functionality & data right into your application through Reservoir. Supporting a number of direct mint platform integrations as well as auto-detecting most standard mint contracts. - [Spam Detection](https://reservoirprotocol.readme.io/docs/spam-detection.md): Easily identify spam collections and tokens with Reservoir APIs. - [Configure Custom Source Metadata](https://reservoirprotocol.readme.io/docs/configure-custom-source-metadata.md) - [Configure Metadata for Collections and Tokens](https://reservoirprotocol.readme.io/docs/how-to-configure-metadata.md) - [Import an Existing API Key](https://reservoirprotocol.readme.io/docs/import-an-existing-api-key.md) - [Support Minting Your Collection](https://reservoirprotocol.readme.io/docs/mints.md) - [Protect Your API Key](https://reservoirprotocol.readme.io/docs/protect-your-api-key.md): Best practices for protecting your API key and how to secure it from unauthorized access - [Set Your Source Onchain](https://reservoirprotocol.readme.io/docs/set-your-source-onchain.md) - [Reservoir Tools](https://reservoirprotocol.readme.io/docs/marketplace-toolkit.md): Reservoir's complete suite of APIs, SDKs and UI Kits. Low-level tooling that lets you focus on your product’s strengths by abstracting the complexity of interacting with the NFT market. - [Reservoir Swap](https://reservoirprotocol.readme.io/docs/reservoir-swap.md) - [Marketplace Source Attribution](https://reservoirprotocol.readme.io/docs/calldata-attribution.md): Understanding Reservoir's call data marketplace attribution - a burgeoning industry standard - [Can I get Blur listings and bids?](https://reservoirprotocol.readme.io/docs/can-i-get-blur-listings-and-bids.md) - [Can I get English auctions?](https://reservoirprotocol.readme.io/docs/can-i-get-english-auctions.md) - [Can I set custom fees?](https://reservoirprotocol.readme.io/docs/can-i-set-custom-fees.md) - [Do I pay gas to cancel orders?](https://reservoirprotocol.readme.io/docs/do-i-pay-gas-to-cancel-orders.md) - [Do you support ERC-2981 - NFT Royalty Standard?](https://reservoirprotocol.readme.io/docs/do-you-support-erc-2981-nft-royalty-standard.md) - [Has the router contract been audited?](https://reservoirprotocol.readme.io/docs/has-the-router-contract-been-audited.md) - [How do I get a Reservoir API key](https://reservoirprotocol.readme.io/docs/how-do-i-get-a-reservoir-api-key.md) - [How quickly are my orders distributed?](https://reservoirprotocol.readme.io/docs/how-quickly-are-my-orders-distributed.md) - [How quickly are orders showing from marketplaces?](https://reservoirprotocol.readme.io/docs/how-quickly-are-orders-ingested-from-marketplaces.md) - [Is lazy minting NFTs supported?](https://reservoirprotocol.readme.io/docs/is-lazy-minting-nfts-supported.md) - [Is OpenRarity supported?](https://reservoirprotocol.readme.io/docs/is-openrarity-supported.md) - [Is the Reservoir API free to use?](https://reservoirprotocol.readme.io/docs/is-the-reservoir-api-free-to-use.md) - [What are trait-specific bids?](https://reservoirprotocol.readme.io/docs/what-are-trait-specific-bids.md) - [What is the oracle's address?](https://reservoirprotocol.readme.io/docs/what-is-the-oracles-address.md) - [What is the router contract address?](https://reservoirprotocol.readme.io/docs/what-is-the-router-contract.md) - [What is WETH?](https://reservoirprotocol.readme.io/docs/what-is-weth.md) - [Where do Reservoir native orders get distributed?](https://reservoirprotocol.readme.io/docs/where-do-reservoir-native-orders-get-distributed.md) - [Why are the number of listings different?](https://reservoirprotocol.readme.io/docs/why-are-the-number-of-listings-different.md) - [Glossary](https://reservoirprotocol.readme.io/docs/glossary.md) - [Logos](https://reservoirprotocol.readme.io/docs/logos.md) - [Marketplace Fees & Royalties](https://reservoirprotocol.readme.io/docs/marketplace-fees-royalties.md) - [Marketplace Security and Smart Contract Audits](https://reservoirprotocol.readme.io/docs/security-and-smart-contract-audits.md) - [Uniswap Contract Deployments](https://reservoirprotocol.readme.io/docs/uniswap-contract-deployments.md) - [Marketplaces](https://reservoirprotocol.readme.io/docs/custom-marketplaces.md): Leverage Reservoir to build a best-in-class NFT marketplace. - [Instant Bridging](https://reservoirprotocol.readme.io/docs/instant-bridging.md): Relay is the fastest and cheapest way to bridge & transact across chains - [Wallets & Portfolios](https://reservoirprotocol.readme.io/docs/walletportfolio-app.md): Build the most feature rich NFT wallet with Reservoir ## API Reference - [Asks status changes](https://reservoirprotocol.readme.io/reference/geteventsasksv3.md): Every time an ask status changes, an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token. There are multiple event types, which describe what caused the change in price: - `new-order` > new listing at a lower price - `expiry` > the previous best listing expired - `sale` > the previous best listing was filled - `cancel` > the previous best listing was canceled - `balance-change` > the best listing was invalidated due to no longer owning the NFT - `approval-change` > the best listing was invalidated due to revoked approval - `revalidation` > manual revalidation of orders (e.g. after a bug fixed) - `reprice` > price update for dynamic orders (e.g. dutch auctions) - `bootstrap` > initial loading of data, so that all tokens have a price associated Note: Private listings (asks) will not appear in the results. - [Bid status changes](https://reservoirprotocol.readme.io/reference/geteventsbidsv3.md): Every time a bid status changes, an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token. There are multiple event types, which describe what caused the change in price: - `new-order` > new offer at a lower price - `expiry` > the previous best offer expired - `sale` > the previous best offer was filled - `cancel` > the previous best offer was canceled - `balance-change` > the best offer was invalidated due to no longer owning the NFT - `approval-change` > the best offer was invalidated due to revoked approval - `revalidation` > manual revalidation of orders (e.g. after a bug fixed) - `reprice` > price update for dynamic orders (e.g. dutch auctions) - `bootstrap` > initial loading of data, so that all tokens have a price associated Some considerations to keep in mind - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity. - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices. - [Collection floor changes](https://reservoirprotocol.readme.io/reference/geteventscollectionsflooraskv2.md): Every time the floor price of a collection changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token. There are multiple event types, which describe what caused the change in price: - `new-order` > new listing at a lower price - `expiry` > the previous best listing expired - `sale` > the previous best listing was filled - `cancel` > the previous best listing was cancelled - `balance-change` > the best listing was invalidated due to no longer owning the NFT - `approval-change` > the best listing was invalidated due to revoked approval - `revalidation` > manual revalidation of orders (e.g. after a bug fixed) - `reprice` > price update for dynamic orders (e.g. dutch auctions) - `bootstrap` > initial loading of data, so that all tokens have a price associated Some considerations to keep in mind - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity. - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices. - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API. - [Collection top bid changes](https://reservoirprotocol.readme.io/reference/geteventscollectionstopbidv2.md): Every time the top offer of a collection changes (i.e. the 'top bid'), an event is generated. This API is designed to be polled at high frequency. There are multiple event types, which describe what caused the change in price: - `new-order` > new bid at a higher price - `expiry` > the previous top bid expired - `sale` > the previous top bid was accepted - `cancel` > the previous top bid was cancelled - `balance-change` > the top bid was invalidated due NFT no longer available - `approval-change` > the top bid was invalidated due to revoked approval - `revalidation` > manual revalidation of orders (e.g. after a bug fixed) - `reprice` > price update for dynamic orders (e.g. dutch auctions) - `bootstrap` > initial loading of data, so that all tokens have a price associated Some considerations to keep in mind - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity. - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices. - Events are only generated if the top bid changes. So if a new order or sale happens without changing the top bid, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API. - [Token price changes](https://reservoirprotocol.readme.io/reference/geteventstokensflooraskv4.md): Every time the best price of a token changes (i.e. the 'floor ask'), an event is generated. This API is designed to be polled at high frequency, in order to keep an external system in sync with accurate prices for any token. There are multiple event types, which describe what caused the change in price: - `new-order` > new listing at a lower price - `expiry` > the previous best listing expired - `sale` > the previous best listing was filled - `cancel` > the previous best listing was cancelled - `balance-change` > the best listing was invalidated due to no longer owning the NFT - `approval-change` > the best listing was invalidated due to revoked approval - `revalidation` > manual revalidation of orders (e.g. after a bug fixed) - `reprice` > price update for dynamic orders (e.g. dutch auctions) - `bootstrap` > initial loading of data, so that all tokens have a price associated Some considerations to keep in mind - Selling a partial quantity of available 1155 tokens in a listing will generate a `sale` and will have a new quantity. - Due to the complex nature of monitoring off-chain liquidity across multiple marketplaces, including dealing with block re-orgs, events should be considered 'relative' to the perspective of the indexer, ie _when they were discovered_, rather than _when they happened_. A more deterministic historical record of price changes is in development, but in the meantime, this method is sufficent for keeping an external system in sync with the best available prices. - Events are only generated if the best price changes. So if a new order or sale happens without changing the best price, no event is generated. This is more common with 1155 tokens, which have multiple owners and more depth. For this reason, if you need sales data, use the Sales API. - [Get rate limits for the given API key](https://reservoirprotocol.readme.io/reference/getapikeyskeyratelimits.md): Get the rate limits for the given API key. Note: API keys are not universal across all available chains; please make a different key for every chain. - [Override collections](https://reservoirprotocol.readme.io/reference/postcollectionscollectionoverridev1.md): Override collections metadata and royalties - [Override collections](https://reservoirprotocol.readme.io/reference/postcollectionscollectionoverridev2.md): Override collections metadata and royalties - [Disable or reenable metadata for a collection](https://reservoirprotocol.readme.io/reference/postcollectionsdisablemetadatav1.md): This API requires an allowed API key for execution. Please contact technical support with more questions. - [Update collections nsfw status](https://reservoirprotocol.readme.io/reference/postcollectionsnsfwstatusv1.md): This API can be used by allowed API keys to update the nsfw status of a collection. - [Update collections spam status](https://reservoirprotocol.readme.io/reference/postcollectionsspamstatusv1.md): This API can be used by allowed API keys to update the spam status of a collection. - [Create or update an external cosigner](https://reservoirprotocol.readme.io/reference/postmanagementcosignersv1.md) - [Simulate any given mint](https://reservoirprotocol.readme.io/reference/postmanagementmintssimulatev1.md) - [Simulate any given order](https://reservoirprotocol.readme.io/reference/postmanagementorderssimulatev1.md) - [Invalidate stale orders](https://reservoirprotocol.readme.io/reference/postordersinvalidatev1.md) - [Disable or reenable metadata for a token](https://reservoirprotocol.readme.io/reference/posttokensdisablemetadatav1.md): This API requires an allowed API key for execution. Please contact technical support with more questions. - [Update token flag status](https://reservoirprotocol.readme.io/reference/posttokensflagv1.md) - [Update the tokens nsfw status](https://reservoirprotocol.readme.io/reference/posttokensnsfwstatusv1.md): This API can be used by allowed API keys to update the nsfw status of a token. - [Update the tokens spam status](https://reservoirprotocol.readme.io/reference/posttokensspamstatusv1.md): This API can be used by allowed API keys to update the spam status of a token. - [Override tokens](https://reservoirprotocol.readme.io/reference/posttokenstokenoverridev1.md): Override tokens metadata - [Redirect to the given collection image](https://reservoirprotocol.readme.io/reference/getredirectcollectionscollectionimagev1.md) - [Redirect response to the given currency address icon](https://reservoirprotocol.readme.io/reference/getredirectcurrencyaddressiconv1.md) - [Redirect response to the given source logo](https://reservoirprotocol.readme.io/reference/getredirectsourcessourcelogov2.md) - [Redirect response to the given source token page](https://reservoirprotocol.readme.io/reference/getredirectsourcessourcetokenstokenlinkv2.md) - [Redirect response to the given token image](https://reservoirprotocol.readme.io/reference/getredirecttokenstokenimagev1.md) - [Attach a signature to an existing auth challenge](https://reservoirprotocol.readme.io/reference/postexecuteauthsignaturev1.md) - [Make arbitrary same-chain and cross-chain calls via solver](https://reservoirprotocol.readme.io/reference/postexecutecallv1.md) - [Off-chain cancel orders](https://reservoirprotocol.readme.io/reference/postexecutecancelsignaturev1.md): If your order was created using the Seaport Oracle to allow off chain & gasless cancellations, you can just use the Kit's cancel modals, SDK's `cancelOrder`, or `/execute/cancel/`. Those tools will automatically access this endpoint for an oracle cancellation without you directly calling this endpoint. - [Deposit funds to the solver](https://reservoirprotocol.readme.io/reference/postexecutedepositv1.md) - [Attach a signature to an existing permit](https://reservoirprotocol.readme.io/reference/postexecutepermitsignaturev1.md) - [Attach a signature to an existing pre-signature](https://reservoirprotocol.readme.io/reference/postexecutepresignaturev1.md) - [Send the success status of an execution](https://reservoirprotocol.readme.io/reference/postexecuteresultsv1.md) - [Get the capacity for indirect filling via a solver](https://reservoirprotocol.readme.io/reference/postexecutesolvecapacityv1.md) - [Get the capacity for indirect filling via a solver](https://reservoirprotocol.readme.io/reference/postexecutesolvecapacityv2.md) - [Indirectly fill an order via a solver](https://reservoirprotocol.readme.io/reference/postexecutesolvev1.md) - [Get the status of an execution](https://reservoirprotocol.readme.io/reference/postexecutestatusv1.md) - [Sources List](https://reservoirprotocol.readme.io/reference/getsourcesv1.md): This API returns a list of sources - [Getting Started](https://reservoirprotocol.readme.io/reference/dashboard-sign-up.md): Learn how to create your free Reservoir key and start building. - [Abstract NFT API](https://reservoirprotocol.readme.io/reference/abstract-nft-api.md): Learn how to access Abstract NFT data & trading through Reservoir's developer tools - [ApeChain NFT API](https://reservoirprotocol.readme.io/reference/apechain-nft-api.md): Learn how to access Apechain NFT data & trading through Reservoir's developer tools - [Arbitrum NFT API](https://reservoirprotocol.readme.io/reference/arbitrum-nft-api.md): Learn how to access Arbitrum NFT data & trading through Reservoir's developer tools - [Arbitrum Nova API](https://reservoirprotocol.readme.io/reference/arbitrum-nova-api.md) - [Avalanche NFT API](https://reservoirprotocol.readme.io/reference/avalanche-api.md): Learn how to access Avalanche NFT data & trading through Reservoir's developer tools - [B3 NFT API](https://reservoirprotocol.readme.io/reference/b3-nft-api.md): Learn how to access B3 NFT data & trading through Reservoir's developer tools - [Base NFT API](https://reservoirprotocol.readme.io/reference/base-api.md): Learn how to access Base NFT data & trading through Reservoir's developer tools - [Blast NFT API](https://reservoirprotocol.readme.io/reference/blast.md): Learn how to access Blast NFT data & trading through Reservoir's developer tools - [Binance Smart Chain (BSC) NFT API](https://reservoirprotocol.readme.io/reference/bsc-api.md): Learn how to access BSC NFT data & trading through Reservoir's developer tools - [Cyber NFT API](https://reservoirprotocol.readme.io/reference/cyber-nft-api.md): Learn how to access Cyber NFT data & trading through Reservoir's developer tools - [Degen NFT API](https://reservoirprotocol.readme.io/reference/degen-nft-api.md): Learn how to access Degen NFT data & trading through Reservoir's developer tools. - [Ethereum NFT API](https://reservoirprotocol.readme.io/reference/ethereum.md): Learn how to access Ethereum NFT data & trading through Reservoir's developer tools - [Flow NFT API](https://reservoirprotocol.readme.io/reference/flow-nft-api.md): Learn how to access Flow NFT data & trading through Reservoir's developer tools - [Forma NFT API](https://reservoirprotocol.readme.io/reference/forma-nft-api.md): Learn how to access Forma NFT data & trading through Reservoir's developer tools - [Hychain NFT API](https://reservoirprotocol.readme.io/reference/hychain-nft-api.md): Learn how to access Hychain NFT data & trading through Reservoir's developer tools - [Supported Chains](https://reservoirprotocol.readme.io/reference/supported-chains.md) - [Linea NFT API](https://reservoirprotocol.readme.io/reference/linea-api.md): Learn how to access Linea NFT data & trading through Reservoir's developer tools - [Nebula NFT API](https://reservoirprotocol.readme.io/reference/nebula-nft-api.md): Learn how to access Nebula NFT data & trading through Reservoir's developer tools - [Optimism NFT API](https://reservoirprotocol.readme.io/reference/optimism.md): Learn how to access Optimism NFT data & trading through Reservoir's developer tools - [Polygon NFT API](https://reservoirprotocol.readme.io/reference/polygon-nft-api.md): Learn how to access Polygon NFT data & trading through Reservoir's developer tools - [Polygon zkEVM NFT API](https://reservoirprotocol.readme.io/reference/polygon-zkevm-nft-api.md): Learn how to access Polygon zkEVM NFT data & trading through Reservoir's developer tools - [Redstone NFT API](https://reservoirprotocol.readme.io/reference/redstone-nft-api.md): Learn how to access Redstone NFT data & trading through Reservoir's developer tools - [Scroll NFT API](https://reservoirprotocol.readme.io/reference/scroll-nft-api.md): Learn how to access Scroll NFT data & trading through Reservoir's developer tools - [Sei NFT API](https://reservoirprotocol.readme.io/reference/sei-nft-api.md): Learn how to access SEI NFT data & trading through Reservoir's developer tools - [Shape NFT API](https://reservoirprotocol.readme.io/reference/shape-nft-api.md): Learn how to access Shape NFT data & trading through Reservoir's developer tools - [Soneium NFT API](https://reservoirprotocol.readme.io/reference/sonieum-nft-api.md): Learn how to access Soneium NFT data & trading through Reservoir's developer tools - [Xai NFT API](https://reservoirprotocol.readme.io/reference/xai-nft-api.md): Learn how to access Xai NFT data & trading through Reservoir's developer tools - [Zero NFT API](https://reservoirprotocol.readme.io/reference/zero-nft-api.md): Learn how to access Zero NFT data & trading through Reservoir's developer tools - [zkSync Era NFT API](https://reservoirprotocol.readme.io/reference/zksync-api.md): Learn how to access zkSync Era NFT data & trading through Reservoir's developer tools - [Zora NFT API](https://reservoirprotocol.readme.io/reference/zora-api.md): Learn how to access Zora NFT data & trading through Reservoir's developer tools - [Supported Marketplaces](https://reservoirprotocol.readme.io/reference/supported-marketplaces.md) - [Usage Credits](https://reservoirprotocol.readme.io/reference/usage-credits.md): What are usage credits and how to use them. - [What is Reservoir NFT?](https://reservoirprotocol.readme.io/reference/what-is-reservoir.md): NFT trading infrastructure enabling the next generation of NFT products - [User Top Bids](https://reservoirprotocol.readme.io/reference/getordersusersusertopbidsv4.md): Return the top bids for the given user tokens. Please mark `excludeEOA` as `true` to exclude Blur orders. - [User Asks (listings)](https://reservoirprotocol.readme.io/reference/getusersuserasksv1.md): Get a list of asks (listings), filtered by maker. - [User Bids (offers)](https://reservoirprotocol.readme.io/reference/getusersuserbidsv1.md): Get a list of bids (offers), filtered by maker. - [User collections](https://reservoirprotocol.readme.io/reference/getusersusercollectionsv4.md): Get aggregate stats for a user, grouped by collection. Useful for showing total portfolio information. - [User Tokens](https://reservoirprotocol.readme.io/reference/getusersusertokensv10.md): Get tokens held by a user, along with ownership information such as associated orders and date acquired. - [Owners Collection Distribution](https://reservoirprotocol.readme.io/reference/getcollectionscollectionownersdistributionv1.md): This API can be used to show what the distribution of owners in a collection looks like. - [Owners Collection Set Distribution](https://reservoirprotocol.readme.io/reference/getcollectionssetscollectionssetidownersdistributionv1.md): This API can be used to show what the distribution of owners in a collections set id looks like. - [Common Collections](https://reservoirprotocol.readme.io/reference/getownerscommoncollectionsv1.md): This API can be used to find top common collections from an array of owners. - [Owners intersection](https://reservoirprotocol.readme.io/reference/getownerscrosscollectionsv1.md): Find which addresses own the most of a group of collections. - [Owners](https://reservoirprotocol.readme.io/reference/getownersv2.md): Get owners with various filters applied, and a summary of their ownership. Useful for exploring top owners in a collection or attribute. - [Collection activity](https://reservoirprotocol.readme.io/reference/getcollectionsactivityv6.md): This API can be used to build a feed for a collection including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. - [Token activity](https://reservoirprotocol.readme.io/reference/gettokenstokenactivityv5.md): This API can be used to build a feed for a token activity including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. - [Users activity](https://reservoirprotocol.readme.io/reference/getusersactivityv6.md): This API can be used to build a feed for a user including sales, asks, transfers, mints, bids, cancelled bids, and cancelled asks types. - [Sales](https://reservoirprotocol.readme.io/reference/getsalesv6.md): Get recent sales for a contract or token. Paid mints are returned in this `sales` endpoint, free mints can be found in the `/activities/` endpoints. Array of contracts max limit is 20. - [Bulk historical transfers](https://reservoirprotocol.readme.io/reference/gettransfersbulkv2.md): Note: this API is optimized for bulk access, and offers minimal filters/metadata. If you need more flexibility, try the `NFT API > Transfers` endpoint - [Historical token transfers](https://reservoirprotocol.readme.io/reference/gettransfersv4.md): Get recent transfers for a contract or token. - [Collection Bids (offers)](https://reservoirprotocol.readme.io/reference/getcollectionscollectionidbidsv1.md): Get a list of bids (offers), filtered by collection. - [Marketplace configurations by collection](https://reservoirprotocol.readme.io/reference/getcollectionscollectionmarketplaceconfigurationsv2.md): This API returns recommended marketplace configurations given a collection id - [Top Traders](https://reservoirprotocol.readme.io/reference/getcollectionscollectiontoptradersv1.md): Get top traders for a particular collection - [Search Collections (Cross Chain)](https://reservoirprotocol.readme.io/reference/getcollectionssearchv1.md) - [Top Trending Mints](https://reservoirprotocol.readme.io/reference/getcollectionstrendingmintsv1.md): Get top trending mints - [Top Trending Mints](https://reservoirprotocol.readme.io/reference/getcollectionstrendingmintsv2.md): Get top trending mints - [Top Trending Collections](https://reservoirprotocol.readme.io/reference/getcollectionstrendingv1.md): Get trending selling/minting collections - [Collections](https://reservoirprotocol.readme.io/reference/getcollectionsv7.md): Use this API to explore a collection's metadata and statistics (sales, volume, etc). - [Search Collections](https://reservoirprotocol.readme.io/reference/getsearchcollectionsv2.md) - [Refresh Collection](https://reservoirprotocol.readme.io/reference/postcollectionsrefreshv2.md): Use this API to refresh a collection metadata. Only use this endpoint when you notice multiple tokens with incorrect metadata. Otherwise, refresh single token metadata. Collections with over 30,000 tokens require admin key override, so please contact technical support for assistance. Collection metadata is automatically updated at 23:30 UTC daily for: - Top 500 Collection by 24hr Volume - Collections Minted 1 Day Ago - Collections Minted 7 Days Ago Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited. - [Create collection set](https://reservoirprotocol.readme.io/reference/postcollectionssetsv1.md): Array of collections to gather in a set. Adding or removing a collection will change the response. You may use this set when `collectionSetId` is an available param. The max limit of collection in an array is 500. An example is below. `"collections": "0xba30E5F9Bb24caa003E9f2f0497Ad287FDF95623", "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"` `"collectionsSetId": "8daa732ebe5db23f267e58d52f1c9b1879279bcdf4f78b8fb563390e6946ea65"` - [Create contracts set](https://reservoirprotocol.readme.io/reference/postcontractssetsv1.md): Array of contracts to gather in a set. Adding or removing a contract will change the response. You may use this set when contractSetId is an available param. Max limit of contracts passed in an array is 500. An example is below. `"contracts": "0x60e4d786628fea6478f785a6d7e704777c86a7c6", "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"` `"contractsSetId": "74cc9bdc0824e92de13c75213015916557fcf8187e43b34a8e77175cd03d1931" - [NFT Data Overview](https://reservoirprotocol.readme.io/reference/nft-data-overview.md): Real-time and historical NFT market data and metadata - [Asks (listings)](https://reservoirprotocol.readme.io/reference/getordersasksv5.md): Get a list of asks (listings), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing. To get all orders unflitered, select `sortBy` to `updatedAt`. No need to pass any other param. This will return any orders for any collections, token, attribute, etc. Please mark `excludeEOA` as `true` to exclude Blur orders. - [Bids (offers)](https://reservoirprotocol.readme.io/reference/getordersbidsv6.md): Get a list of bids (offers), filtered by token, collection or maker. This API is designed for efficiently ingesting large volumes of orders, for external processing. There are a different kind of bids than can be returned: - To get all orders unfiltered, select `sortBy` to `updatedAt`. No need to pass any other param. This will return any orders for any collections, token, attribute, etc. - Inputting a 'contract' will return token and attribute bids. - Inputting a 'collection-id' will return collection wide bids. - Please mark `excludeEOA` as `true` to exclude Blur orders. - [Orders depth](https://reservoirprotocol.readme.io/reference/getordersdepthv1.md): Get the depth of a token or collection. - [Chain Stats](https://reservoirprotocol.readme.io/reference/getchainstatsv1.md): Get chain mint and sales stats for 1 and 7 days - [Daily collection volume](https://reservoirprotocol.readme.io/reference/getcollectionsdailyvolumesv1.md): Get date, volume, rank and sales count for each collection - [Stats](https://reservoirprotocol.readme.io/reference/getstatsv2.md): Get aggregate stats for a particular set (collection, attribute or single token) - [All attributes](https://reservoirprotocol.readme.io/reference/getcollectionscollectionattributesallv4.md): Use this API to see all possible attributes within a collection. - `floorAskPrice` for all attributes might not be returned on collections with more than 10k tokens. - Attributes are case sensitive. - Attributes will return a maximum of 500 values. - [Explore attributes](https://reservoirprotocol.readme.io/reference/getcollectionscollectionattributesexplorev6.md): Use this API to see stats on a specific attribute within a collection. This endpoint will return `tokenCount`, `onSaleCount`, `sampleImages`, and `floorAskPrices` by default. - `floorAskPrices` will not be returned on attributes with more than 10k tokens. - [Token Events Bootstrap](https://reservoirprotocol.readme.io/reference/gettokensbootstrapv1.md): Get the latest price event per token in a collection, so that you can listen to future events and keep track of prices - [Flagged Tokens](https://reservoirprotocol.readme.io/reference/gettokensflagchangesv1.md): This API return the recent flagged/un-flagged tokens across all collections sorted by change time - [Token Prices](https://reservoirprotocol.readme.io/reference/gettokensfloorv1.md): This API will return the best price of every token in a collection that is currently on sale. Note: Prices are returned in the native currency of the network. - [Token IDs](https://reservoirprotocol.readme.io/reference/gettokensidsv1.md): This API is optimized for quickly fetching a list of tokens ids in by collection, contract, token set id. - [Token Asks (listings)](https://reservoirprotocol.readme.io/reference/gettokenstokenasksv1.md): Get a list of asks (listings), filtered by token. - [Token Bids (offers)](https://reservoirprotocol.readme.io/reference/gettokenstokenbidsv1.md): Get a list of bids (offers), filtered by token. - [Tokens](https://reservoirprotocol.readme.io/reference/gettokensv7.md): Get a list of tokens with full metadata. This is useful for showing a single token page, or scenarios that require more metadata. - [Create token set](https://reservoirprotocol.readme.io/reference/posttokensetsv2.md): Use this API to create a `tokenSetId` to call specific tokens from a collection. Adding or removing a tokenId will change the response. See an example below. Input of `0xd774557b647330c91bf44cfeab205095f7e6c367:1` and `0xd774557b647330c91bf44cfeab205095f7e6c367:2` Output of `list:0xd774557b647330c91bf44cfeab205095f7e6c367:0xb6fd98eeb7e08fc521f11511289afe4d8e873fd7a3fb76ab757fa47c23f596e9` Notes: - Include `list:` when using this `tokenSetId` for it to work successfully. - You cannot adjust tokens within a `tokenSetId`. Please create a new set. - Use the `/tokens/ids` endpoint to get a list of tokens within a set. - [Refresh Token](https://reservoirprotocol.readme.io/reference/posttokensrefreshv2.md): Token metadata is never automatically refreshed, but may be manually refreshed with this API. Caution: This API should be used in moderation, like only when missing data is discovered. Calling it in bulk or programmatically will result in your API key getting rate limited. - [NFT Trading Overview](https://reservoirprotocol.readme.io/reference/creating-and-filling-orders.md): Leverage Reservoir's Trading APIs to create and fill NFT orders. - [Check Cross Posting Status](https://reservoirprotocol.readme.io/reference/getcrosspostingordersv1.md): This API can be used to check the status of cross posted listings and bids. Input your `crossPostingOrderId` into the `ids` param and submit for the status. The `crossPostingOrderId` is returned in the `execute/bids` and `execute/asks` response as well as the `onProgess` callback for the SDK. Note: ReservoirKit does not return a `crossPostingOrderId`. - [Check Transaction Status](https://reservoirprotocol.readme.io/reference/gettransactionssyncedv2.md): Get a boolean response on whether a particular transaction was synced or not. - [Check Transaction Status](https://reservoirprotocol.readme.io/reference/gettransactionstxhashsyncedv1.md): Get a boolean response on whether a particular transaction was synced or not. - [Submit Signed Orders](https://reservoirprotocol.readme.io/reference/postorderv4.md) - [Create Bids](https://reservoirprotocol.readme.io/reference/postexecutebidv5.md): Generate bids and submit them to multiple marketplaces. Notes: - Please use the `/cross-posting-orders/v1` to check the status on cross posted bids. - We recommend using Reservoir SDK as it abstracts the process of iterating through steps, and returning callbacks that can be used to update your UI. - [Buy Tokens](https://reservoirprotocol.readme.io/reference/postexecutebuyv7.md): Use this API to fill listings. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. Please mark `excludeEOA` as `true` to exclude Blur orders. - [Cancel Orders](https://reservoirprotocol.readme.io/reference/postexecutecancelv3.md): Cancel existing orders on any marketplace - [Create Listings](https://reservoirprotocol.readme.io/reference/postexecutelistv5.md): Generate listings and submit them to multiple marketplaces. Notes: - Please use the `/cross-posting-orders/v1` to check the status on cross posted bids. - We recommend using Reservoir SDK as it abstracts the process of iterating through steps, and returning callbacks that can be used to update your UI. - [Mint Tokens](https://reservoirprotocol.readme.io/reference/postexecutemintv1.md): Use this API to mint tokens. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. - [Sell Tokens](https://reservoirprotocol.readme.io/reference/postexecutesellv7.md): Use this API to accept bids. We recommend using the SDK over this API as the SDK will iterate through the steps and return callbacks. Please mark `excludeEOA` as `true` to exclude Blur orders. - [Transfer Tokens](https://reservoirprotocol.readme.io/reference/postexecutetransferv1.md): Use this endpoint to bulk transfer an array of NFTs. - [Getting Started](https://reservoirprotocol.readme.io/reference/getting-started.md): Reservoir's complete suite of APIs, SDKs and UI Kits. Low-level tooling that lets you focus on your product’s strengths by abstracting the complexity of interacting with the NFT market - [Reservoir API Overview](https://reservoirprotocol.readme.io/reference/overview.md): Learn how to use the Reservoir API to get NFT data, create orders, and execute trades - [acceptOffer](https://reservoirprotocol.readme.io/reference/acceptoffer.md): This action is used to accept a valid offer/bid. - [Adapters](https://reservoirprotocol.readme.io/reference/adapters.md): Override core logic for signing messages and sending transactions - [buyToken](https://reservoirprotocol.readme.io/reference/buytoken.md): This action is used to buy an ERC-1155 or ERC-721 token. You can also use it to buy multiple tokens of the same kind (sweeping). - [cancelOrder](https://reservoirprotocol.readme.io/reference/cancelorder.md): This action can be used to cancel and valid order (bids/listings) - [Reservoir SDK (Typescript)](https://reservoirprotocol.readme.io/reference/reservoir-sdk-jstsnode.md): ReservoirSDK wraps the trading APIs into convenient methods for use in typescript - [listToken](https://reservoirprotocol.readme.io/reference/listtoken.md): This action is used to list an ERC-1155 or ERC-721 token. You can also use this action to list to multiple exchanges/marketplaces. - [mintToken](https://reservoirprotocol.readme.io/reference/minttoken.md): This action is used to mint an ERC-1155 or ERC-721 token. You can also use it to mint multiple tokens of the same kind. - [placeBid](https://reservoirprotocol.readme.io/reference/placebid.md): This action is used to place a bid or multiple bids on an ERC-1155 or ERC-721 token. You can also use this action to bid on multiple exchanges/marketplaces. - [transferTokens](https://reservoirprotocol.readme.io/reference/transfer-tokens.md): This action can be used to transfer tokens between wallets - [Typescript API Typings](https://reservoirprotocol.readme.io/reference/typescript-api-typings.md): Typescript API Typings Typescript Types that facilitate API interaction - [AcceptBidModal](https://reservoirprotocol.readme.io/reference/acceptbid-modal.md): Leverage the AcceptBidModal to accept bids using ReservoirKit - [BidModal](https://reservoirprotocol.readme.io/reference/bidmodal.md): Leverage the BidModal to create bids using ReservoirKit - [BuyModal](https://reservoirprotocol.readme.io/reference/buymodal.md): Leverage the BuyModal to purchase a token using ReservoirKit - [CancelBidModal](https://reservoirprotocol.readme.io/reference/cancelbidmodal.md): Leverage the CancelBidModal to cancel bids using ReservoirKit - [CancelListingModal](https://reservoirprotocol.readme.io/reference/cancellistingmodal.md): Leverage the CancelListingModal to cancel listings using ReservoirKit - [CartPopover](https://reservoirprotocol.readme.io/reference/cartpopover.md): Add cart UX to your app with the CartPopover using ReservoirKit - [CollectButton](https://reservoirprotocol.readme.io/reference/collectbutton.md): Leverage the CollectButton to easily add minting and sweeping to your app - [CollectModal (Mint + Sweep)](https://reservoirprotocol.readme.io/reference/collectmodal-mint-sweep.md): Leverage the CollectModal to add minting and sweeping to your app with ReservoirKit. - [EditBidModal](https://reservoirprotocol.readme.io/reference/editbidmodal.md): Leverage the EditBidModal to edit bids using ReservoirKit - [EditListingModal](https://reservoirprotocol.readme.io/reference/editlistingmodal.md): Leverage the EditListingModal to edit listings using ReservoirKit - [ReservoirKit (React)](https://reservoirprotocol.readme.io/reference/reservoirkit.md): ReservoirKit lets you build a React app easily using Reservoir - [Installing ReservoirKit](https://reservoirprotocol.readme.io/reference/installing-reservoirkit.md) - [ListModal](https://reservoirprotocol.readme.io/reference/listmodal.md): Leverage the ListModal to create listings using ReservoirKit - [MintModal](https://reservoirprotocol.readme.io/reference/mintmodal.md): Leverage the MintModal to add minting to your app with ReservoirKit. - [TokenMedia](https://reservoirprotocol.readme.io/reference/rendertokenmedia.md): Render any token media, supports a wide range of media types using the RenderTokenMedia component - [Hooks](https://reservoirprotocol.readme.io/reference/reservoirkit-hooks.md): ReservoirKit comes with powerful hooks to make accessing Reservoir data simple and efficient. - [SweepModal](https://reservoirprotocol.readme.io/reference/sweepmodal.md): Leverage the SweepModal to sweep tokens using ReservoirKit - [Theming](https://reservoirprotocol.readme.io/reference/theming.md): Themes for ReservoirKit - [Troubleshooting](https://reservoirprotocol.readme.io/reference/troubleshooting.md): Having issues with ReservoirKit? Make sure to check this guide first. - [Approvals](https://reservoirprotocol.readme.io/reference/approval.md) - [Asks (Listings)](https://reservoirprotocol.readme.io/reference/asks.md) - [Websocket best practices](https://reservoirprotocol.readme.io/reference/best-practices.md) - [Bids (Offers)](https://reservoirprotocol.readme.io/reference/bids.md) - [Collections](https://reservoirprotocol.readme.io/reference/collection.md) - [Websockets](https://reservoirprotocol.readme.io/reference/websockets.md) - [Pending Transactions [Enterprise]](https://reservoirprotocol.readme.io/reference/pending-transactions.md) - [Sales](https://reservoirprotocol.readme.io/reference/sale.md) - [Token Attribute](https://reservoirprotocol.readme.io/reference/token-attribute.md) - [Tokens](https://reservoirprotocol.readme.io/reference/token.md) - [top-bid.changed](https://reservoirprotocol.readme.io/reference/top-bids.md) - [Transfers](https://reservoirprotocol.readme.io/reference/transfer.md) ## Changelog - [Weekly Update: Cross-Chain Minting & Buying - Now in Alpha!](https://reservoirprotocol.readme.io/changelog/weekly-update-cross-chain-minting-buying.md) - [Weekly Update: Detect and filter spam collections & tokens](https://reservoirprotocol.readme.io/changelog/weekly-update-spam-detection.md) - [Weekly Update: Reservoir now supports Polygon zkEVM](https://reservoirprotocol.readme.io/changelog/weekly-update-reservoir-now-supports-polygon-zkevm.md) - [Weekly Update: Reservoir now supports zkSync Era](https://reservoirprotocol.readme.io/changelog/weekly-update-reservoir-now-supports-zksync-era.md) - [Weekly Update: ReservoirKit Providing Easy Chain Switching](https://reservoirprotocol.readme.io/changelog/weekly-update-reservoirkit-providing-easy-chain-switching.md)