Migration Guide to NFT v3

This guide describes the migration process from NFT v2 to NFT v3.

This guide outlines the seamless migration from NFT API v2 to NFT API v3, unlocking new features for creators and collectors alike. Migrate now by following the detailed guide which takes you through everything you need to change or update. Unlock new endpoints and features by migrating to NFT v3!

If you have any difficulties migrating, please contact the support team.

Why Migrate?

1. Future Updates

Receive future updates and new releases, available only on the NFT v3. We strongly encourage you to migrate to NFT API v3 to ensure continued support and access to future updates.

2. Update Owner

Upgrading to the NFT v3 allows you to update the owner of an NFT contract. The updated owner will have admin rights on the NFT contract. The endpoint to update the owner is available only on the NFT v3.

3. Configure Royalties

A new endpoint is added to NFT v3, allowing you to configure the NFT contract royalties. You can specify the royalty recipient's wallet address and the royalty percentage. The royalty configuring endpoint only works with NFT contracts created with the NFT v3.

4. Unlock Token API

Migrating from v2 to v3 will unlock the Token API, which allows you to create ERC20 contracts and mint ERC20 tokens! More details for the Token API are at the end of this guide.

Where to find NFT v2.0 docs?

  • Switch between v2.0(deprecated) & v3.0(stable) of our documentation from the top left corner as shown below:
  • The v2.0 includes the deprecated:
  • The v3.0 has the latest product features including the NFT-API v3.
Deprecated v2.0 Documentation

Deprecated v2.0 Documentation

Migrating to NFT API v3

1. Base URL Change

The base URL for NFT v3 will become:

https://token-api.venly.io
https://token-api-sandbox.venly.io

2. Path Change for company wallet and media endpoints

For the following endpoints, replace /v2/ with /v3/ in the path:

Endpointsv2/v3 comparison
Get all company walletsv2: GET /api/v2/wallets
v3: GET /api/v3/wallets
Get all company wallets by chainv2: GET /api/v2/wallets/{chain}
v3: GET /api/v3/wallets/{chain}
Delete company walletv2: DELETE /api/v2/wallets/{chain}/{address}
v3: DELETE /api/v3/wallets/{chain}/{address}
Upload media filev2: POST /api/v2/media
v3: POST /api/v3/media
Upload imagev2: POST /api/v2/images
v3: POST /api/v3/images

3. Path change for all other endpoints

In the path of every other endpoint, replace /v2/ with /v3/erc1155/

For example, the endpoint to create a contract:

Before (v2):

POST /api/v2/contracts/deployments

Now (v3):

POST /api/v3/erc1155/contracts/deployments

📘

Apply this path change for all the remaining endpoints.

4. Replace secretType with chain

Replace secretType with chain everywhere, specifically in the path variable and request bodies.

4.1 Request Bodies

Replace secretType with chain in the request bodies for:

  • Mint tokens endpoint (POST /api/v3/erc1155/tokens/mints)
  • Create token-type endpoint (POST /api/v3/erc1155/token-types/creations)

4.2 Path Params

Replace {secretType} with {chain} in the path of all the endpoints where applicable.

For example, the path to get a contract by blockchain and contract address:

Before (v2):

GET /api/v2/contracts/{secretType}/{contractAddress}

Now (v3):

GET /api/v3/erc1155/contracts/{chain}/{contractAddress}

4.3 Response Bodies

In the response bodies, secretType will be replaced by the chain parameter.

5. Removed Endpoints

The following endpoints from v2 have been removed in v3:

Endpoint NameEndpoint URL
Create company/minter walletsPOST /api/v2/wallets

We decided to remove the endpoint mentioned above because of mass minting. Mass minting allows you to mint a huge number of NFTs simultaneously. You don't need to wait for the entire minting process to be completed before getting your response.

Mass minting takes care of the token-type creation request or an NFT mint request, thus eliminating the need to create company/minter wallets.

6. New Endpoints

EndpointsDescription
Update contract ownerThis endpoint updates the owner of an NFT contract. The owner has admin rights to the contract.
Update contract royaltyThis endpoint adds or updates the royalty information for an NFT contract. You can specify the royalty recipient's wallet address and the royalty percentage. (This endpoint can only be used on NFT contracts created with NFT v3)

Endpoints: v2 → v3 mapping

The following table lists endpoint mappings from v2 to v3 in full, along with the differences.

Deprecated EndpointsWhat to use instead?Differences
Get All Contract v2Get All Contracts v3- Path param changed
Create Contract v2Create Contract v3- Path param changed
Get Contract Status v2Get Contract Status v3- Path param changed
Get Contract by chain and contract address v2Get Contract by chain and contract address v3- Path param changed - Replace {secretType} with {chain} in the path
Delete Contract v2Delete Contract v3- Path param changed - Replace {secretType} with {chain} in the path
Get Contract Metadata v2Get Contract Metadata v3- Path param changed - Replace {secretType} with {chain} in the path
Update Contract Metadata v2Update Contract Metadata v3- Path param changed - Replace {secretType} with {chain} in the path
Get All Token-types v2Get All Token-types v3- Path param changed - Replace {secretType} with {chain} in the path
Create Token-type v2Create Token-type v3- Path param changed - Replace secretType with chain in the request body
Get token-type status v2Get token-type status v3- Path param changed
Get Specific Token-type v2Get Specific Token-type v3- Path param changed - Replace {secretType} with {chain} in the path
Delete Token-type v2Delete Token-type v3- Path param changed - Replace {secretType} with {chain} in the path
Get Token-type Metadata v2Get Token-type Metadata v3- Path param changed - Replace {secretType} with {chain} in the path
Update Token-type Metadata v2Update Token-type Metadata v3- Path param changed - Replace {secretType} with {chain} in the path
Get all tokens v2Get all tokens v3- Path param changed - Replace {secretType} with {chain} in the path
Get All Token Mints v2Get All Token Mints v3- Path param changed
Mint Tokens v2Mint Tokens v3- Path param changed - Replace secretType with chain in the request body
Get Mint Status v2Get mint status v3- Path param changed
Get Specific Token Details v2Get Specific Token Details v3- Path param changed - Replace {secretType} with {chain} in the path
Get Token Metadata v2Get Token Metadata v3- Path param changed - Replace {secretType} with {chain} in the path
Update Property v2Update Property v3- Path param changed - Replace {secretType} with {chain} in the path
Delete Property v2Delete Property v3- Path param changed - Replace {secretType} with {chain} in the path
Add Attribute v2Add Attribute v3- Path param changed - Replace {secretType} with {chain} in the path
Update Attribute v2Update Attribute v3- Path param changed - Replace {secretType} with {chain} in the path
Delete Attribute v2Delete Attribute v3- Path param changed - Replace {secretType} with {chain} in the path
Update Animation URLs v2Update Animation URLs v3- Path param changed - Replace {secretType} with {chain} in the path
Delete Animation URLs v2Delete Animation URLs v3- Path param changed - Replace {secretType} with {chain} in the path
Get all Company Wallets v2Get all Company Wallets v3- Path param changed
Get Company Wallets by chain v2Get Company Wallet by chain v3- Path param changed
Create Company Wallet v2Removed- Endpoint removed in v3
Delete Company Wallet v2Delete Company Wallet v3- Path param changed
Upload Media File v2Upload Media File v3- Path param changed
Upload Image v2Upload Image v3- Path param changed

Token API Endpoints (v3)

Migrating to NFT v3 unlocks the Token API, which allows the creation of ERC20 token contracts and minting of ERC20 tokens. Following are the endpoints for the Token API:

📘

Read the Token API getting started guide.

EndpointsDescription
Create token contractThis endpoint is used to create an ERC20 contract.
Check token contract statusThis endpoint is used to check the token contract creation request status.
Get all token contractsThis endpoint fetches all of your token contracts.
Get specific token contractThis endpoint is used to get a specific token contract using blockchain and contract address.
Delete token contractThis endpoint is used to delete a token contract.
Mint ERC20 tokensThis endpoint is used to mint and send ERC20 tokens.
Check token mint statusThis endpoint is used to check the status of a token mint request.

Testing

Thoroughly test your integration with NFT API v3 in a sandbox environment to identify and address potential issues before deploying to production.