Api/MarketplaceApi
// Set your API Keys 👇 here
$sdk = new \Tatum\Sdk();
// MainNet API Call
$sdk->mainnet()->api()->marketplace();
// TestNet API Call
$sdk->testnet()->api()->marketplace();
Methods
Method | Description |
---|---|
bloMarWithdrawFromMarketplaceSolana() | Withdraw funds from the marketplace treasury account on Solana |
bloMarWithdrawFromMarketplaceSolanaKMS() | Withdraw funds from the marketplace treasury account on Solana |
buyAssetOnMarketplace() | Buy an asset on the NFT marketplace |
buyAssetOnMarketplaceCelo() | Buy an asset on the NFT marketplace |
buyAssetOnMarketplaceCeloKMS() | Buy an asset on the NFT marketplace |
buyAssetOnMarketplaceKMS() | Buy an asset on the NFT marketplace |
buyAssetOnMarketplaceSolana() | Buy an asset on the NFT marketplace |
buyAssetOnMarketplaceSolanaKMS() | Buy an asset on the NFT marketplace |
cancelSellAssetOnMarketplace() | Cancel the selling of an asset on the NFT marketplace |
cancelSellAssetOnMarketplaceCelo() | Cancel the selling of an asset on the NFT marketplace |
cancelSellAssetOnMarketplaceCeloKMS() | Cancel the selling of an asset on the NFT marketplace |
cancelSellAssetOnMarketplaceKMS() | Cancel the selling of an asset on the NFT marketplace |
cancelSellAssetOnMarketplaceSolana() | Cancel the selling of an asset on the NFT marketplace |
cancelSellAssetOnMarketplaceSolanaKMS() | Cancel the selling of an asset on the NFT marketplace |
generateMarketplace() | Create an NFT marketplace |
generateMarketplaceCelo() | Create an NFT marketplace |
generateMarketplaceCeloKMS() | Create an NFT marketplace |
generateMarketplaceKMS() | Create an NFT marketplace |
generateMarketplaceSolana() | Create an NFT marketplace |
generateMarketplaceSolanaKMS() | Create an NFT marketplace |
getMarketplaceFee() | Get the NFT marketplace fee |
getMarketplaceFeeRecipient() | Get the recipient of the NFT marketplace fee |
getMarketplaceInfo() | Get information about an NFT marketplace on Solana |
getMarketplaceListing() | Get information about a listing on the NFT marketplace |
getMarketplaceListings() | Get the listings of a certain type from the NFT marketplace |
sellAssetOnMarketplace() | Sell an asset on the NFT marketplace |
sellAssetOnMarketplaceCelo() | Sell an asset on the NFT marketplace |
sellAssetOnMarketplaceCeloKMS() | Sell an asset on the NFT marketplace |
sellAssetOnMarketplaceKMS() | Sell an asset on the NFT marketplace |
sellAssetOnMarketplaceSolana() | Sell an asset on the NFT marketplace |
sellAssetOnMarketplaceSolanaKMS() | Sell an asset on the NFT marketplace |
updateFee() | Update the NFT marketplace fee |
updateFeeCelo() | Update the NFT marketplace fee |
updateFeeCeloKMS() | Update the NFT marketplace fee |
updateFeeKMS() | Update the NFT marketplace fee |
updateFeeRecipient() | Update the recipient of the NFT marketplace fee |
updateFeeRecipientCelo() | Update the recipient of the NFT marketplace fee |
updateFeeRecipientCeloKMS() | Update the recipient of the NFT marketplace fee |
updateFeeRecipientKMS() | Update the recipient of the NFT marketplace fee |
updateFeeRecipientSolana() | Update the recipient of the NFT marketplace fee |
updateFeeRecipientSolanaKMS() | Update the recipient of the NFT marketplace fee |
updateFeeSolana() | Update the NFT marketplace fee |
updateFeeSolanaKMS() | Update the NFT marketplace fee |
updateMarketplaceSolana() | Update an NFT marketplace on Solana |
updateMarketplaceSolanaKMS() | Update an NFT marketplace on Solana |
withdrawFromMarketplaceSolana() | Withdraw funds from the marketplace fee account on Solana |
withdrawFromMarketplaceSolanaKMS() | Withdraw funds from the marketplace fee account on Solana |
bloMarWithdrawFromMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/withdraw/treasury
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->bloMarWithdrawFromMarketplaceSolana(
\Tatum\Model\WithdrawFromMarketplaceSolana $withdraw_from_marketplace_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$withdraw_from_marketplace_solana | \Tatum\Model\WithdrawFromMarketplaceSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Withdraw funds from the marketplace treasury account on Solana
2 credits per API call
Withdraw funds from the NFT marketplace treasury account on Solana.
You can withdraw the funds only if you are the marketplace fee recipient.
This API is in alpha and is supported only for the mainnet on Solana.
Signing a transaction When withdrawing the funds, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
bloMarWithdrawFromMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/withdraw/treasury
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->bloMarWithdrawFromMarketplaceSolanaKMS(
\Tatum\Model\WithdrawFromMarketplaceSolanaKMS $withdraw_from_marketplace_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$withdraw_from_marketplace_solana_kms | \Tatum\Model\WithdrawFromMarketplaceSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Withdraw funds from the marketplace treasury account on Solana
buyAssetOnMarketplace()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/buy
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->buyAssetOnMarketplace(
\Tatum\Model\BuyAssetOnMarketplace $buy_asset_on_marketplace
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$buy_asset_on_marketplace | \Tatum\Model\BuyAssetOnMarketplace |
Return type
\Tatum\Model\TransactionSigned
Description
Buy an asset on the NFT marketplace
2 credits per API call
Buy an asset listed on the NFT marketplace.
You can buy the asset either for the native blockchain currency (for example, ETH, MATIC, and so on) or for the fungible tokens of the blockchain.
- If you want to pay for the asset with the native blockchain currency, send the required amount plus the marketplace fee right in the API call (in the
amount
request body parameter). - If you want to pay with the fungible tokens, allow the marketplace smart contract to access your tokens before making the purchase. When you make the API call, the marketplace smart contract will deduct the required amount of the tokens from the smart contract where you hold the tokens.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
The “execution reverted” message When making this API call, you may get the following message:Although one or more Error Occurred [execution reverted] Contract Execution Completed
This message is a result of the marketplace version check and has no impact on completing the API call. You can safely ignore it.
Signing a transaction When buying an asset on the NFT marketplace, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
buyAssetOnMarketplaceCelo()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/buy
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->buyAssetOnMarketplaceCelo(
\Tatum\Model\BuyAssetOnMarketplaceCelo $buy_asset_on_marketplace_celo
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$buy_asset_on_marketplace_celo | \Tatum\Model\BuyAssetOnMarketplaceCelo |
Return type
\Tatum\Model\TransactionSigned
Description
Buy an asset on the NFT marketplace
buyAssetOnMarketplaceCeloKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/buy
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->buyAssetOnMarketplaceCeloKMS(
\Tatum\Model\BuyAssetOnMarketplaceCeloKMS $buy_asset_on_marketplace_celo_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$buy_asset_on_marketplace_celo_kms | \Tatum\Model\BuyAssetOnMarketplaceCeloKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Buy an asset on the NFT marketplace
buyAssetOnMarketplaceKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/buy
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->buyAssetOnMarketplaceKMS(
\Tatum\Model\BuyAssetOnMarketplaceKMS $buy_asset_on_marketplace_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$buy_asset_on_marketplace_kms | \Tatum\Model\BuyAssetOnMarketplaceKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Buy an asset on the NFT marketplace
buyAssetOnMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/buy
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->buyAssetOnMarketplaceSolana(
\Tatum\Model\BuyAssetOnMarketplaceSolana $buy_asset_on_marketplace_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$buy_asset_on_marketplace_solana | \Tatum\Model\BuyAssetOnMarketplaceSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Buy an asset on the NFT marketplace
buyAssetOnMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/buy
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->buyAssetOnMarketplaceSolanaKMS(
\Tatum\Model\BuyAssetOnMarketplaceSolanaKMS $buy_asset_on_marketplace_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$buy_asset_on_marketplace_solana_kms | \Tatum\Model\BuyAssetOnMarketplaceSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Buy an asset on the NFT marketplace
cancelSellAssetOnMarketplace()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/cancel
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->cancelSellAssetOnMarketplace(
\Tatum\Model\CancelSellAssetOnMarketplace $cancel_sell_asset_on_marketplace
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$cancel_sell_asset_on_marketplace | \Tatum\Model\CancelSellAssetOnMarketplace |
Return type
\Tatum\Model\TransactionSigned
Description
Cancel the selling of an asset on the NFT marketplace
2 credits per API call
Cancel the selling of an asset on the NFT marketplace.
You can cancel the selling only if you are the seller of the asset or the marketplace operator. Once the selling is canceled, the asset is returned to the seller.
You cannot cancel the selling if the asset has already been purchased.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
The “execution reverted” message When making this API call, you may get the following message:Although one or more Error Occurred [execution reverted] Contract Execution Completed
This message is a result of the marketplace version check and has no impact on completing the API call. You can safely ignore it.
Signing a transaction When cancelling the selling of an asset, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
cancelSellAssetOnMarketplaceCelo()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/cancel
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->cancelSellAssetOnMarketplaceCelo(
\Tatum\Model\CancelSellAssetOnMarketplaceCelo $cancel_sell_asset_on_marketplace_celo
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$cancel_sell_asset_on_marketplace_celo | \Tatum\Model\CancelSellAssetOnMarketplaceCelo |
Return type
\Tatum\Model\TransactionSigned
Description
Cancel the selling of an asset on the NFT marketplace
cancelSellAssetOnMarketplaceCeloKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/cancel
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->cancelSellAssetOnMarketplaceCeloKMS(
\Tatum\Model\CancelSellAssetOnMarketplaceCeloKMS $cancel_sell_asset_on_marketplace_celo_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$cancel_sell_asset_on_marketplace_celo_kms | \Tatum\Model\CancelSellAssetOnMarketplaceCeloKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Cancel the selling of an asset on the NFT marketplace
cancelSellAssetOnMarketplaceKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/cancel
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->cancelSellAssetOnMarketplaceKMS(
\Tatum\Model\CancelSellAssetOnMarketplaceKMS $cancel_sell_asset_on_marketplace_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$cancel_sell_asset_on_marketplace_kms | \Tatum\Model\CancelSellAssetOnMarketplaceKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Cancel the selling of an asset on the NFT marketplace
cancelSellAssetOnMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/cancel
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->cancelSellAssetOnMarketplaceSolana(
\Tatum\Model\CancelSellAssetOnMarketplaceSolana $cancel_sell_asset_on_marketplace_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$cancel_sell_asset_on_marketplace_solana | \Tatum\Model\CancelSellAssetOnMarketplaceSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Cancel the selling of an asset on the NFT marketplace
cancelSellAssetOnMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/cancel
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->cancelSellAssetOnMarketplaceSolanaKMS(
\Tatum\Model\CancelSellAssetOnMarketplaceSolanaKMS $cancel_sell_asset_on_marketplace_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$cancel_sell_asset_on_marketplace_solana_kms | \Tatum\Model\CancelSellAssetOnMarketplaceSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Cancel the selling of an asset on the NFT marketplace
generateMarketplace()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->generateMarketplace(
\Tatum\Model\GenerateMarketplace $generate_marketplace
): \Tatum\Model\GenerateMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$generate_marketplace | \Tatum\Model\GenerateMarketplace |
Return type
\Tatum\Model\GenerateMarketplace200Response
Description
Create an NFT marketplace
2 credits per API call
Deploy an NFT marketplace smart contract on the blockchain. With a deployed marketplace smart contract, you and your customers can create new listings for assets such as non-fungible tokens and combinations of token types as described by the ERC-721 and ERC-1155 standards on the Ethereum blockchain or by the equivalent standards on the other blockchains. As the marketplace operator, you can set a fee as a percentage of the asset price that will be paid on top of the asset price.
The purchase process looks like the following:
- The seller creates a listing for an asset on the NFT marketplace. The listing can be offered for the native blockchain assets (for example, ETH, BSC, and so on) or for the fungible tokens of the blockchain.
- The seller allows the marketplace smart contract to transfer the asset that they are selling.
- A buyer buys the asset.
- If the buyer wants to pay with the native blockchain assets, they make the purchase (the
buyAssetFromListing()
method is called against the marketplace smart contract) and send the required amount of the native assets to the marketplace smart contract. - If the buyer wants to pay with the fungible tokens:
- If the buyer wants to pay with the native blockchain assets, they make the purchase (the
- The buyer allows the marketplace smart contract to access their tokens and makes the purchase (the
buyAssetFromListing()
method is called against the marketplace smart contract). - The marketplace smart contract deducts the required amount of tokens from the smart contract where the buyer holds the tokens.
- The marketplace smart contract transfers the asset to the buyer, transfers the asset price to the seller, and sends the fee to the marketplace fee recipient.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
Signing a transaction When deploying an NFT marketplace smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
generateMarketplaceCelo()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->generateMarketplaceCelo(
\Tatum\Model\GenerateMarketplaceCelo $generate_marketplace_celo
): \Tatum\Model\GenerateMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$generate_marketplace_celo | \Tatum\Model\GenerateMarketplaceCelo |
Return type
\Tatum\Model\GenerateMarketplace200Response
Description
Create an NFT marketplace
generateMarketplaceCeloKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->generateMarketplaceCeloKMS(
\Tatum\Model\GenerateMarketplaceCeloKMS $generate_marketplace_celo_kms
): \Tatum\Model\GenerateMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$generate_marketplace_celo_kms | \Tatum\Model\GenerateMarketplaceCeloKMS |
Return type
\Tatum\Model\GenerateMarketplace200Response
Description
Create an NFT marketplace
generateMarketplaceKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->generateMarketplaceKMS(
\Tatum\Model\GenerateMarketplaceKMS $generate_marketplace_kms
): \Tatum\Model\GenerateMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$generate_marketplace_kms | \Tatum\Model\GenerateMarketplaceKMS |
Return type
\Tatum\Model\GenerateMarketplace200Response
Description
Create an NFT marketplace
generateMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->generateMarketplaceSolana(
\Tatum\Model\GenerateMarketplaceSolana $generate_marketplace_solana
): \Tatum\Model\GenerateMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$generate_marketplace_solana | \Tatum\Model\GenerateMarketplaceSolana |
Return type
\Tatum\Model\GenerateMarketplace200Response
Description
Create an NFT marketplace
generateMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->generateMarketplaceSolanaKMS(
\Tatum\Model\GenerateMarketplaceSolanaKMS $generate_marketplace_solana_kms
): \Tatum\Model\GenerateMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$generate_marketplace_solana_kms | \Tatum\Model\GenerateMarketplaceSolanaKMS |
Return type
\Tatum\Model\GenerateMarketplace200Response
Description
Create an NFT marketplace
getMarketplaceFee()
Example
#️⃣ Execute command in terminal
Request
GET
/v3/blockchain/marketplace/listing/{chain}/{contractAddress}/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->getMarketplaceFee(
string $chain,
string $contract_address
): float
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$chain | string | Blockchain to work with | |
$contract_address | string | Contract address |
Return type
float
Description
Get the NFT marketplace fee
1 credit per API call
Get the NFT marketplace fee.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
getMarketplaceFeeRecipient()
Example
#️⃣ Execute command in terminal
Request
GET
/v3/blockchain/marketplace/listing/{chain}/{contractAddress}/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->getMarketplaceFeeRecipient(
string $chain,
string $contract_address
): \Tatum\Model\GetMarketplaceFeeRecipient200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$chain | string | Blockchain to work with | |
$contract_address | string | Contract address |
Return type
\Tatum\Model\GetMarketplaceFeeRecipient200Response
Description
Get the recipient of the NFT marketplace fee
1 credit per API call
Get the recipient of the NFT marketplace fee.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
getMarketplaceInfo()
Example
#️⃣ Execute command in terminal
Request
GET
/v3/blockchain/marketplace/listing/{chain}/{contractAddress}
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->getMarketplaceInfo(
string $chain,
string $contract_address
): \Tatum\Model\GetMarketplaceInfo200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$chain | string | Blockchain to work with | |
$contract_address | string | Contract address |
Return type
\Tatum\Model\GetMarketplaceInfo200Response
Description
Get information about an NFT marketplace on Solana
1 credit per API call
Get information about an NFT marketplace on Solana.
This API is in alpha and is supported only for the mainnet on Solana.
getMarketplaceListing()
Example
#️⃣ Execute command in terminal
Request
GET
/v3/blockchain/marketplace/listing/{chain}/{contractAddress}/listing/{id}
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->getMarketplaceListing(
string $chain,
string $contract_address,
string $id
): \Tatum\Model\GetMarketplaceListing200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$chain | string | Blockchain to work with | |
$contract_address | string | Contract address | |
$id | string | Listing ID |
Return type
\Tatum\Model\GetMarketplaceListing200Response
Description
Get information about a listing on the NFT marketplace
1 credit per API call
Get information about a specific listing on the NFT marketplace.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
getMarketplaceListings()
Example
#️⃣ Execute command in terminal
Request
GET
/v3/blockchain/marketplace/listing/{chain}/{contractAddress}/{type}
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->getMarketplaceListings(
string $chain,
string $contract_address,
string $type
): string[]
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$chain | string | Blockchain to work with | |
$contract_address | string | Contract address | |
$type | string | The type of listings to return |
Return type
string[]
Description
Get the listings of a certain type from the NFT marketplace
1 credit per API call
Get the open, sold, or cancelled listings from the NFT marketplace.
This API is supported for the following blockchains:
- Celo
- Ethereum
- Polygon
- Solana (in alpha)
sellAssetOnMarketplace()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/sell
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->sellAssetOnMarketplace(
\Tatum\Model\SellAssetOnMarketplace $sell_asset_on_marketplace
): \Tatum\Model\SellAssetOnMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$sell_asset_on_marketplace | \Tatum\Model\SellAssetOnMarketplace |
Return type
\Tatum\Model\SellAssetOnMarketplace200Response
Description
Sell an asset on the NFT marketplace
2 credits per API call
Create a new listing for an asset on the NFT marketplace. The listing can be offered for the native blockchain assets (for example, ETH, MATIC, and so on) or for any fungible tokens.
After the listing is created, allow the marketplace smart contract to transfer the asset that you are selling.
You can create a listing only for an existing asset that you own (you must be the owner of the asset).
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
A known issue on Harmony On Harmony, when you are viewing a transaction in the Harmony Blockchain Explorer, the transaction status may be displayed as the following:Error reverted:x0
This is a known issue with the Harmony Blockchain Explorer. This status does not mean that the transaction failed. You can safely ignore it.
The “execution reverted” message When making this API call, you may get the following message:Although one or more Error Occurred [execution reverted] Contract Execution Completed
This message is a result of the marketplace version check and has no impact on completing the API call. You can safely ignore it.
Signing a transaction When creating a new listing on the NFT marketplace, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
sellAssetOnMarketplaceCelo()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/sell
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->sellAssetOnMarketplaceCelo(
\Tatum\Model\SellAssetOnMarketplaceCelo $sell_asset_on_marketplace_celo
): \Tatum\Model\SellAssetOnMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$sell_asset_on_marketplace_celo | \Tatum\Model\SellAssetOnMarketplaceCelo |
Return type
\Tatum\Model\SellAssetOnMarketplace200Response
Description
Sell an asset on the NFT marketplace
sellAssetOnMarketplaceCeloKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/sell
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->sellAssetOnMarketplaceCeloKMS(
\Tatum\Model\SellAssetOnMarketplaceCeloKMS $sell_asset_on_marketplace_celo_kms
): \Tatum\Model\SellAssetOnMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$sell_asset_on_marketplace_celo_kms | \Tatum\Model\SellAssetOnMarketplaceCeloKMS |
Return type
\Tatum\Model\SellAssetOnMarketplace200Response
Description
Sell an asset on the NFT marketplace
sellAssetOnMarketplaceKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/sell
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->sellAssetOnMarketplaceKMS(
\Tatum\Model\SellAssetOnMarketplaceKMS $sell_asset_on_marketplace_kms
): \Tatum\Model\SellAssetOnMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$sell_asset_on_marketplace_kms | \Tatum\Model\SellAssetOnMarketplaceKMS |
Return type
\Tatum\Model\SellAssetOnMarketplace200Response
Description
Sell an asset on the NFT marketplace
sellAssetOnMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/sell
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->sellAssetOnMarketplaceSolana(
\Tatum\Model\SellAssetOnMarketplaceSolana $sell_asset_on_marketplace_solana
): \Tatum\Model\SellAssetOnMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$sell_asset_on_marketplace_solana | \Tatum\Model\SellAssetOnMarketplaceSolana |
Return type
\Tatum\Model\SellAssetOnMarketplace200Response
Description
Sell an asset on the NFT marketplace
sellAssetOnMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/listing/sell
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->sellAssetOnMarketplaceSolanaKMS(
\Tatum\Model\SellAssetOnMarketplaceSolanaKMS $sell_asset_on_marketplace_solana_kms
): \Tatum\Model\SellAssetOnMarketplace200Response
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$sell_asset_on_marketplace_solana_kms | \Tatum\Model\SellAssetOnMarketplaceSolanaKMS |
Return type
\Tatum\Model\SellAssetOnMarketplace200Response
Description
Sell an asset on the NFT marketplace
updateFee()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFee(
\Tatum\Model\UpdateFee $update_fee
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee | \Tatum\Model\UpdateFee |
Return type
\Tatum\Model\TransactionSigned
Description
Update the NFT marketplace fee
2 credits per API call
Update the NFT marketplace fee.
You can update the marketplace fee only if you are the marketplace operator.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
Signing a transaction When updating the NFT marketplace fee, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
updateFeeCelo()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeCelo(
\Tatum\Model\UpdateFeeCelo $update_fee_celo
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_celo | \Tatum\Model\UpdateFeeCelo |
Return type
\Tatum\Model\TransactionSigned
Description
Update the NFT marketplace fee
updateFeeCeloKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeCeloKMS(
\Tatum\Model\UpdateFeeCeloKMS $update_fee_celo_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_celo_kms | \Tatum\Model\UpdateFeeCeloKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update the NFT marketplace fee
updateFeeKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeKMS(
\Tatum\Model\UpdateFeeKMS $update_fee_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_kms | \Tatum\Model\UpdateFeeKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update the NFT marketplace fee
updateFeeRecipient()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeRecipient(
\Tatum\Model\UpdateFeeRecipient $update_fee_recipient
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_recipient | \Tatum\Model\UpdateFeeRecipient |
Return type
\Tatum\Model\TransactionSigned
Description
Update the recipient of the NFT marketplace fee
2 credits per API call
Update the recipient of the NFT marketplace fee.
You can update the fee recipient only if you are the marketplace operator.
This API is supported for the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana (in alpha)
Signing a transaction When updating the recipient of the NFT marketplace fee, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
updateFeeRecipientCelo()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeRecipientCelo(
\Tatum\Model\UpdateFeeRecipientCelo $update_fee_recipient_celo
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_recipient_celo | \Tatum\Model\UpdateFeeRecipientCelo |
Return type
\Tatum\Model\TransactionSigned
Description
Update the recipient of the NFT marketplace fee
updateFeeRecipientCeloKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeRecipientCeloKMS(
\Tatum\Model\UpdateFeeRecipientCeloKMS $update_fee_recipient_celo_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_recipient_celo_kms | \Tatum\Model\UpdateFeeRecipientCeloKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update the recipient of the NFT marketplace fee
updateFeeRecipientKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeRecipientKMS(
\Tatum\Model\UpdateFeeRecipientKMS $update_fee_recipient_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_recipient_kms | \Tatum\Model\UpdateFeeRecipientKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update the recipient of the NFT marketplace fee
updateFeeRecipientSolana()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeRecipientSolana(
\Tatum\Model\UpdateFeeRecipientSolana $update_fee_recipient_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_recipient_solana | \Tatum\Model\UpdateFeeRecipientSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Update the recipient of the NFT marketplace fee
updateFeeRecipientSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/recipient
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeRecipientSolanaKMS(
\Tatum\Model\UpdateFeeRecipientSolanaKMS $update_fee_recipient_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_recipient_solana_kms | \Tatum\Model\UpdateFeeRecipientSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update the recipient of the NFT marketplace fee
updateFeeSolana()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeSolana(
\Tatum\Model\UpdateFeeSolana $update_fee_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_solana | \Tatum\Model\UpdateFeeSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Update the NFT marketplace fee
updateFeeSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateFeeSolanaKMS(
\Tatum\Model\UpdateFeeSolanaKMS $update_fee_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_fee_solana_kms | \Tatum\Model\UpdateFeeSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update the NFT marketplace fee
updateMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateMarketplaceSolana(
\Tatum\Model\UpdateMarketplaceSolana $update_marketplace_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_marketplace_solana | \Tatum\Model\UpdateMarketplaceSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Update an NFT marketplace on Solana
2 credits per API call
Update an NFT marketplace on Solana.
You can update it only if you are the marketplace operator.
This API is in alpha and is supported only for the mainnet on Solana.
Signing a transaction When updating an NFT marketplace, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
updateMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
PUT
/v3/blockchain/marketplace/listing
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->updateMarketplaceSolanaKMS(
\Tatum\Model\UpdateMarketplaceSolanaKMS $update_marketplace_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$update_marketplace_solana_kms | \Tatum\Model\UpdateMarketplaceSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Update an NFT marketplace on Solana
withdrawFromMarketplaceSolana()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/withdraw/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->withdrawFromMarketplaceSolana(
\Tatum\Model\WithdrawFromMarketplaceSolana $withdraw_from_marketplace_solana
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$withdraw_from_marketplace_solana | \Tatum\Model\WithdrawFromMarketplaceSolana |
Return type
\Tatum\Model\TransactionSigned
Description
Withdraw funds from the marketplace fee account on Solana
2 credits per API call
Withdraw funds from the NFT marketplace fee account on Solana.
You can withdraw the funds only if you are the marketplace fee recipient.
This API is in alpha and is supported only for the mainnet on Solana.
Signing a transaction When withdrawing the funds, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
withdrawFromMarketplaceSolanaKMS()
Example
#️⃣ Execute command in terminal
Request
POST
/v3/blockchain/marketplace/withdraw/fee
Type signature
(new \Tatum\Sdk())->{mainnet/testnet}()->api()->marketplace()->withdrawFromMarketplaceSolanaKMS(
\Tatum\Model\WithdrawFromMarketplaceSolanaKMS $withdraw_from_marketplace_solana_kms
): \Tatum\Model\TransactionSigned
Parameters
Name | Type | Description | Notes |
---|---|---|---|
$withdraw_from_marketplace_solana_kms | \Tatum\Model\WithdrawFromMarketplaceSolanaKMS |
Return type
\Tatum\Model\TransactionSigned
Description
Withdraw funds from the marketplace fee account on Solana