Skip to main content

How to build an NFT

Store NFT metadata in tables that capture chain-driven data changes.

Tableland closes the gap between onchain and offchain state synchronicity, which is especially useful for NFT developers. Namely, onchain can automatically drive offchain metadata changes while also offering performant query capabilities at the application layer.


To get started, check out the following pages that provide general NFT metadata overviews and Tableland SQL usage:

  • NFT metadata standards: A 101 about NFT metadata and the various standards used in web3.
  • SQL table design: Learn about how you can structure data across one or more tables and compose the metadata using SQL + JSON functions.
  • NFT uses cases: Dive into basics about what you can build with NFTs, including how web3 gaming can benefit from using Tableland.


For those looking to build, the following highlight how to use smart contracts and/or the Tableland SDK for NFT metadata:

  • Serving NFT metadata: Gain familiarity with how a smart contract can serve NFT metadata using SQL queries to the Tableland gateway.
  • URI encoding: Use JavaScript in smart contract deploy scripts to set a token URI with the proper encoding.
  • Build a dynamic NFT in Solidity: Get started with the basics of a Solidity-based NFT game that uses SQL queries to create and populate a table of game state.
  • Creating a dynamic NFT with p5.js: Add visual components to the intro tutorial about that walks through building a dynamic NFT in Solidity.
  • JSON files to NFT metadata: With a Hardhat project, take local JSON files, read/parse the data into tables, and then mint an NFT where Tableland powers the metadata.