š Link to the plugin page: https://zeroqode.com/plugin/nftport---stripe-for-nft-plugin-for-bubble-1659346356012x243589220221201340
Introduction
NFTPort is Stripe for NFTs: a One-Stop, Simple, and Developer-Friendly NFT Infrastructure & APIs to help developers bring their NFT applications to market in hours instead of months. We take care of the NFT infrastructure so you can focus on your application. Built by developers for developers.
Demo to preview the plugin:
How to Setup
- Create an account: https://dashboard.nftport.xyz/sign-up-new-user
- After you create an account you will be sent to the dashboard page, copy key
- Set the obtained key in the plugin fields.
The Plugin's Actions
Retrieve all NFTs
Returns all ERC721 and ERC1155 NFTs that have been minted on a given chain. Can be set toĀ includeĀ the NFTĀ
metadata
,Ā file_information
,Ā contract_infomation
Ā andĀ allĀ which include full details like inĀ Retrieve NFT details. Ethereum and Polygon are supported.- continuation- Continuation. Pass this value from the previous response to fetch the next page.
- include - Include optional data in the response.Ā metadataĀ includes NFT metadata,Ā file_informationĀ includes extra information of the NFTās file,Ā contract_infomationĀ includes information of the NFTās contract andĀ allĀ include full details like inĀ Retrieve NFT details. Fields can be combined to get the desired result.
Allowed values:
default, metadata file_information, contract_informationall.
- page_size - The number of results returned per page. Limit can range between 1 and 50, and the default is 50.
- chain - Blockchain from which to query NFTs.Allowed values:
ethereum polygon rinkeby.
Responses:
A JSON object with anĀ nftsĀ property that contains an array of up to
Ā page_size
Ā NFTs. Each entry in the array is a separate NFT. If no more NFTs are available, the resulting array will be empty.
chainstringrequired.Retrieve NFTs owned by an account
Returns NFTs owned by a given account (i.e. wallet) address. Can also return each NFT metadata withĀ includeĀ parameter. Ethereum and Tezos are supported (Polygon upcoming).
For Ethereum use the continuation string from response for pagination, for Tezos use page number.
- For checking if a user owns a specific NFT and then unlocking specific activity.
- Adding NFT portfolio section to your apps.
- To get all NFTs per contract, seeĀ Retrieve contract NFTs.
- To get extra detailed information on the returned NFTs, seeĀ Retrieve NFT details.
- account_address
- continuation - Continuation. Pass this value from the previous response to fetch the next page.
- include -Include optional data in the response.Ā defaultĀ is the default response and metadata includes NFT metadata, like in Retrieve NFT details.
- page_number - The page number of the results to return. The first page is 1.
- page_size - The number of results returned per page. Limit can range between 1 and 50, and the default is 50.
- chain - Blockchain from which to query NFTs.
Retrieve contract NFTs
Returns all NFTs for a given contract address. Can be set toĀ
include
Ā the NFTĀ metadata
Ā orĀ all
Ā which returns extra information. Ethereum and Polygon are supported.
- Importing all NFTs from a given contract to your application.
- To get detailed information on the returned NFTs, seeĀ Retrieve NFT details.
- To get NFTs that a given account owns, seeĀ Retrieve NFTs owned by an account.
- contract_address
- include - Include optional data in the response. default is the default response, metadata includes NFT metadata and cached_file_url, and all includes extra information like file_information and mint_date in Retrieve NFT details.
- page_numberinteger - The page number of the results to return. The first page is 1.
- page_size - The number of results returned per page. Limit can range between 1 and 50, and the default is 50.
- refresh_metadata - Queues and refreshes all the NFTs metadata inside the contract (i.e. all tokens) if they have changed since theĀ
updated_date
. Useful for example, when NFT collections are revealed.
- chain - Blockchain from which to query NFTs.
Responses:
A JSON object with anĀ nftsĀ property that contains an array of up toĀ page_sizeĀ NFTs. Each entry in the array is a separate NFT. If no more NFTs are available, the resulting array will be empty
Retrieve transactions by an account
Returns all on-chain transactions for the specified account (i.e. wallet) address. Can be set to
include
transactions such as mint
, burn
, transfer_from
, transfer_to
, buy
, sell
, or all
which includes all transactions. Ethereum mainnet is supported.- Tracking all transactions made by an account.
- Building analytics and monitoring solutions.
- To query transactions from a contract, seeĀ Retrieve transactions by contract.
- To query transactions for an NFT, seeĀ Retrieve transactions by NFT.
- account_address
- continuation - Continuation. Pass this value from the previous response to fetch the next page.
- page_size -The number of results returned per page. Limit can range between 1 and 50, and the default is 50.
- chain - Blockchain from which to query NFT transactions.
- type - Transaction type. You can specify the event types as an array.Ā
all
Ā returns all transaction types. Allowed values:transfer_from, transfer_to, mint, burn, buy, sell, all
Retrieve transactions by contract
Returns all on-chain transactions for the specified contract. Can be set toĀ
include
Ā transactions such asĀ transfe
r,Ā burn
,Ā mint
, andĀ sale
, orĀ all
Ā which includes all transactions. Ethereum mainnet is supported.
Useful for:- Tracking all transactions of all NFT tokens in a contract.
- Building analytics and monitoring solutions.
- To query sales statistics of an NFT collection, seeĀ Retrieve contract sales statistics.
- To query transactions for an NFT, seeĀ Retrieve transactions by NFT.
- To query transactions from an account, seeĀ Retrieve transactions by account.
- contract_address
- continuation - Continuation. Pass this value from the previous response to fetch the next page.
- page_size - The number of results returned per page. Limit can range between 1 and 50, and the default is 50.
- chain - Blockchain from which to query NFT transactions.
Allowed value:
ethereum
- type - Transaction type. You can specify the event types as an array.Ā allĀ returns all transaction types.
Allowed values:
transfer, mint, burn,sale
all
A JSON object withĀ
transactionsĀ
property that contains an array of up toĀ page_size
Ā transactions. Each entry in the array is a separate transaction. If no more transactions are available, the resulting array will be empty.Retrieve NFTs created by an account
Returns NFTs created (i.e. minted) by a given account (i.e. wallet) address. Can also return each NFT metadata withĀ includedĀ parameter. Ethereum mainnet is supported.
- For displaying NFTs created by an account.
- Doing analytics on the creator's portfolio.
- To get NFTs that a given account owns, seeĀ Retrieve NFTs owned by an account.
- To get all NFTs per contract, seeĀ Retrieve contract NFTs.
- To get extra detailed information on the returned NFTs, seeĀ Retrieve NFT details.
- account_address
- continuation - Pass this value from the previous response to fetch the next page.
- page_size - The number of results returned per page. The limit can range between 1 and 50, and the default is 50.
- chain - Blockchain from which to query NFT transactions.
Allowed values:
ethereum
Retrieve contract sales statistics
Retrieve in-depth sales statistics about a contract from OpenSea. Includes statistics such as floor price, total volume, sales, etc. Updated with 1-hour interval.
- Analysis and ranking of NFT collections.
- Tracking NFT collections by sales, etc.
- To query transactions from a contract, seeĀ Retrieve transactions by contract.
- To get all NFTs of a contract, seeĀ Retrieve contract NFTs.
chain - Blockchain from which to query NFT transactions.
Allowed values:
ethereum, polygon
Easy minting w/URL
With Easy mint, you can turn anything into an NFT in less than 5 minutes using one simple API call. If you are new to minting, see Easy minting quickstart.
After minting, the NFT will appear in the mint_to_address wallet. If you minted to your own wallet, you can also see the minted NFT on OpenSea in your profile after a few minutes.
You can mint up to 100 NFTs for free per chain. Maximum supported file size is 20MB. For higher limits, see pricing.
- For turning anything into an NFT effortlessly. For all the benefits, seeĀ Your New Minting Superpowers.
- If you wish to customize the minting process e.g. use your own contract, seeĀ Customizable minting.
- If you wish to list all your previously minted NFTs, seeĀ List all your minted NFTs.
Body:
- chain - Blockchain from which to query NFT transactions.
Allowed values:
polygon, rinkeby
- name - Name of the NFT.
- description - Text description of the NFT which will be seen on NFT marketplaces, etc
- file_url - URL that points to the image/video or any other file format as long as it returns a Content-Length and Content-Type header or contains the file extension. HTML files are not supported.
- mint_to_address - Account address where the NFT will be sent. For example, your Metamask wallet address if you wish to send it to yourself.
Returns contract address and the transaction hash which can be used inĀ Return minted NFTĀ to receive the token ID and confirm that the minting was successful (minting can take up to a few minutes depending on how congested the network is).
Easy minting w/file upload
With Easy mint, you can turn anything into an NFT in less than 5 minutes using one simple API call. If you are new to minting, see Easy minting quickstart.
After minting, the NFT will appear in the
mint_to_address
wallet. If you minted to your own wallet, you can also see the minted NFT on OpenSea in your profile after a few minutes.You can mint up to 100 NFTs for free per chain. Maximum supported file size is 20MB. For higher limits, see pricing.
- For turning anything into an NFT effortlessly. For all the benefits, seeĀ Your New Minting Superpowers.
- If you wish to customize the minting process e.g. use your own contract, seeĀ Customizable minting.
- If you wish to list all your previously minted NFTs, seeĀ List all your minted NFTs.
- chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby
- description - Text description of the NFT which will be seen on NFT marketplaces, etc.
- mint_to_address - Account address where the NFT will be sent. For example, your Metamask wallet address if you wish to send it to yourself.
- name - Name of the NFT.
- file - The file you want to mint. All file types are supported. Maximum file size is 20MB.
Returns contract address and the transaction hash which can be used inĀ Return minted NFTĀ to receive the token ID and confirm that the minting was successful (minting can take up to a few minutes depending on how congested the network is).
List all your deployed collection contracts
Returns a list of all the collection contracts youāve previously deployed. It can also return merkle proofs of all the whitelisted addresses withĀ includeĀ set toĀ
merkle_proofs
. These proofs can be used during presale/whitelisted minting. A Merkle proof is a series of hashes which can be combined with the Merkle tree root and the node (address) it was generated for, to verify that the node is contained in the Merkle tree without having access to the entire tree.- Retrieving collection-specific contract details.
- Retrieving your collection contract creation history.
- Getting merkle proofs of whitelisted addresses.
- chain - Blockchain where the contracts have been deployed to. Allowed values:
polygon, rinkeby, ethereum
List of all collection contracts you have deployed.
List all your deployed contracts
Returns a list of all the contracts youāve previously deployed withĀ Deploy a contract for NFT products.
- Retrieving your contract creation history.
- To see all the NFTs you've previously minted, seeĀ List all your minted NFTs.
- To see all your previous IPFS uploads, seeĀ List all your IPFS uploads.
List all your IPFS uploads
Returns a list of all data uploaded to IPFS by you. This includes files, metadata and directories uploaded to IPFS.
Note: Only lists IPFS uploads created after 2022-03-21T12:10:00 UTC.
- Retrieving your uploaded data to IPFS.
- To see all the NFTs you've previously minted, seeĀ List all your minted NFTs
- end_date - Data uploaded to IPFS till this date (ISO) will be in the response. Eg: 2022-03-19T19:45:48.
- page_number - The page number of the results to return. The first page is 1.
- page_size - The number of results returned per page. The limit can range between 1 and 50, and the default is 50.
- type - Transaction type. You can specify the event types as an array.Ā allĀ returns all transaction types.
List of all the data uploaded to IPFS by you.
Multi-chain NFT search
Searches NFTs across multiple chains using a text query, specifically theĀ nameĀ andĀ descriptionĀ fields from the metadata. You can think of it like performing a search on Google. It's designed to help you find the one or the most closest NFT results you're looking for.
Ethereum and Polygon are supported, including multi-chain search.
- Finding NFTs by their name and/or description.
- Quickly integrating NFT search to your application.
- To get NFT recommendations, useĀ Recommend similar NFTs.
- To find duplicate NFTs, useĀ Find duplicate NFTs.
- chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, ethereum, all
- text - Search query.
A JSON object with anĀ nftsĀ property that contains an array of up toĀ page_sizeĀ NFTs. Each entry in the array is a separate NFT. If no more NFTs are available, the resulting array will be empty.
User settings
Retrieve your NFTPort settings to check your usage and limits.
- Checking your minting and contract deployment usage and limits.
- Checking your NFT Data rate limits
- You can access the same information on yourĀ NFTPort dashboard.
- To see your minted NFTs, seeĀ List all your minted NFTs.
- To see your deployed contracts, seeĀ List all your deployed contracts.
Your API usage and limits.
Upload metadata to IPFS
Uploads NFT metadata to IPFS as a JSON file which is the standard format for NFT metadata. You can use the returned
metadata_ipfs_uri
in Customizable minting to mint your NFT.If you prefer hosting metadata in your own servers, you can skip this step. Otherwise, we recommend using IPFS because itās an industry standard for decentralized storage and guarantees the immutability of your metadata. For the
file_url
, we also recommend using IPFS with Upload a file to IPFS. We use nft.storage to pin the files with Filecoin, which ensures that your important data is retained in IPFS.- Storing your NFT metadata easily and according to industry standards.
- To see all your previous IPFS uploads, seeĀ List all your IPFS uploads.
- After uploading your metadata, useĀ Customizable mintingĀ to continue with your NFT minting.
- If you are new to NFT metadata, see theĀ basics on it.
- name - Name of the NFT.
- description - Description of the NFT.
- file_url - URL of the file that you wish to link with the metadata and turn into an NFT.
Responses:
The details of the NFT metadata and the uploaded metadata URI which you can use inĀ Customizable minting
Upload a file to IPFS
Uploads a file toĀ IPFSĀ which makes your NFT storage easy. You can use the returnedĀ ipfs_urlĀ withĀ Upload metadata to IPFSĀ to mint your NFT.
If you prefer hosting files in your own servers, you can skip this step. Otherwise, we recommend using IPFS because it's an industry standard for decentralized storage and guarantees the immutability of your files. We useĀ nft.storageĀ toĀ pinĀ the files with Filecoin, which ensures that your important data is retained in IPFS.
- Storing your NFT files easily and according to industry standards.
- To see all your previous IPFS uploads, seeĀ List all your IPFS uploads.
- After uploading files, useĀ Upload metadata to IPFSĀ to continue with your NFT minting.
- If you want to learn how to use theĀ customizable minting, seeĀ Customizable Minting Quickstart.
- file - The file to upload to IPFS. All file types are supported. Maximum file size is 20MB.
The details of the uploaded file and the IPFS URL.
Deploy a contract for NFT products
Deploys an
ERC-721
or ERC-1155
smart contract where your can mint your NFTs on-demand. The supply of NFTs is not fixed; more can be minted into this contract at any point in the future. This is a required step if you wish to use Customizable minting as your NFTs will be minted into this contract.As blockchains can take a few seconds up to a few minutes to sync, then after contract deployment, you can use the returned
transaction_hash
in Retrieve a deployed contract to get the contract_address
.- Deploying your own contracts so you easily can build custom products.
- To get the deployed contract address, useĀ Retrieve a deployed contract.
- If you want to know how to use the customizable minting, seeĀ Customizable Minting Quickstart.
- To understand the difference between NFT product contracts and NFT collection contracts, seeĀ Contract comparison.
- chain - Blockchain from which to query NFT transactions. Allowed value:
polygon, rinkeby
- name - Name of the NFT contract.Ā Cannot be changed later.
- symbol - Symbol of the NFT contract.Ā Cannot be changed later.
- owner_address - The contract owner address. If you wish to own the contract, then set it as your wallet address.
- type - Type of deployed contract (erc721/erc1155). Default type is erc721.
- metadata_updatable - Default isĀ
false
. IfĀtrue
, the metadata of the NFTs minted in the specified contract can be updated after minting (token URIs are not frozen on the contract level). This is useful for creating dynamic NFTs or revealing the NFTs after the drop. IfĀfalse
, all the NFTs minted in this contract are frozen by default which means token URIs are non-updatable. Metadata may also be frozen after deploying the contract on a contract and token level (seeĀ Update a deployed contract for NFT productsĀ &Ā Update a minted NFT).
Details of the deployed contract and its transaction hash.
Deploy an NFT collection contract
As blockchains can take a few seconds up to a few minutes to sync, then after contract deployment, you can use the returnedĀ
transaction_hash
Ā inĀ Retrieve a deployed contractĀ to get theĀ contract_address
You can deploy up to 5 contracts for free on each of Polygon and Rinkeby, andĀ max_supplyĀ is limited to less than or equal to 5,000 NFTs for collection contracts deployed on the Free plan. Ethereum contract deployments are available only on the Growth tier and you will be charged immediately on request and if the transaction fails for any reason the amount will be refunded. For details and limits, seeĀ pricing.
- Launching an NFT collection (e.g. a 10,000 profile pictures collection) with a minting website.Ā See ourĀ tutorialĀ to learn how to create an NFT contract collection and make a website allowing users to mint.
- To get the deployed contract address, useĀ Retrieve a deployed contract.
- If you wish to list all your previously deployed collection contracts, seeĀ List all your deployed collection contracts.
- The contract ABI can be fetched using theĀ Get contract ABIĀ endpoing.
Parameters:
chain - Blockchain from which to query NFT transactions.
Allowed value:
ethereum, polygon, rinkeby
Responses:
Details of the deployed contract and its transaction hash.
Retrieve a deployed contract
Returns the details of a contract that has previously been deployed with Deploy a contract for NFT products or Deploy an NFT collection contract. Supply the
transaction_hash
to check if the contract is on chain and to get the contract_address
. For NFT product contracts, you can use the returned contract_address
in Customizable Minting.As blockchains can take a few seconds up to a few minutes to sync, this endpoint can be polled until the
contract_address
is returned.
Useful for:- Deploying your own contracts so you can build custom products or collections easily.
- If you want to get data about NFT contracts that you haven't deployed using NFTPort, seeĀ Retrieve contract NFTs.
- If you want to learn how to use theĀ customizable minting, seeĀ Customizable Minting Quickstart.
- chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby, ethereum
Responses:
Chain and contract address of the deployed contract.
Batch customizable minting (ERC1155)
Batch mints NFTs to your previously deployed ERC1155 NFT product contract. This minting consists of multiple steps and enables you to customize the whole minting flow for your exact needs. Batch minting allows you to create multiple NFTs with one API call and create more than one of the same token.
- First, you needĀ
contract_address
Ā usingĀ Deploy a contract for NFT products.
- Get
contract_address
with the action Retrieve a deployed contract.
- You needĀ
metadata_uri
Ā usingĀ Upload metadata to IPFS.
After minting, the NFTs will appear in the
mint_to_address
wallet. If you minted to your own wallet, you can also see the minted NFTs on OpenSea in your profile after a few minutes.You can mint up to 100 NFTs for free per chain. Maximum supported filesize is 20MB. For higher limits, see pricing.
- Minting to your own NFT product contracts effortlessly.
- Creating customizable minting flows which enable to build NFT-based products.
- If you want to learn how to useĀ customizable minting, seeĀ Customizable Minting Quickstart.
- If you wish to list all your previously minted NFTs, seeĀ List all your minted NFTs.
- To see all your previous IPFS uploads, seeĀ List all your IPFS uploads.
chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby
contract_address - The NFT will be minted inside this contract. It must be your own contract. If you donāt have one, seeĀ Deploy a contract for NFT products.
- mint_to_address - Account address where the NFTs will be sent. For example, your Metamask wallet address if you wish to send them to yourself.
- token_id - Customizable token ID for the NFTs. If not set, will be chosen randomly. Maximum length is 76 digit number (2^256 - 1).
- metadata_uri - Metadata URI which will be linked with your NFTs. If you don't have one, seeĀ Upload metadata to IPFS.
- quantity - The quantity of the NFTs. Maximum quantity is 76 digit integer (2^256 - 1).
Responses:
Returns contract address and the transaction hash which can be used inĀ Return minted NFTĀ to receive the token ID and confirm that the minting was successful (minting can take up to a few minutes depending on how congested the network is).
Retrieve batch minted NFTs
Returns the details of a batch minted NFTs for ERC1155 contracts. You need to provideĀ
transaction_hash
Ā which is returned fromĀ Batch customizable minting. Minting is not instantaneous because blockchains take time to verify transactions. Thus, you can poll this endpoint every 5 seconds until you get a response.- Confirming that NFT minting was successful and the NFTs are on chain.
- For batch customizable minting, seeĀ Batch customizable minting.
- transaction_hash - is returned by this action Batch customizable minting (ERC1155)
- chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby
Details of a successfully minted NFT which is on chain.
Delete Batch burn minted NFTs (ERC1155 only)
Burns a batch of NFTs which have been previously minted withĀ Batch customizable minting. Burning an NFT means destroying it by sending it to a null (un-spendable) address. Transactions leading up to the burn will remain on the blockchain.
Note: Burning is possible only if the token is owned by the contract owner and the token has not been transferred/sold yet.
- If you want to update a minted NFT, seeĀ Update a minted NFT.
- If you want to burn a single NFT, seeĀ Burn a minted NFT.
- chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby
- contract_address - Contract where the token is minted. It must be your own contract.
- tokens - List of tokens to be burned. Each record contains the token ID of the NFT and quantity.
Returns transaction hash which can be used to confirm that the transaction was successful (blockchain transactions can take up to a few minutes depending on how congested the network is).
Customizable minting
Mints an NFT to your previous contract for NFT products. This minting consists of multiple steps and enables you to customize the whole minting flow for your exact needs.
- First, you need
contract_address
using Deploy a contract for NFT products.
- Secondly, you need
metadata_uri
using Upload metadata to IPFS.
After minting, the NFT will appear in the
mint_to_address
wallet. If you minted to your own wallet, you can also see the minted NFT on OpenSea in your profile after a few minutes.You can mint up to 100 NFTs for free per chain. Maximum supported filesize is 20MB. For higher limits, see** pricing**.
- Minting to your own product contracts effortlessly.
- Creating customizable minting flows which enable building NFT-based products.
- If you want to learn how to useĀ customizable minting, seeĀ Customizable Minting Quickstart.
- If you wish to list all your previously minted NFTs, seeĀ List all your minted NFTs.
- To see all your previous IPFS uploads, seeĀ List all your IPFS uploads.
- chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby
- contract_address - The NFT will be minted inside this contract. It must be your own contract. If you donāt have one, seeĀ Deploy a contract for NFT products.
- metadata_uri - Metadata URI which will be linked with your NFT. If you don't have one, seeĀ Upload metadata to IPFS.
- mint_to_address - Account address where the NFT will be sent. For example, your Metamask wallet address if you wish to send it to yourself.
- token_id - Customizable token ID for the NFT. If not set, will be chosen randomly. Maximum length is 76 digit number (2^256 - 1).
Responses:
Returns contract address and the transaction hash which can be used inĀ Return minted NFTĀ to receive the token ID and confirm that the minting was successful (minting can take up to a few minutes depending on how congested the network is).
Retrieve a minted NFT
Returns the details of a minted NFT. You need to provideĀ transaction_hashĀ which is returned fromĀ Easy minting w/URL,Ā Easy minting w/file uploadĀ orĀ Customizable minting. Minting is not instantaneous because blockchains take time to verify transactions. Thus, you can poll this endpoint every 5 seconds until you get a response.
- Confirming that NFT minting was successful and the NFT is on chain.
- For easy minting, seeĀ Easy minting w/URLĀ orĀ Easy minting w/file upload.
- For customizable minting, seeĀ Customizable minting.
- If you wish to list all your previously minted NFTs, seeĀ List all your minted NFTs.
chain - Blockchain from which to query NFT transactions.
Allowed value:
polygon, rinkeby
Responses:
Details of a successfully minted NFT which is on chain.
Changelogs
Update 12.09.23 - Version 1.11.0
- Minor update
Update 26.02.24 - Version 1.15.0
- Updated all API calls