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.

Los sitios crypto necesitan markup schema.org que los motores de búsqueda y modelos IA realmente entiendan: FinancialProduct, CryptoExchange, SoftwareApplication y data Organization crypto-aware. Esto es tanto el módulo de auditoría como la referencia abierta. Copia lo que necesites, corre la auditoría cuando quieras validarlo end-to-end.

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

Por los 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 los siete patrones crypto más comunes

Cada ejemplo está anotado con lo que hace cada campo, por qué importa y el error más común que marcamos en auditorías. Escoge el patrón que coincide con tu sitio, pégalo, rellena tus valores reales.

Pattern · DeFi lending pool

FinancialProduct para un mercado de lending

Usa esto en la página que representa un solo mercado de lending o pool (ej. /markets/usdc o /pools/aave-eth). El patrón estilo Aave: un FinancialProduct por mercado, cada uno apuntando de vuelta al Organization del 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 un DEX

Para una interface de swap (patrón Uniswap, Curve, PancakeSwap). Usa CryptoExchange en la página principal del protocolo y páginas por pool. El array supportedAssets es lo que desambigua "AAVE el token" de "Aave el protocolo" para los modelos 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 productos de staking que acuñan un derivativo (stETH, rETH). Usa FinancialProduct con el yield de staking como interestRate. Haz el token derivativo explícito en la descripción porque los modelos IA de otro modo lo confunden con el 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 + Producto para marketplace NFT

Los marketplaces NFT se sientan incómodamente en schema.org. Recomendamos CryptoExchange para el marketplace en sí más schema Producto en páginas individuales de colección o item. supportedAssets se vuelve las cadenas soportadas.

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 Producto 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 un wallet Web3

Para wallets self-custody, wallets de hardware y wallets crypto móviles. SoftwareApplication es el tipo correcto porque el wallet es software, no un producto financiero. Añade operatingSystem y offers explícitamente para que los rich results de app store funcionen.

Common mistakes we flag

  • Using Producto 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 un CEX

Para exchanges centralizados (patrón Binance, Coinbase, Kraken). Schema CryptoExchange con divulgación regulatoria completa dentro de feesAndCommissionsSpecification y areaServed. Los modelos IA jalan info de jurisdicción de estos campos pesadamente.

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 con cadena sameAs completa

Este es el schema que auditamos más duro en términos YMYL. Organization con sameAs a GitHub, Twitter, CoinGecko, DefiLlama y reportes de firmas auditoras. Person founders con su propia cadena sameAs. Ambos anidan bajo el @graph para la 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

Un hallazgo típico de token schema de una auditoría Crawlux

Esto es aproximadamente cómo se ve cada problema de schema en el reporte PDF. Rating de severidad, causa raíz, el fix y el snippet JSON-LD listo para enviar.

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

Schema FinancialProduct faltante en páginas de mercado de lending

Las 14 páginas de mercado de lending en el dominio les falta JSON-LD FinancialProduct. Solo está presente schema genérico WebPage.

  • 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

Añade un bloque JSON-LD FinancialProduct a cada página de mercado usando el patrón DeFi Lending de la biblioteca de schema arriba. Jala interestRate dinámicamente de tu oráculo de tasas existente. Referencia el Organization del protocolo vía @id en lugar de inlinear la data de provider.

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 herramientas SEO genéricas

Tres cosas que podrías usar para validación de schema crypto hoy. Aquí está lo que cada uno captura, lado a lado, en las dimensiones que importan para un sitio 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

Qué pasa cuando corres la auditoría de token schema

Cuatro verificaciones secuenciales. El módulo entero típicamente completa en menos de 12 segundos, corriendo en paralelo con los otros siete módulos de auditoría.

  1. 01

    Fetch y 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

    Parsear y clasificar

    Cada bloque JSON-LD es parseado contra schema.org. Clasificamos cada entidad por @type y etiquetamos la página por las combinaciones de schema presentes. Las entidades no en schema.org son marcadas pero no penalizadas.

  3. 03

    Validación crypto-específica

    Las entidades FinancialProduct, CryptoExchange y SoftwareApplication corren a través de reglas adicionales afinadas para Web3. supportedAssets faltante, interestRate mal formado y mismatches de provider todos marcados aquí.

  4. 04

    Verificación de vitalidad de sameAs

    Cada URL sameAs en entidades Organization y Person es recuperada. Enlaces muertos (404, 410, cadenas de redirect) marcados. URLs de perfil de CoinGecko, DefiLlama y CoinMarketCap cross-verificadas para match de entidad.

// Token schema Preguntas frecuentes

Preguntas de schema, respondidas

Preguntas comunes de devs y equipos SEO enviando schema en sitios crypto.

What schema types do crypto sites need?

La mayoría de los sitios crypto necesitan una combinación de FinancialProduct (para protocolos DeFi, lending, yield, staking), CryptoExchange (para DEXs y CEXs), SoftwareApplication (para wallets y dApps), Organization (para la entidad de empresa con enlaces sameAs), Person (para fundadores y autores) y Preguntas frecuentesPage (para documentación y páginas de producto). Cada tipo de schema señala hechos diferentes a los motores de búsqueda y modelos IA.

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

Is FinancialProduct the right schema for a DeFi protocol?

FinancialProduct es el tipo schema.org más cercano para la mayoría de los productos DeFi, incluyendo pools de lending, vaults de yield y productos de staking. Soporta campos interestRate, feesAndCommissionsSpecification y provider que mapean bien a DeFi. Para productos puramente de swap/exchange, usa CryptoExchange en su lugar. Para los tokens de governance del protocolo en sí, la comunidad de schema todavía está estableciendo la mejor práctica; la mayoría de los sitios usan una combinación de FinancialProduct en la página de producto y Organization en la página principal del protocolo.

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

Google no penaliza schema incorrecto, pero ignorará markup que no valida o que mal usa los campos requeridos. El riesgo mayor es la elegibilidad para rich results: un FinancialProduct mal formado no ganará el rich result. Los modelos IA como ChatGPT y Perplexity son incluso más estrictos; tienden a ignorar JSON-LD que no parsea limpiamente, lo cual significa que tu data factual no influencia las respuestas. Validar con Schema.org Validator y Rich Resultados Test de Google es esencial.

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 es una propiedad de Organization o Person que enlaza tu entidad a sus perfiles en otros sitios. Para crypto, sameAs debería apuntar a tu Twitter, GitHub, Discord, CoinGecko, CoinMarketCap, DefiLlama y otras fuentes de autoridad reconocidas. Esta es una de las señales de autoridad más fuertes que puedes enviar e influencia directamente la probabilidad de citas IA. La auditoría de Crawlux verifica específicamente que cada URL sameAs retorne 200 y que el perfil enlazado sea consistente con tu marca.

Can multiple JSON-LD blocks coexist on one page?

Sí. Una sola página puede tener múltiples bloques de script JSON-LD, o un solo bloque con @graph conteniendo múltiples entidades. El enfoque @graph es más limpio y usualmente preferido. Una página típica de producto DeFi podría combinar FinancialProduct (el producto), Organization (el protocolo), BreadcrumbList (la navegación) y Preguntas frecuentesPage (la Preguntas frecuentes de producto) en un bloque @graph. Crawlux valida cada entidad independientemente y reporta problemas por entidad.

Do I need schema if my site already ranks?

El schema es cada vez más importante para búsqueda IA incluso cuando el SEO tradicional está bien. ChatGPT, Perplexity y Claude todos usan structured data pesadamente al decidir qué fuentes citar. Un sitio que rankea #1 en Google todavía puede ser invisible en respuestas IA si su JSON-LD está faltante o incorrecto. Para crypto específicamente, donde la cuota de búsqueda IA está creciendo rápido, el schema faltante cada vez cuesta más tráfico que los rankings de Google solos no capturan.

RUN THIS AUDIT FREE

Corre esta auditoría en tu sitio crypto.

Sin registro, sin tarjeta de crédito. Reporte completo de 8 módulos en 60 segundos.

Primera auditoría gratis · Sin registro · 60 segundos · Full PDF report