Buying, Selling, and Transfers

These endpoints include buying and selling NFTs, as well as listing them for sale, removing them from sale, and transferring them externally

Buy, Sell, Transfer NFTs

List an NFT for Sale

POST https://api.rareful.io/v1/listNFTForSale

Lists an NFT for sale. This route is currency agnostic, whatever currency you use in App we will store, simply input a decimal value.

Headers

Name
Type
Description

API_KEY*

String

Your API Key can found on the dashboard, and will be used to authenticate all requests (Required)

Content-Type*

String

application/json (Required)

Request Body

Name
Type
Description

contract_address*

String

The contract address the NFT was minted to (Required)

token_id*

Int

The token id of the NFT that is being listed for sale (Required)

list_price*

Int

This is a number representing the price of the listed NFT (Required)

blockchain

String

The blockchain this NFT exists on

owner_user_id*

The user id of the owner. Either user id or public key must be provided.

owner_public_key*

String

The public key of the owner. Either user id or public key must be provided.

{
    "data": {
        "for_sale": true,
        "list_price": 120
    },
    "status": 200,
    "message": "NFT has been listed for sale"
}

Remove an NFT from Sale

POST https://api.rareful.io/v1/removeNFTFromSale

Remove an NFT from Sale

Headers

Name
Type
Description

API_KEY*

String

Your API Key can found on the dashboard, and will be used to authenticate all requests (Required)

Content-Type*

String

application/json (Required)

Request Body

Name
Type
Description

contract_address*

string

The contract address the NFT was minted to (Required)

token_id*

Int

The token id of the NFT that is being listed for sale (Required)

blockchain

string

The blockchain this NFT exists on

{
    "data": {
        "for_sale": false
    },
    "status": 200,
    "message": "NFT has been delisted"
}

The list_price can be in any currency, including cryptocurrency. Rareful is currency agnostic. We allow our clients to handle payments, but we can store and display the list price for ease of use.

Execute the sale of an NFT including transferring the NFT to buyer

POST https://api.rareful.io/v1/sellNFT

Sell NFT to buyer

Headers

Name
Type
Description

API_KEY*

String

Your API Key can found on the dashboard, and will be used to authenticate all requests

Content-Type*

String

application/json

Request Body

Name
Type
Description

contract_address*

String

The contract address that the NFT was minted to

token_id*

Int

The token id of the NFT

owner_user_id*

String

The current owner's user id. Either user id or public key must be provided

recipient_user_id*

String

The recipient's user id. Either user id or public key must be provided

sale_price

String

If none is provided, the default will be the list price of the NFT

blockchain

String

The blockchain this NFT exists on

owner_public_key*

String

The current owner's public key. Either user id or public key must be provided

recipient_public_key*

String

The recipient's public key. Either user id or public key must be provided

{
    "data": {
        "for_sale": false,
        "owner": "0x4e077a6500a18663d22549D812fCd56A700f3193"
    },
    "status": 200,
    "message": "NFT has been sold and transferred to the buyer"
}

Execute the transfer of an NFT

POST https://api.rareful.io/v1/transferNFT

Transfer an NFT from an owner to a recipient. It will be ensured that the owner and recipient addresses input are valid, and that the owner does in fact own the NFT.

Headers

Name
Type
Description

API_KEY*

String

Your API Key can found on the dashboard, and will be used to authenticate all requests

Content-Type*

String

application/json

Request Body

Name
Type
Description

contract_address*

String

The contract address that the NFT was minted to

token_id*

Int

The token id of the NFT

recipient_user_id*

String

The recipient's user id. Either user id or public key must be provided

blockchain

String

The blockchain this NFT exists on

recipient_public_key*

String

The recipient's public key. Either user id or public key must be provided

owner_public_key*

String

The current owner's public key. Either user id or public key must be provided

owner_user_id*

String

The current owner's user id. Either user id or public key must be provided

{
    "data": {
        "for_sale": false,
        "owner": "0x4e077a6500a18663d22549D812fCd56A700f3193"
    },
    "status": 200,
    "message": "NFT has been sold and transferred to the buyer"
}

Last updated