Below is a complete list of the API scopes available. You can also find the scope a specific API requires in the API Reference section.

Wallet APIs

ScopeDescriptionServer KeyClient Key
wallets.readRetrieve all wallets for a user.
wallets.createCreate a wallet for a user.
wallets:nfts.readFetch the NFTs owned by a specific wallet address.
wallets:balance.readGet the balance of a specific wallet address.
wallets:nfts.transferTransfer an NFT from a user’s wallet.
wallets:messages.signSign a message from a user’s wallet.
wallets.fundSend funds to a wallet.

When using the Smart Wallets SDK you must use a client-side API key.

The wallets.read, wallets.create, and wallets.nfts.read scopes also work client-side for custodial wallets.

Verifiable Credentials

ScopeDescriptionServer KeyClient Key
credentials.readFetch credentials, some endpoints will only work with a server side key.
credentials.decryptDecrypt credentials, mainly used by our client side SDK.
credentials:templates.createCreate a template for your credentials.
credentials.createIssue your credentials and create credential types
credentials.deleteRevoke a credential issued to a subject.

Minting APIs

ScopeDescriptionServer KeyClient Key
nfts.createMint your NFTs and deliver them to a wallet or to an email address.
nfts.updateUpdate a minted NFT’s metadata on IPFS (image, description, name…).
nfts.readRetrieve all metadata for an NFT.
nfts.deleteBurn a specific NFT within a collection.
collections.createCreate a collection of NFTs.
collections.updateUpdate information for an existing collection (image, name, royalties…).
collections.readRetrieve the information about a specific collection.

Payments APIs

ScopeDescriptionServer KeyClient Key
orders.createCreate an order for headless checkout.
orders.readGet an existing order for headless checkout.
orders.updateUpdate an existing order for headless checkout.

When updating or reading order status from the client-side, you must pass the clientSecret returned in the create-order call as an authorization header. The clientSecret provides the authorization and an API Key is not required in this use case. See this guide in the Headless Checkout docs.

Authentication

ScopeDescriptionServer KeyClient Key
users.createCreate users / allow them to sign up.
users.readGet profile info for user accounts.

Project Administration

ScopeDescriptionServer KeyClient Key
billing.readonlyGet balance in credits for a project.
projects:usage.readGet usage for the different products in a project