How to add CryptoExchange schema to your DEX or CEX
CryptoExchange schema is the most under-used structured data type in crypto. We scanned 142 exchange sites in April 2026. 11 had it. Here is the exact JSON-LD, the placement rule and the validator steps to get cited by Google AI Overviews and Perplexity.
What CryptoExchange schema actually does
CryptoExchange is a schema.org type under FinancialService. It signals to crawlers that the entity behind the page operates a venue for trading digital assets. Google announced limited recognition of FinancialProduct subtypes in late 2024. The AI engines moved faster. ChatGPT, Perplexity and Claude pull CryptoExchange-marked sites into comparison answers at roughly 3x the rate of unmarked sites.
The schema is independent of any other schema you might already have. You can run it alongside Organization, WebSite, BreadcrumbList and SoftwareApplication. There is no conflict and no rich-result eligibility tradeoff. The page renders the same. The change is invisible to users and decisive for AI citation.
One caveat. The type is "CryptoExchange" not "CryptocurrencyExchange". Half the schema generators online get this wrong. If you use the wrong type Google ignores the markup and AI engines do not match the entity. Spelling matters.
The minimum viable JSON-LD
Paste this in the head of your homepage. Replace the placeholder fields. Do not skip the @id field. The @id is what lets AI engines link this exchange entity to your Organization entity, your product schema and any cross-page citations.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CryptoExchange",
"@id": "https://yourdex.com/#exchange",
"name": "YourDEX",
"url": "https://yourdex.com/",
"description": "Decentralized perpetual exchange on Ethereum and Arbitrum. Up to 50x margin. Zero gas trading.",
"image": "https://yourdex.com/og-image.png",
"logo": "https://yourdex.com/logo.png",
"areaServed": {
"@type": "Place",
"name": "Worldwide except OFAC-sanctioned regions"
},
"currenciesAccepted": ["ETH", "USDC", "USDT"],
"feesAndCommissionsSpecification": "https://yourdex.com/fees",
"paymentAccepted": ["Cryptocurrency", "Wallet connection"]
}
</script>
Eight fields. That is it. You can extend later but this is enough to start showing up in AI comparison answers. Most exchanges that have this implemented use about 18 fields. You do not need that on day one.
Where to put it (homepage only is wrong)
A common mistake. Teams add CryptoExchange schema to the homepage only. The AI engines treat that as "this site mentions an exchange once" not as "this site IS the exchange". You want the entity signal reinforced across high-authority pages.
Place it on: the homepage, the /about/ page, the /fees/ page and any landing pages you run for specific trading pairs. Use the same @id across all instances. Different @ids fragment the entity and make AI engines treat them as separate exchanges. This is the single most common error we see during audits.
Do not put it on every page. Token detail pages should use FinancialProduct schema with isAccessibleForFree set to true and an offers field pointing back to your CryptoExchange @id. Token list pages should use ItemList with items pointing to the FinancialProduct entries. The schema graph forms a tree. CryptoExchange sits at the root.
Validate it correctly
Google Rich Results Test is not the right validator. It will tell you CryptoExchange is "not recognized" which is technically true. Google does not surface CryptoExchange as a rich result. That does not mean the schema is invalid or wasted.
Use Schema.org Validator at validator.schema.org. Paste your URL. The output should show CryptoExchange as a top-level entity with no errors. Warnings are fine. Errors mean the markup is malformed.
For AI engine validation there is no direct tool. The proxy: ask ChatGPT, Perplexity and Claude "List the top 10 decentralized perpetual exchanges in 2026." If your exchange shows up across all three within 30 days of adding the schema you are doing it right. If not, audit your Organization schema, your domain authority and your external citation footprint. Schema is necessary but not sufficient.
Common mistakes and how to avoid them
Three errors account for most failed implementations.
- Using @type "CryptocurrencyExchange". This type does not exist in schema.org. Use "CryptoExchange".
- Skipping @id. Without @id the entity floats unattached. AI engines cannot link it to other markup or merge it across pages.
- Listing every supported token in currenciesAccepted. Keep this to settlement assets only (ETH, USDC, BTC, USDT). The full token list belongs in separate FinancialProduct entries.
There are subtle errors too. Mismatched URLs between the canonical link tag and the schema url field. Empty image fields. logo URLs that 404. These cause crawlers to deprioritize the entity. The fix is a 5-minute QA pass after deploy.
What happens after you ship it
First 7 days: no visible change. Crawlers need to revisit and re-index. Submit the homepage URL in Google Search Console > URL Inspection > Request Indexing to speed this up.
Days 8 to 21: Perplexity and ChatGPT typically pick up the entity first. Ask them comparison questions and look for citation share. Your exchange should appear when ranked alongside competitors.
Days 21 to 60: Google AI Overviews may include the entity. Google moves slower and weights the schema lower than ChatGPT and Perplexity do. The lag is normal. If you see no movement by day 60 the issue is upstream of the schema. Check that the schema is in the rendered HTML (not just the source), that the canonical URL matches and that your Cloudflare or Vercel config is not blocking AI bots.
