Data Model

The Grid's data model structures the Web3 ecosystem into clear, queryable categories. Access detailed information about Web3 profiles, products, assets, socials, entities and their relationships. This standardized structure provides data integration and metadata across your platform.

Important Notes

When querying the API, keep in mind that most data requires going through the root to access other data points.

Profiles

Query companies, DAOs, Governments, Investors, NFT collections, Projects.

Table Name

profileInfos

Key Fields

name - The full official name of the Profile as used in their branding and documentation.
descriptionShort - An objective overview of the Profile's primary purpose, product, or service. Limit to 200 characters.
descriptionLong - A more detailed overview of the Profile, including its mission, target audience, and key features or offerings. Limit to 500 characters.
profileType - The primary operational category or business model of the Profile (e.g. DAO, project, investor, government).
profileSector - The primary industry, use case, or problem space the Profile operates in or serves.
profileStatus - The current operational state of the Profile (e.g. Active, Inactive, Closed).
foundingDate - The date when the Profile was first established, registered, or publicly announced. ISO 8601 format (YYYY-MM-DD).

Example Query

query GetProfiles {
profileInfos(
limit: 10
where: {profileStatus: {slug: {_eq: "active"}},
profileSector: {slug: {_eq: "finance"}}}
) {
name
descriptionShort
descriptionLong
tagLine
foundingDate
profileType {
name
slug
}
profileSector {
name
slug
}
profileStatus {
name
slug
}
}
}

Pro Tip: Use Slugs for Filtering
Always use slug fields instead of IDs for enum filtering. They're human-readable, stable, and won't get truncated.

Products

Query DEXs, wallets, bridges, oracles, L1/L2 blockchains, DeFi protocols... and others.

Table Name

products

Key Fields

name - The official name of the product as used in its branding, marketing, and user-facing materials.
description - A concise, objective statement explaining what the product does and who it is for.
productType - The primary category or function of the product (e.g. exchange, wallet, lending platform).
productStatus - The current development or access stage of the product (e.g. Beta, Live, Deprecated).
launchDate - The date when the product was first launched or made publicly available. Use ISO 8601 format (YYYY-MM-DD) when possible.
isMainProduct - A boolean value indicating whether the product is the Profile's primary or flagship offering.

Example Query

query GetWallets {
products(
where: {productType: {slug: {_eq: "wallet"}},
productStatus: {slug: {_eq: "live"}}}
limit: 10
) {
name
description
launchDate
productType {
name
slug
}
root {
profileInfos {
name
}
}
}
}

Assets

Query tokens, NFTs, stablecoins, governance tokens... and others.

Table Name

assets

Key Fields

name - The official name of the Asset as used in its branding, marketing, and trading materials.
ticker - The unique trading symbol used to represent the Asset on exchanges and trading platforms. Use only capital letters and numbers.
description - A concise, one-sentence summary of the Asset's key characteristics, use case, or value proposition. Limit to 200 characters and avoid subjective claims.
assetType - The primary category or function of the Asset (e.g. Currency, Utility, Security) and what is does.
assetStatus - The current development or access stage of the asset. Refer to the standardized list of asset status options.

Example Query

query GetAsset {
assets(where: {ticker: {_eq: "USDC"}}) {
name
ticker
description
assetType {
name
slug
}
assetDeployments {
smartContractDeployment {
deployedOnProduct {
name
}
assetStandard {
name
}
smartContracts {
address
}
}
}
}
}

Socials

Query Twitter/X, Github, Discord, Telegram, Instagram, Linkedin, Youtube... and others.

Table Name

socials

Key Fields

name - The handle associated with the Profile's social media account on the specified platform.
socialType - The specific social media platform the URL belongs to (e.g. Twitter, Facebook, Discord).
socialStatus - The current operational state of the social.

Example Query

query GetSocial {
socials(where: {name: {_eq: "circle"}}) {
name
socialStatus {
name
slug
}
socialType {
name
slug
}
}
}