NEWWorld's first AI visibility audit tool for Web3 is live.Run free audit →
Audit module · 04 · Reference + Tool

Token schema audit. The complete reference for crypto JSON-LD.

Os sites crypto precisam de markup schema.org que os motores de busca e modelos de IA realmente entendam: FinancialProduct, CryptoExchange, SoftwareApplication e data Organization crypto-aware. Isso é tanto o módulo de auditoria quanto a referência aberta. Copie o que precisar, rode a auditoria quando quiser validar tudo end-to-end.

5 schema types7 protocol templatesValidated against schema.org & Google Rich Resultados

Em números

63%of crypto sites we audit ship zero crypto-specific schema. Most have only generic WebSite or BreadcrumbList markup.Illustrative figure based on TG3 client audit patterns
~12sto ship a complete FinancialProduct JSON-LD block from this library to a Next.js page using the App Router metadata API.Time-to-paste, not time-to-validate
+18ptsaverage AEO score lift after shipping FinancialProduct + Organization sameAs schema on a Web3 site.Illustrative; varies materially by site
// The library

JSON-LD copy-paste para os sete padrões crypto mais comuns

Cada exemplo é anotado com o que cada campo faz, por que importa e o erro mais comum que marcamos em auditorias. Escolha o padrão que combina com o seu site, cole e preencha com seus valores reais.

Pattern · DeFi lending pool

FinancialProduct para um mercado de lending

Use isso na página que representa um único mercado de lending ou pool (ex. /markets/usdc ou /pools/aave-eth). O padrão estilo Aave: um FinancialProduct por mercado, cada um apontando de volta para o Organization do protocolo como provider.

Common mistakes we flag

  • Putting all markets in one FinancialProduct entity instead of one per market
  • Hardcoding interestRate as a number instead of a QuantitativeValue with unit
  • Missing feesAndCommissionsSpecification (rich result eligibility lost)
  • provider as a plain string instead of an Organization reference
defi-lending-market.jsonld
{
  "@context": "https://schema.org",
  "@type": "FinancialProduct",
  "@id": "https://example.com/markets/usdc#product",
  "name": "USDC Lending Market",
  "description": "Supply USDC to earn variable yield. Borrow USDC against ETH or BTC collateral.",
  "category": "Decentralized lending",
  "interestRate": {
    "@type": "QuantitativeValue",
    "value": 4.82,
    "unitText": "PERCENT_PER_YEAR",
    "valueReference": "Variable APY, updated per block"
  },
  "feesAndCommissionsSpecification": "Reserve factor: 10%. No deposit or withdrawal fees. Borrowers pay variable interest set by utilization curve.",
  "provider": {
    "@type": "Organization",
    "@id": "https://example.com/#organization",
    "name": "Example Protocol",
    "url": "https://example.com/"
  },
  "audience": {
    "@type": "Audience",
    "audienceType": "DeFi users with self-custody wallets"
  },
  "areaServed": "Worldwide, subject to jurisdictional restrictions"
}
Pattern · Decentralized exchange

CryptoExchange para um DEX

Para uma interface de swap (padrão Uniswap, Curve, PancakeSwap). Use CryptoExchange na página principal do protocolo e páginas por pool. O array supportedAssets é o que desambigua "AAVE o token" de "Aave o protocolo" para os modelos de IA.

Common mistakes we flag

  • Using FinancialProduct instead of CryptoExchange for swap interfaces
  • Empty supportedAssets array (the most valuable field for crypto)
  • Hardcoding fee as a string instead of feesAndCommissionsSpecification
  • Missing currenciesAccepted, which AI models use heavily
dex-swap.jsonld
{
  "@context": "https://schema.org",
  "@type": "CryptoExchange",
  "@id": "https://example.com/#exchange",
  "name": "Example DEX",
  "description": "Decentralized AMM exchange supporting ETH, ERC-20 and bridged assets across L2s.",
  "url": "https://example.com/",
  "currenciesAccepted": ["ETH", "USDC", "USDT", "DAI", "WBTC"],
  "supportedAssets": [
    { "@type": "Thing", "name": "Ethereum (ETH)", "sameAs": "https://www.coingecko.com/en/coins/ethereum" },
    { "@type": "Thing", "name": "USD Coin (USDC)", "sameAs": "https://www.coingecko.com/en/coins/usd-coin" }
  ],
  "feesAndCommissionsSpecification": "Swap fee: 0.30% per trade, paid to liquidity providers. No protocol fee. Gas paid by user.",
  "areaServed": "Worldwide, excluding sanctioned jurisdictions",
  "provider": { "@id": "https://example.com/#organization" }
}
Pattern · Liquid staking derivative

FinancialProduct para liquid staking (patrón Lido / Rocket Pool)

Para produtos de staking que emitem um derivativo (stETH, rETH). Use FinancialProduct com o yield de staking como interestRate. Deixe o token derivativo explícito na descrição, porque os modelos de IA, do contrário, confundem isso com o underlying.

Common mistakes we flag

  • Listing the underlying asset (ETH) instead of the derivative (stETH) as the product
  • Missing rebasing or reward mechanism description
  • No exit / unstaking time disclosure (a major user concern AI models surface)
  • provider sameAs missing the validator set page
liquid-staking.jsonld
{
  "@context": "https://schema.org",
  "@type": "FinancialProduct",
  "name": "Liquid Staked ETH (stETH)",
  "description": "Stake ETH and receive stETH, a liquid derivative that accrues staking rewards via daily rebases. Tradable on DEXs and usable as DeFi collateral.",
  "category": "Liquid staking derivative",
  "interestRate": {
    "@type": "QuantitativeValue",
    "value": 3.4,
    "unitText": "PERCENT_PER_YEAR",
    "valueReference": "Variable APR based on Ethereum validator rewards"
  },
  "feesAndCommissionsSpecification": "Protocol fee: 10% of staking rewards. No staking minimum. No lock-up; unstake via withdrawal queue (typically 1-5 days) or swap stETH on a DEX instantly.",
  "provider": { "@id": "https://example.com/#organization" },
  "audience": {
    "@type": "Audience",
    "audienceType": "ETH holders seeking yield without running a validator"
  }
}
Pattern · NFT marketplace

Híbrido CryptoExchange + Product para marketplace NFT

Os marketplaces NFT se encaixam de forma desconfortável no schema.org. Recomendamos CryptoExchange para o marketplace em si, mais schema Product em páginas individuais de coleção ou item. supportedAssets se torna as cadeias suportadas.

Common mistakes we flag

  • Generic WebSite schema instead of CryptoExchange on the marketplace homepage
  • Missing chain support in supportedAssets (Ethereum, Polygon, Solana, etc.)
  • Royalty fee disclosure absent from feesAndCommissionsSpecification
  • Per-collection pages with no Product schema
nft-marketplace.jsonld
{
  "@context": "https://schema.org",
  "@type": "CryptoExchange",
  "name": "Example NFT Market",
  "description": "NFT marketplace for digital art, gaming items and collectibles across Ethereum, Polygon and Base.",
  "url": "https://example.com/",
  "currenciesAccepted": ["ETH", "MATIC", "USDC"],
  "supportedAssets": [
    { "@type": "Thing", "name": "Ethereum NFTs (ERC-721, ERC-1155)" },
    { "@type": "Thing", "name": "Polygon NFTs" },
    { "@type": "Thing", "name": "Base NFTs" }
  ],
  "feesAndCommissionsSpecification": "Marketplace fee: 2.5% of sale. Creator royalties enforced on-chain per collection. Gas paid by user."
}
Pattern · Self-custody wallet

SoftwareApplication para um wallet Web3

Para wallets self-custody, wallets de hardware e wallets crypto móveis. SoftwareApplication é o tipo correto porque o wallet é software, não um produto financeiro. Adicione operatingSystem e offers explicitamente para que os rich results de app store funcionem.

Common mistakes we flag

  • Using Product instead of SoftwareApplication (loses app rich result eligibility)
  • Missing operatingSystem field
  • No applicationCategory (FinanceApplication is the right value for wallets)
  • aggregateRating without supporting reviewCount that matches actual reviews
crypto-wallet.jsonld
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Example Wallet",
  "description": "Self-custody multi-chain wallet for Ethereum, Solana, Bitcoin and 30+ EVM networks. Built-in dApp browser and hardware wallet support.",
  "applicationCategory": "FinanceApplication",
  "applicationSubCategory": "Cryptocurrency wallet",
  "operatingSystem": "iOS, Android, macOS, Windows, Linux",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "featureList": [
    "Self-custody seed phrase storage",
    "Multi-chain support across 30+ EVM networks",
    "WalletConnect v2 dApp integration",
    "Hardware wallet support (Ledger, Trezor)"
  ],
  "publisher": { "@id": "https://example.com/#organization" }
}
Pattern · Centralized exchange

CryptoExchange + Organization para um CEX

Para exchanges centralizados (padrão Binance, Coinbase, Kraken). Schema CryptoExchange com divulgação regulatória completa dentro de feesAndCommissionsSpecification e areaServed. Os modelos de IA puxam informações de jurisdição desses campos fortemente.

Common mistakes we flag

  • Vague areaServed like "Global" without listing excluded jurisdictions
  • Missing regulatory licenses in the description
  • currenciesAccepted as a free-text string instead of array
  • No Organization sameAs to corporate registry or regulator listing
cex.jsonld
{
  "@context": "https://schema.org",
  "@type": "CryptoExchange",
  "name": "Example Exchange",
  "description": "Regulated centralized cryptocurrency exchange. Spot trading, margin and futures across 200+ assets. Licensed in EU (MiCA) and registered with FinCEN as an MSB.",
  "url": "https://example.com/",
  "currenciesAccepted": ["USD", "EUR", "GBP", "BTC", "ETH", "USDT", "USDC"],
  "feesAndCommissionsSpecification": "Spot trading: 0.10% maker / 0.20% taker. Volume tiers reduce to 0.00% / 0.04%. Withdrawal fees vary by network. Full schedule at /fees.",
  "areaServed": ["European Union", "United Kingdom", "Australia", "Canada"],
  "provider": { "@id": "https://example.com/#organization" }
}
Pattern · Protocol Organization + founder Person

Organization + Person com cadeia sameAs completa

Esse é o schema que auditamos com mais rigor em termos de YMYL. Organization com sameAs para GitHub, Twitter, CoinGecko, DefiLlama e relatórios de empresas auditoras. Person founders com sua própria cadeia sameAs. Os dois se aninham sob o @graph para a homepage.

Common mistakes we flag

  • Organization sameAs missing CoinGecko or DefiLlama (huge AEO miss)
  • Founder Person schema absent on /team/ pages
  • sameAs URLs that 404 or redirect (the audit checks every link)
  • Audit firm citations as plain links rather than as sameAs targets
org-and-founder.jsonld
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "Example Protocol",
      "url": "https://example.com/",
      "logo": "https://example.com/logo.png",
      "sameAs": [
        "https://twitter.com/exampleprotocol",
        "https://github.com/exampleprotocol",
        "https://discord.gg/exampleprotocol",
        "https://www.coingecko.com/en/coins/example",
        "https://defillama.com/protocol/example",
        "https://github.com/exampleprotocol/audits"
      ],
      "founder": { "@id": "https://example.com/team/jane-doe#person" }
    },
    {
      "@type": "Person",
      "@id": "https://example.com/team/jane-doe#person",
      "name": "Jane Doe",
      "jobTitle": "Co-founder & CTO, Example Protocol",
      "description": "Smart contract engineer. Previously security researcher at OpenZeppelin. Lead author of Example Protocol's lending architecture.",
      "sameAs": [
        "https://twitter.com/janedoe",
        "https://github.com/janedoe",
        "https://www.linkedin.com/in/janedoe"
      ],
      "worksFor": { "@id": "https://example.com/#organization" }
    }
  ]
}
// What an audit finding looks like

Um achado típico de token schema de uma auditoria Crawlux

Isso é aproximadamente como cada problema de schema aparece no relatório PDF. Rating de severidade, causa raiz, o fix e o snippet JSON-LD pronto para enviar.

● HIGHFinding 04 of 23 · Schema de tokens
example-protocol.com / markets/usdc

Schema FinancialProduct faltante en páginas de mercado de lending

As 14 páginas de mercado de lending no domínio não têm JSON-LD FinancialProduct. Apenas o schema genérico WebPage está presente.

  • Search engines and AI models cannot identify the page as a lending product
  • The asset being lent and the interest rate are not machine-readable
  • Rich result eligibility for FinancialProduct is lost
  • AEO citation likelihood drops on queries like "best USDC lending APY"
SeverityHigh · ranking + AEO impact
Effort~1 hour · template-able
Pages affected14 lending markets

→ Fix recomendado

Adicione um bloco JSON-LD FinancialProduct a cada página de mercado usando o padrão DeFi Lending da biblioteca de schema acima. Puxe o interestRate dinamicamente do seu oráculo de taxas existente. Referencie o Organization do protocolo via @id em vez de inserir os dados de provider diretamente.

Illustrative finding based on common patterns observed in TG3 client audits, not a real Crawlux scan output.
// Crawlux vs the alternatives

Crawlux vs Schema.org Validator vs ferramentas de SEO genéricas

Três coisas que você poderia usar para validação de schema crypto hoje. Aqui está o que cada uma captura, lado a lado, nas dimensões que importam para um site Web3.

CapabilitySchema.org ValidatorGoogle Rich Resultados TestAhrefs / SemrushCrawlux
Validates JSON-LD syntactically Strict Strict~ Surface only Strict
Validates FinancialProduct + CryptoExchange specifically~ Generic only Not crypto-aware Crypto-tuned
Audits whole domain at once One URL One URL
Per-page schema coverage map~
Verifies sameAs URLs return 200
Validates supportedAssets + currenciesAccepted~ Field exists, no value check
Detects FinancialProduct used where CryptoExchange belongs
Per-token / per-pool entity recognition
JSON-LD vs Microdata vs RDFa coexistence audit~~
SPA / client-side schema render check~ Single URL
Recommends exact fix with copy-paste snippet
PDF report with prioritized fixes~ Generic export
PreciosFreeFree$99-449/mo subscription$0 / $25 / $49 per audit
// How the audit runs

O que acontece quando você roda a auditoria de token schema

Quatro verificações sequenciais. O módulo inteiro tipicamente é concluído em menos de 12 segundos, rodando em paralelo com os outros sete módulos de auditoria.

  1. 01

    Fetch e render

    Headless Chrome fetches every URL discovered by the crawl module. JavaScript renders fully. We extract all script[type="application/ld+json"] blocks, plus any inline microdata or RDFa for cross-checking.

  2. 02

    Analisar e classificar

    Cada bloco JSON-LD é analisado em relação ao schema.org. Classificamos cada entidade por @type e etiquetamos a página pelas combinações de schema presentes. As entidades que não estão no schema.org são marcadas, porém não penalizadas.

  3. 03

    Validação crypto-específica

    As entidades FinancialProduct, CryptoExchange e SoftwareApplication passam por regras adicionais ajustadas para Web3. supportedAssets ausente, interestRate malformado e mismatches de provider, todos marcados aqui.

  4. 04

    Verificação de vitalidade de sameAs

    Cada URL sameAs em entidades Organization e Person é recuperada. Links quebrados (404, 410, cadeias de redirect) são marcados. URLs de perfil do CoinGecko, DefiLlama e CoinMarketCap são cruzadas para verificar match de entidade.

// Token schema Perguntas frequentes

Preguntas de schema, respondidas

Perguntas comuns de devs e equipes de SEO enviando schema em sites crypto.

What schema types do crypto sites need?

A maioria dos sites crypto precisa de uma combinação de FinancialProduct (para protocolos DeFi, lending, yield, staking), CryptoExchange (para DEXs e CEXs), SoftwareApplication (para wallets e dApps), Organization (para a entidade da empresa com links sameAs), Person (para fundadores e autores) e FAQPage (para documentação e páginas de produto). Cada tipo de schema sinaliza fatos diferentes para os motores de busca e modelos de IA.

The library above covers the seven most common patterns we ship for clients.

Is FinancialProduct the right schema for a DeFi protocol?

FinancialProduct é o tipo schema.org mais próximo para a maioria dos produtos DeFi, incluindo pools de lending, vaults de yield e produtos de staking. Suporta campos interestRate, feesAndCommissionsSpecification e provider que mapeiam bem para DeFi. Para produtos puramente de swap/exchange, use CryptoExchange no lugar. Para os tokens de governance do próprio protocolo, a comunidade de schema ainda está estabelecendo a melhor prática; a maioria dos sites usa uma combinação de FinancialProduct na página de produto e Organization na página principal do protocolo.

Will Google ignore my schema if I use the wrong type?

O Google não penaliza schema incorreto, porém vai ignorar markup que não valida ou que usa mal os campos obrigatórios. O maior risco é a elegibilidade para rich results: um FinancialProduct malformado não vai conquistar o rich result. Os modelos de IA como ChatGPT e Perplexity são ainda mais rígidos; tendem a ignorar JSON-LD que não é analisado de forma limpa, o que significa que seus dados factuais não influenciam as respostas. Validar com o Schema.org Validator e o Rich Results Test do Google é essencial.

Should JSON-LD be in the head or body?

Either works for Google, but head is the standard. Place schema in <script type="application/ld+json"> tags in the document head where possible. For SPA sites where schema is generated client-side, ensure the JSON-LD is rendered before Googlebot times out (within ~5 seconds) or use server-side rendering. Crawlux flags pages where schema is injected late or only client-side.

How do I add schema to a Next.js or React Web3 site?

For Next.js, the cleanest approach is per-page schema using next/head or the App Router's metadata API, with the schema object stringified into a script tag. For React SPAs, use react-helmet-async to inject schema into the document head. The critical thing is that schema must be in the rendered HTML, not just hydrated client-side, otherwise AI crawlers and many SEO tools will miss it.

What is sameAs and why does it matter for crypto?

sameAs é uma propriedade de Organization ou Person que liga sua entidade aos perfis dela em outros sites. Para crypto, sameAs deveria apontar para seu Twitter, GitHub, Discord, CoinGecko, CoinMarketCap, DefiLlama e outras fontes de autoridade reconhecidas. Essa é uma das sinalizações de autoridade mais fortes que você pode enviar e influencia diretamente a probabilidade de citações de IA. A auditoria da Crawlux verifica especificamente que cada URL sameAs retorne 200 e que o perfil vinculado seja consistente com sua marca.

Can multiple JSON-LD blocks coexist on one page?

Sim. Uma única página pode ter múltiplos blocos de script JSON-LD, ou um único bloco com @graph contendo múltiplas entidades. A abordagem @graph é mais limpa e geralmente preferida. Uma página típica de produto DeFi poderia combinar FinancialProduct (o produto), Organization (o protocolo), BreadcrumbList (a navegação) e FAQPage (o FAQ de produto) em um bloco @graph. A Crawlux valida cada entidade independentemente e reporta problemas por entidade.

Do I need schema if my site already ranks?

O schema é cada vez mais importante para a busca por IA, mesmo quando o SEO tradicional está bem. ChatGPT, Perplexity e Claude usam structured data fortemente ao decidir quais fontes citar. Um site que rankeia #1 no Google ainda pode ser invisível em respostas de IA se o JSON-LD estiver ausente ou incorreto. Para crypto especificamente, onde a fatia de busca por IA está crescendo rápido, o schema ausente cada vez mais custa tráfego que os rankings do Google sozinhos não capturam.

RUN THIS AUDIT FREE

Rode essa auditoria no seu site crypto.

Sem cadastro, sem cartão de crédito. Relatório completo de 8 módulos em 60 segundos.

Primeira auditoria grátis · Sem cadastro · 60 segundos · Full PDF report