All of the data from the Foundation protocol is public and free to use.
You can build your own UI with whatever features you would like using the same data.
There are "subgraphs" for Foundation data on the Ethereum mainnet and the Goerli testnet.
Our mainnet subgraph contains all the info you can find on foundation.app. (We use it too!)
Our goerli subgraph points to the Goerli testnet - the data you'll find there contains a lot of junk, but it serves as a good testing ground.
Here's an example query using the Foundation subgraph:
If you learn best by checking out examples, we recommend jumping ahead to the examples section. If you learn better by starting with the fundamentals and building from there, please read on below.
Each of the fields in the Foundation subgraph includes a brief comment you can see on the dashboard to explain the data it holds. We aim to cross-link between entities where possible. e.g.:
If there's data you need that's not easily accessible or queryable, just let us know!
At a high level here is the data we store today:
Every address that interacts with Foundation has an associated
Creators includes any account that has minted an NFT on the Foundation platform.
This entity holds any information that's common to all NFTs minted on Foundation.
Each individual NFT minted on Foundation. Note that NFT metadata such as name and description are not currently supported on the Foundation subgraph—in order to read this information you can read the metadata JSON from
And the image for this NFT can be retrieved from here, using the data contained in the value for the
image key above:
Even if it's a video, the key to use is
Data about every transfer event for NFTs minted on Foundation.
Tracks account-level approvals granted. For token specific approvals, see
Configuration that applies to all auctions listed on Foundation.
Each individual auction listed on Foundation. If an auction is re-listed (after a sale or after unlisting by the seller), it will appear as a new unique auction.
All individual bids placed on Foundation.
Currently the only auction model we support is Reserve Auctions. More will be added in the future.
When an NFT is initially listed, its state in the Foundation subgraph will be
Once the reserve price is met,
Anyone can place bids on auctions until the end time has passed. So
nftMarketAuction.status=Open and nftMarketAuction.dateEnding>nowInSeconds means an auction is accepting bids and
nftMarketAuction.status=Open and nftMarketAuction.dateEnding<=nowInSeconds indicates that the auction countdown has completed and bids are no longer being accepted.
Note that the end time for an auction may change, because placing a bit in the last 15 minutes resets the remaining time to 15 minutes to prevent sniping.
Since Ethereum requires a user-initiated transaction in order to react to the changing of time, users must claim their NFT after an auction has closed. Technically anyone can do this, but through the foundation.app UI we encourage the bidder to do so (and the foundation.app UI will allow sellers to complete the process as well). But it's on Ethereum, so anyone is free to do it if they please.
Once the NFT has been claimed, the auction status changes to
Finalized indicates that the NFT has been transferred to the auction winner and the seller has received funds from the sale.