| title | Frequently Asked Questions |
|---|---|
| category | 64cbb5277b5f3c0065d96616 |
| slug | opensea-sdk-faq |
| parentDocSlug | opensea-sdk |
| order | 4 |
| hidden | false |
- How do I access the source code?
- What chains are supported?
- Why is there no SDK method for the API request I am trying to call?
- Does the SDK support viem?
- What changed in v10?
The source code for the SDK can be found on GitHub.
See the Chain enum in src/types.ts for a complete list of supported chains.
Please use methods in the v2 API for multichain capabilities.
First, check the API Reference to see all available SDK methods - many OpenSea API v2 endpoints are now supported.
If the SDK does not currently have a specific API, you can use the generic get and post methods on the OpenSeaAPI class in src/api/api.ts to make any API request. This repository is also open source, so please feel free to create a pull request.
Yes. Starting in v10, the SDK ships a dedicated @opensea/sdk/viem entry point. Import from that path and pass { publicClient } (read-only) or { publicClient, walletClient } (read + write) instead of an ethers provider/signer. See the Quick Start Guide for full examples.
Note on bundle size: Even when using the viem entry point, ethers will appear in your node_modules as a transitive dependency of @opensea/seaport-js. Your application code never imports ethers directly, but the SDK uses it internally for Seaport protocol interactions. This is a known tradeoff until seaport-js adds native viem support.
Key changes in v10:
- Viem support -- new
@opensea/sdk/viementry point that accepts{ publicClient, walletClient }instead of ethersSigner | JsonRpcProvider. OrderSidevalues -- changed from"ask"/"bid"to"listing"/"offer".BigNumberishreplaced withAmount-- theAmounttype isstring | number | bigint.Overridesreplaced withRecord<string, unknown>.- TypeChain removed -- contract ABIs are used directly; no generated TypeChain wrappers.
ethers.FetchRequestreplaced with nativefetch()for HTTP calls.- New provider abstraction types --
OpenSeaSigner,OpenSeaProvider,ContractCaller,OpenSeaWalletare exported for custom provider integrations. providerpublic property removed -- Thesdk.providerproperty (ethersJsonRpcProvider) is no longer exposed. If you need direct RPC access, use the provider you passed to the constructor. The SDK'sapiproperty (sdk.api) is still available for API queries.estimateGasutility removed -- This was an ethers-specific utility. Use your provider's native gas estimation instead.