Available Now

NFT API

NFT metadata, ownership & marketplace data

Complete NFT data API for ERC-721 and ERC-1155 tokens. Get metadata, ownership history, floor prices, rarity scores, and collection stats across all major chains.

Rich Metadata

Normalized metadata with images, traits, and attributes.

Collection Discovery

Search and explore NFT collections by name or address.

Ownership History

Track ownership changes, sales, and provenance.

Floor & Sales Data

Real-time floor prices and recent sales from marketplaces.

Back to Web3 Overview

Get Your API Key

Start building in under 5 minutes

99.999%
Uptime
<50ms
Latency
100+
Chains

No credit card required. Free tier includes 300M compute units/month.

Trusted by developers building:

DeFiNFTsPaymentsGamingAI Agents

Key Capabilities

Everything you need, nothing you don't.

Rich Metadata

Normalized metadata with images, traits, and attributes.

Collection Discovery

Search and explore NFT collections by name or address.

Ownership History

Track ownership changes, sales, and provenance.

Floor & Sales Data

Real-time floor prices and recent sales from marketplaces.

Rarity Scoring

Automatic trait rarity calculation for collections.

Multi-chain Support

ERC-721 and ERC-1155 across Ethereum, Polygon, and more.

Spam Filtering

Automatic detection and filtering of spam NFTs.

Fast Rendering

Optimized image proxying and thumbnail generation.

Metadata Refresh

On-demand metadata refresh for dynamic NFTs.

Simple to Integrate

Get started with just a few lines of code. SDKs for every language.

NFTMarketplace.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@hanzo/nft/IHanzoNFT.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

contract NFTMarketplace is ReentrancyGuard {
    IHanzoNFT public hanzoNFT;

    struct Listing {
        address seller;
        address nftContract;
        uint256 tokenId;
        uint256 price;
        bool is1155;
        uint256 amount;
    }

    mapping(bytes32 => Listing) public listings;

    event Listed(bytes32 indexed listingId, address seller, uint256 price);
    event Sold(bytes32 indexed listingId, address buyer, uint256 price);

    constructor(address _hanzoNFT) {
        hanzoNFT = IHanzoNFT(_hanzoNFT);
    }

    // List an ERC721 NFT
    function listERC721(
        address nftContract,
        uint256 tokenId,
        uint256 price
    ) external returns (bytes32 listingId) {
        IERC721(nftContract).transferFrom(msg.sender, address(this), tokenId);

        listingId = keccak256(abi.encode(nftContract, tokenId, block.timestamp));
        listings[listingId] = Listing({
            seller: msg.sender,
            nftContract: nftContract,
            tokenId: tokenId,
            price: price,
            is1155: false,
            amount: 1
        });

        emit Listed(listingId, msg.sender, price);
    }

    // Buy a listed NFT
    function buy(bytes32 listingId) external payable nonReentrant {
        Listing memory listing = listings[listingId];
        require(listing.seller != address(0), "Not listed");
        require(msg.value >= listing.price, "Insufficient payment");

        delete listings[listingId];

        // Transfer NFT to buyer
        if (listing.is1155) {
            IERC1155(listing.nftContract).safeTransferFrom(
                address(this), msg.sender, listing.tokenId, listing.amount, ""
            );
        } else {
            IERC721(listing.nftContract).transferFrom(
                address(this), msg.sender, listing.tokenId
            );
        }

        // Transfer payment to seller
        payable(listing.seller).transfer(listing.price);

        emit Sold(listingId, msg.sender, listing.price);
    }
}

Built For

NFT Marketplaces

Build trading platforms with rich collection and item data.

Wallet Integration

Display NFT collections with images and metadata.

Gaming Platforms

Track in-game assets and player inventories.

Analytics Tools

Collection analytics, whale tracking, and market trends.

Supported Chains

Ethereum
Polygon
Arbitrum
Optimism
Base
BNB Chain
Avalanche
Solana
Lux

Start Building with NFT API

Get your free API key and ship your first request in under 5 minutes. No credit card required.