NFTs
getNftCollection
Returns collection metadata: name, symbol, totalSupply, and detected standard (ERC-721, ERC-721Enumerable, ERC-1155) via ERC-165. Cached for 1 hour. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftCollection",
"params": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"blockHeight": 19834521
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.nfts.getCollection('ethereum', '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"blockHeight": 19834521,
"name": "BoredApeYachtClub",
"symbol": "BAYC",
"totalSupply": "10000",
"standard": {
"erc721": true,
"erc721Enumerable": true,
"erc1155": false
}
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | NFT contract address e.g. 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D |
| blockHeight | no | Historical EVM block number (archive nodes only) e.g. 19834521 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
blockHeight | integer |
name | string |
symbol | string |
totalSupply | string |
standard | object |
erc721 | boolean |
erc721Enumerable | boolean |
erc1155 | boolean |
Supported Networks
getNftMetadata
Returns token-level data: owner (ERC-721), tokenURI/uri, and fetched+parsed metadata JSON. For ERC-1155, skips ownerOf and uses uri(). IPFS/Arweave URIs are auto-rewritten to gateways. Cached for 5 minutes. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftMetadata",
"params": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"tokenId": "1",
"blockHeight": 19834521
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.nfts.getTokenMetadata('ethereum', '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', '1');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"tokenId": "1",
"blockHeight": 19834521,
"standard": {
"erc721": true,
"erc721Enumerable": true,
"erc1155": false
},
"owner": "0x1234...",
"tokenURI": "ipfs://Qm...",
"metadata": {
"name": "Bored Ape #1",
"image": "ipfs://Qm..."
}
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | NFT contract address e.g. 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D |
| tokenId | yes | Token ID e.g. 1 |
| blockHeight | no | Historical EVM block number (archive nodes only) e.g. 19834521 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
tokenId | string |
blockHeight | integer |
standard | object |
erc721 | boolean |
erc721Enumerable | boolean |
erc1155 | boolean |
owner | string |
tokenURI | string |
metadata | object |
name | string |
image | string |
Supported Networks
getNftTokenOwner
Returns the current owner of an ERC-721 token via ownerOf. Not cached. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftTokenOwner",
"params": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"tokenId": "1"
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.nfts.getTokenOwner('ethereum', '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', '1');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"tokenId": "1",
"owner": "0x1234..."
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | NFT contract address e.g. 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D |
| tokenId | yes | Token ID e.g. 1 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
tokenId | string |
owner | string |
Supported Networks
getNftBalance
Returns the number of NFTs owned by an address in a collection (ERC-721 balanceOf). Not cached. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftBalance",
"params": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"blockHeight": 19834521
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.nfts.getBalance('ethereum', '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"blockHeight": 19834521,
"balance": "3"
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | NFT contract address e.g. 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D |
| address | yes | Wallet address e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 |
| blockHeight | no | Historical EVM block number (archive nodes only) e.g. 19834521 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
address | string |
blockHeight | integer |
balance | string |
Supported Networks
getNftTokens
Lists up to 100 token IDs owned by an address via ERC-721Enumerable tokenOfOwnerByIndex. Returns 400 if contract does not support Enumerable. Cached for 5 minutes. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftTokens",
"params": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.nfts.getOwnedTokens('ethereum', '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"address": "0x1234...",
"tokenIds": [
"1042",
"5781",
"8832"
],
"total": "3",
"capped": false
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | NFT contract address (must support ERC-721Enumerable) e.g. 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D |
| address | yes | Wallet address e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
address | string |
tokenIds | string[] |
total | string |
capped | boolean |
Supported Networks
getNftErc1155Balance
Returns the balance of a specific ERC-1155 token ID for an address. Not cached. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftErc1155Balance",
"params": {
"chain": "ethereum",
"contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"tokenId": "1"
},
"id": 1
}'{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
"address": "0x1234...",
"tokenId": "1",
"balance": "5"
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | ERC-1155 contract address e.g. 0x495f947276749ce646f68ac8c248420045cb7b5e |
| address | yes | Wallet address e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 |
| tokenId | yes | Token ID e.g. 1 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
address | string |
tokenId | string |
balance | string |
Supported Networks
getNftBatchBalance
Returns balances for multiple address/tokenId pairs via ERC-1155 balanceOfBatch. Both query arrays must be the same length, max 100 pairs. Not cached. EVM chains only.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getNftBatchBalance",
"params": {
"chain": "ethereum",
"contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
"addresses": [
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
],
"tokenIds": [
"1",
"2"
]
},
"id": 1
}'{
"jsonrpc": "2.0",
"result": {
"data": {
"chain": "ethereum",
"contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
"results": [
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"tokenId": "1",
"balance": "5"
},
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"tokenId": "2",
"balance": "0"
}
]
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| contract | yes | ERC-1155 contract address e.g. 0x495f947276749ce646f68ac8c248420045cb7b5e |
| addresses | yes | Comma-separated addresses e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 |
| tokenIds | yes | Comma-separated token IDs (same length) e.g. 1,2 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
contract | string |
results | object[] |
address | string |
tokenId | string |
balance | string |