AptosAptos Network's breakthrough technology and seamless user experience are now available on QuickNode.
Start building today!The API credit value for this method is 4 . To learn more about API credits and each method's value, visit the API Credits page.
Please note that this RPC method requires the NFT Fetch Tool add-on enabled on your QuickNode endpoint. This method is currently supported on ERC-721 compliant contracts (on Ethereum mainnet).
Parameters:
collection - string - The contract address of the NFT collection
collectionTokenId - string - The Token ID of this NFT under this collection
page - integer - (optional) The page number you would like returned. The page numbers start at 1 and end at totalPages. If omitted, defaults to the first page (page 1). If the page number requested is higher than totalPages, an empty transfers array will be returned. If the page number requested is less than 1, an invalid params response will be returned
perPage - integer - (optional) The maximum amount of NFT tokens to return on each page. You can request up to 100 items per page. If omitted, defaults to 40 items per page
Returns:
collection - The contract address we checked for NFTs
transfers - An array of transfers representing NFTs with the following shape:
date - The date when this transaction was mined
from - The address for the sender of this transaction
to - The address for the receiver of this transaction
blockNumber - The block number this transaction was included in
txHash - The token transfer transaction hash
totalPages - The total number of results pages available
pageNumber - The page number of results that was returned with this response
totalItems - The total number of results
Code Examples:
curl http://sample-endpoint-name.network.quiknode.pro/token-goes-here/ \ -X POST \ -H "Content-Type: application/json" \ -H "x-qn-api-version: 1" \ --data '{ "id":67, "jsonrpc":"2.0", "method":"qn_getTransfersByNFT", "params":{ "collection": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", "collectionTokenId": "1", "page": 1, "perPage": 10 } }'
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("x-qn-api-version", "1"); var raw = JSON.stringify({ "id": 67, "jsonrpc": "2.0", "method": "qn_getTransfersByNFT", "params": { "collection": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", "collectionTokenId": "1", "page": 1, "perPage": 10 } }); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
const ethers = require("ethers"); (async () => { const provider = new ethers.providers.JsonRpcProvider("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/"); provider.connection.headers = { "x-qn-api-version": 1 }; const heads = await provider.send("qn_getTransfersByNFT", { collection: "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", collectionTokenId: "1", page: 1, perPage: 10, }); console.log(heads); })();
from web3 import Web3, HTTPProvider OPTIONS = { 'headers': { 'x-qn-api-version': '1' } } w3 = Web3(HTTPProvider('http://sample-endpoint-name.network.quiknode.pro/token-goes-here/', request_kwargs=OPTIONS)) resp = w3.provider.make_request('qn_getTransfersByNFT', { "collection": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", "collectionTokenId": "1", "page": 1, "perPage": 10 }) print(resp)
# The eth.rb library does not support including additional request headers, so you won't be able to add the x-qn-api-version header. require 'eth' client = Eth::Client.create 'http://sample-endpoint-name.network.quiknode.pro/token-goes-here/' payload = { "id":67, "jsonrpc":"2.0", "method":"qn_getTransfersByNFT", "params":{ "collection": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", "collectionTokenId": "1", "page": 1, "perPage": 10 } } response = client.send(payload.to_json) puts response
import requests import json url = "http://sample-endpoint-name.network.quiknode.pro/token-goes-here/" payload = json.dumps({ "id": 67, "jsonrpc": "2.0", "method": "qn_getTransfersByNFT", "params": { "collection": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", "collectionTokenId": "1", "page": 1, "perPage": 10 } }) headers = { 'Content-Type': 'application/json', 'x-qn-api-version': '1' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
require "uri" require "json" require "net/http" url = URI("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request["x-qn-api-version"] = "1" request.body = JSON.dump({ "id": 67, "jsonrpc": "2.0", "method": "qn_getTransfersByNFT", "params": { "collection": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", "collectionTokenId": "1", "page": 1, "perPage": 10 } }) response = https.request(request) puts response.read_body