<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:www.coingecko.com,2005:/learn</id>
  <link rel="alternate" type="text/html" href="https://www.coingecko.com"/>
  <link rel="self" type="application/atom+xml" href="https://www.coingecko.com/learn.atom"/>
  <title>CoinGecko Buzz</title>
  <updated>2026-10-08T08:13:28Z</updated>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135784</id>
    <published>2026-10-08T08:13:28Z</published>
    <updated>2026-10-14T01:52:41Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/anthropic-pre-ipo-data-api-guide?locale=en"/>
    <title>How to Get Anthropic Pre-IPO Data With the CoinGecko API</title>
    <content type="html">&lt;style type="text/css"&gt;.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; p {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; ul {
  color: inherit !important;
}
&lt;/style&gt;
&lt;style type="text/css"&gt;.output-block code { color:#0F172A !important; }
body.tw-dark .output-block {
  background: #F1F5F9 !important;
  border-color: #E2E8F0 !important;
}
body.tw-dark .output-block pre,
body.tw-dark .output-block code {
  color: #0F172A !important;
  background: transparent !important;
}
&lt;/style&gt;
&lt;style type="text/css"&gt;body.tw-dark div[style*="background:#eeeeee"],
body.tw-dark p[style*="background:#eeeeee"] {
  background: #eeeeee !important;
  border-color: #cccccc !important;
  color: #1f2328 !important;
}
body.tw-dark div[style*="background:#eeeeee"] a,
body.tw-dark p[style*="background:#eeeeee"] a {
  color: #0969da !important;
}
body.tw-dark div[style*="background:#eeeeee"] code {
  color: inherit !important;
  background-color: transparent !important;
}
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR&lt;/h2&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #000000; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;Anthropic is still privately held, with no public ticker, though it has confidentially filed for an IPO and selected Nasdaq as its listing venue.&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;A tokenized proxy for its pre-IPO shares is currently issued by PreStocks and trades permissionlessly on Solana DEXs.&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;CoinGecko API&lt;/a&gt; lets you pull that proxy's data: &lt;a href="https://docs.coingecko.com/demo/reference/rwas-id" target="_blank"&gt;RWA Data by ID&lt;/a&gt; for live price and market cap, &lt;a href="https://docs.coingecko.com/reference/rwas-id-tickers" target="_blank"&gt;RWA Tickers by ID&lt;/a&gt; for venue-by-venue quotes, and &lt;a href="https://docs.coingecko.com/reference/rwas-id-market-chart" target="_blank"&gt;RWA Historical Chart Data by ID&lt;/a&gt; for historical price data.&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;Use &lt;a href="https://docs.coingecko.com/reference/top-token-holders-token-address" target="_blank"&gt;Top Token Holders by Token Address&lt;/a&gt; and &lt;a href="https://docs.coingecko.com/reference/top-token-traders-token-address" target="_blank"&gt;Top Token Traders by Token Address&lt;/a&gt; to analyze holder and trader activity at the wallet level.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;Anthropic remains a private company, so there is no publicly traded Anthropic stock. However, tokenized Anthropic pre-IPO assets provide a source of live market data that can be tracked through CoinGecko.&lt;/p&gt;

&lt;p&gt;This guide explains what Anthropic’s pre-IPO data represents, why different price numbers appear online, and how to pull Anthropic’s tokenized market data with the CoinGecko API. It also shows how to verify the data directly from the source rather than relying on third-party broker pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This guide covers data access only and is not investment advice. CoinGecko API provides market data for tokenized real-world assets. It does not facilitate trading or acquisition of these assets.&lt;/p&gt;

&lt;p&gt;&lt;img alt="CoinGecko API guide banner for pulling Anthropic's tokenized pre-IPO price and market data." height="629" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136527/content_How_to_Get_Anthropic_Pre-IPO_Data_With_the_CoinGecko_API_%282%29.webp" style="max-width:100%;height:auto;" width="1200"&gt;&lt;/p&gt;
&lt;style type="text/css"&gt;pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.cgcode .hll { background-color: #ffffcc }
.cgcode { background: #f8f8f8; }
.cgcode .c { color: #3D7B7B; font-style: italic } /* Comment */
.cgcode .err { border: 1px solid #F00 } /* Error */
.cgcode .k { color: #008000; font-weight: bold } /* Keyword */
.cgcode .o { color: #666 } /* Operator */
.cgcode .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.cgcode .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.cgcode .cp { color: #9C6500 } /* Comment.Preproc */
.cgcode .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.cgcode .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.cgcode .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.cgcode .gd { color: #A00000 } /* Generic.Deleted */
.cgcode .ge { font-style: italic } /* Generic.Emph */
.cgcode .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.cgcode .gr { color: #E40000 } /* Generic.Error */
.cgcode .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.cgcode .gi { color: #008400 } /* Generic.Inserted */
.cgcode .go { color: #717171 } /* Generic.Output */
.cgcode .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.cgcode .gs { font-weight: bold } /* Generic.Strong */
.cgcode .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.cgcode .gt { color: #04D } /* Generic.Traceback */
.cgcode .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.cgcode .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.cgcode .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.cgcode .kp { color: #008000 } /* Keyword.Pseudo */
.cgcode .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.cgcode .kt { color: #B00040 } /* Keyword.Type */
.cgcode .m { color: #666 } /* Literal.Number */
.cgcode .s { color: #BA2121 } /* Literal.String */
.cgcode .na { color: #687822 } /* Name.Attribute */
.cgcode .nb { color: #008000 } /* Name.Builtin */
.cgcode .nc { color: #00F; font-weight: bold } /* Name.Class */
.cgcode .no { color: #800 } /* Name.Constant */
.cgcode .nd { color: #A2F } /* Name.Decorator */
.cgcode .ni { color: #717171; font-weight: bold } /* Name.Entity */
.cgcode .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.cgcode .nf { color: #00F } /* Name.Function */
.cgcode .nl { color: #767600 } /* Name.Label */
.cgcode .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.cgcode .nt { color: #008000; font-weight: bold } /* Name.Tag */
.cgcode .nv { color: #19177C } /* Name.Variable */
.cgcode .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.cgcode .w { color: #BBB } /* Text.Whitespace */
.cgcode .mb { color: #666 } /* Literal.Number.Bin */
.cgcode .mf { color: #666 } /* Literal.Number.Float */
.cgcode .mh { color: #666 } /* Literal.Number.Hex */
.cgcode .mi { color: #666 } /* Literal.Number.Integer */
.cgcode .mo { color: #666 } /* Literal.Number.Oct */
.cgcode .sa { color: #BA2121 } /* Literal.String.Affix */
.cgcode .sb { color: #BA2121 } /* Literal.String.Backtick */
.cgcode .sc { color: #BA2121 } /* Literal.String.Char */
.cgcode .dl { color: #BA2121 } /* Literal.String.Delimiter */
.cgcode .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.cgcode .s2 { color: #BA2121 } /* Literal.String.Double */
.cgcode .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.cgcode .sh { color: #BA2121 } /* Literal.String.Heredoc */
.cgcode .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.cgcode .sx { color: #008000 } /* Literal.String.Other */
.cgcode .sr { color: #A45A77 } /* Literal.String.Regex */
.cgcode .s1 { color: #BA2121 } /* Literal.String.Single */
.cgcode .ss { color: #19177C } /* Literal.String.Symbol */
.cgcode .bp { color: #008000 } /* Name.Builtin.Pseudo */
.cgcode .fm { color: #00F } /* Name.Function.Magic */
.cgcode .vc { color: #19177C } /* Name.Variable.Class */
.cgcode .vg { color: #19177C } /* Name.Variable.Global */
.cgcode .vi { color: #19177C } /* Name.Variable.Instance */
.cgcode .vm { color: #19177C } /* Name.Variable.Magic */
.cgcode .il { color: #666 } /* Literal.Number.Integer.Long */
body.tw-dark pre {  line-height: 125%;  }
body.tw-dark td.linenos .normal {  color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px;  }
body.tw-dark span.linenos {  color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px;  }
body.tw-dark td.linenos .special {  color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px;  }
body.tw-dark span.linenos.special {  color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px;  }
body.tw-dark .cgcode .hll {  background-color: #6e7681  }
body.tw-dark .cgcode {  background: #0d1117; color: #E6EDF3  }
body.tw-dark .cgcode .c {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .err {  color: #F85149  }
body.tw-dark .cgcode .esc {  color: #E6EDF3  }
body.tw-dark .cgcode .g {  color: #E6EDF3  }
body.tw-dark .cgcode .k {  color: #FF7B72  }
body.tw-dark .cgcode .l {  color: #A5D6FF  }
body.tw-dark .cgcode .n {  color: #E6EDF3  }
body.tw-dark .cgcode .o {  color: #FF7B72; font-weight: bold  }
body.tw-dark .cgcode .x {  color: #E6EDF3  }
body.tw-dark .cgcode .p {  color: #E6EDF3  }
body.tw-dark .cgcode .ch {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .cm {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .cp {  color: #8B949E; font-weight: bold; font-style: italic  }
body.tw-dark .cgcode .cpf {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .c1 {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .cs {  color: #8B949E; font-weight: bold; font-style: italic  }
body.tw-dark .cgcode .gd {  color: #FFA198; background-color: #490202  }
body.tw-dark .cgcode .ge {  color: #E6EDF3; font-style: italic  }
body.tw-dark .cgcode .ges {  color: #E6EDF3; font-weight: bold; font-style: italic  }
body.tw-dark .cgcode .gr {  color: #FFA198  }
body.tw-dark .cgcode .gh {  color: #79C0FF; font-weight: bold  }
body.tw-dark .cgcode .gi {  color: #56D364; background-color: #0F5323  }
body.tw-dark .cgcode .go {  color: #8B949E  }
body.tw-dark .cgcode .gp {  color: #8B949E  }
body.tw-dark .cgcode .gs {  color: #E6EDF3; font-weight: bold  }
body.tw-dark .cgcode .gu {  color: #79C0FF  }
body.tw-dark .cgcode .gt {  color: #FF7B72  }
body.tw-dark .cgcode .g-Underline {  color: #E6EDF3; text-decoration: underline  }
body.tw-dark .cgcode .kc {  color: #79C0FF  }
body.tw-dark .cgcode .kd {  color: #FF7B72  }
body.tw-dark .cgcode .kn {  color: #FF7B72  }
body.tw-dark .cgcode .kp {  color: #79C0FF  }
body.tw-dark .cgcode .kr {  color: #FF7B72  }
body.tw-dark .cgcode .kt {  color: #FF7B72  }
body.tw-dark .cgcode .ld {  color: #79C0FF  }
body.tw-dark .cgcode .m {  color: #A5D6FF  }
body.tw-dark .cgcode .s {  color: #A5D6FF  }
body.tw-dark .cgcode .na {  color: #E6EDF3  }
body.tw-dark .cgcode .nb {  color: #E6EDF3  }
body.tw-dark .cgcode .nc {  color: #F0883E; font-weight: bold  }
body.tw-dark .cgcode .no {  color: #79C0FF; font-weight: bold  }
body.tw-dark .cgcode .nd {  color: #D2A8FF; font-weight: bold  }
body.tw-dark .cgcode .ni {  color: #FFA657  }
body.tw-dark .cgcode .ne {  color: #F0883E; font-weight: bold  }
body.tw-dark .cgcode .nf {  color: #D2A8FF; font-weight: bold  }
body.tw-dark .cgcode .nl {  color: #79C0FF; font-weight: bold  }
body.tw-dark .cgcode .nn {  color: #FF7B72  }
body.tw-dark .cgcode .nx {  color: #E6EDF3  }
body.tw-dark .cgcode .py {  color: #79C0FF  }
body.tw-dark .cgcode .nt {  color: #7EE787  }
body.tw-dark .cgcode .nv {  color: #79C0FF  }
body.tw-dark .cgcode .ow {  color: #FF7B72; font-weight: bold  }
body.tw-dark .cgcode .pm {  color: #E6EDF3  }
body.tw-dark .cgcode .w {  color: #6E7681  }
body.tw-dark .cgcode .mb {  color: #A5D6FF  }
body.tw-dark .cgcode .mf {  color: #A5D6FF  }
body.tw-dark .cgcode .mh {  color: #A5D6FF  }
body.tw-dark .cgcode .mi {  color: #A5D6FF  }
body.tw-dark .cgcode .mo {  color: #A5D6FF  }
body.tw-dark .cgcode .sa {  color: #79C0FF  }
body.tw-dark .cgcode .sb {  color: #A5D6FF  }
body.tw-dark .cgcode .sc {  color: #A5D6FF  }
body.tw-dark .cgcode .dl {  color: #79C0FF  }
body.tw-dark .cgcode .sd {  color: #A5D6FF  }
body.tw-dark .cgcode .s2 {  color: #A5D6FF  }
body.tw-dark .cgcode .se {  color: #79C0FF  }
body.tw-dark .cgcode .sh {  color: #79C0FF  }
body.tw-dark .cgcode .si {  color: #A5D6FF  }
body.tw-dark .cgcode .sx {  color: #A5D6FF  }
body.tw-dark .cgcode .sr {  color: #79C0FF  }
body.tw-dark .cgcode .s1 {  color: #A5D6FF  }
body.tw-dark .cgcode .ss {  color: #A5D6FF  }
body.tw-dark .cgcode .bp {  color: #E6EDF3  }
body.tw-dark .cgcode .fm {  color: #D2A8FF; font-weight: bold  }
body.tw-dark .cgcode .vc {  color: #79C0FF  }
body.tw-dark .cgcode .vg {  color: #79C0FF  }
body.tw-dark .cgcode .vi {  color: #79C0FF  }
body.tw-dark .cgcode .vm {  color: #79C0FF  }
body.tw-dark .cgcode .il {  color: #A5D6FF  }

.cg-gist { background: transparent; }
.cg-gist-inner { display:flex; overflow-x:auto; padding:0; }
.cg-gist-linenos { color:#6e7681; text-align:right; padding:12px 10px 12px 16px; user-select:none; font-size:16px; margin:0; }
.cg-gist-body.cgcode { padding:12px 16px 12px 10px; font-size:16px; margin:0; background:transparent !important; }
.cg-gist-footer { border-top:1px solid #d0d7de; padding:8px 16px; font-size:16px; color:#64748b; display:flex; justify-content:space-between; margin-top:4px; }
.cg-gist-footer a { color:#334155; }
body.tw-dark .cg-gist-body.cgcode { color:#e6edf3 !important; background:transparent !important; }
body.tw-dark .cg-gist-footer { border-top-color:#30363d !important; color:#9eb0c7 !important; }
body.tw-dark .cg-gist-footer a { color:#f8fafc !important; }
&lt;/style&gt;
&lt;hr&gt;
&lt;h2&gt;Is Anthropic Stock Publicly Traded?&lt;/h2&gt;

&lt;p&gt;Anthropic is not publicly traded. It is privately held and has no ticker on a public exchange. The company confidentially filed for an IPO with the SEC in June 2026 and &lt;a href="https://www.reuters.com/business/anthropic-selects-nasdaq-ipo-business-insider-reports-2026-09-13/" rel="nofollow noopener" target="_blank"&gt;selected Nasdaq for its potential IPO&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A confidential IPO filing is part of the process of going public, but Anthropic remains privately held until its shares are publicly listed.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;When Is Anthropic's IPO?&lt;/h2&gt;

&lt;p style="margin-bottom:1rem;"&gt;Anthropic’s IPO timeline has moved more than once. It was previously expected in late September or mid-October 2026, but the latest reporting suggests the listing could be delayed until after the &lt;a href="https://www.breakingviews.com/columns/considered-view/anthropics-ipo-is-crucial-ai-gut-check-2026-09-23/" rel="nofollow noopener" target="_blank"&gt;November 2026 U.S. elections&lt;/a&gt;. Anthropic has not set a public listing date, so treat any reported timeline as provisional and check current reporting for updates.&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;
&lt;strong&gt;💡 Pro Tip:&lt;/strong&gt; CoinGecko’s &lt;a href="https://docs.coingecko.com/reference/news" target="_blank"&gt;Crypto News&lt;/a&gt; endpoint supports filtering by &lt;code&gt;coin_id&lt;/code&gt; on paid plans. Passing &lt;code&gt;coin_id=anthropic-prestocks-2&lt;/code&gt; to retrieve news related to Anthropic’s tokenized listing and monitor IPO-related updates in the same API workflow.&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;Can You Buy Anthropic Pre-IPO Shares?&lt;/h2&gt;

&lt;p&gt;CoinGecko provides market data for Anthropic’s tokenized pre-IPO asset, rather than access to the company’s private shares. Accredited investors can access private-company shares through secondary-market platforms such as Forge Global, Hiive, and EquityZen, while tokenized pre-IPO exposure is available through PreStocks.&lt;/p&gt;

&lt;p style="margin-bottom:1rem;"&gt;This article covers the tokenized option through PreStocks’ Solana token, which trades on the DEXs listed in the &lt;a href="https://docs.coingecko.com/reference/rwas-id-tickers" target="_blank"&gt;RWA Tickers&lt;/a&gt; endpoint. Each ticker can include a trade_url that points directly to the trading venue:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "market": {
    "name": "Manifest"
  },
  "trade_url": "https://app.manifest.trade/market/61mmsZUgoFNuqzXDsRH9TV2U9zc5aL1H5pKKA2pogsCC"
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;You can also view the same market data without writing code on the &lt;a href="https://www.coingecko.com/en/stocks/anthropic-pre-ipo" target="_blank"&gt;Anthropic (Pre-IPO) RWA page&lt;/a&gt; and &lt;a href="https://www.coingecko.com/en/coins/anthropic-prestocks" target="_blank"&gt;Anthropic PreStocks token page&lt;/a&gt;. Both show the tokenized market price, while the underlying Anthropic shares remain private until they are publicly listed.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Pull Anthropic's Pre-IPO Data With the CoinGecko API&lt;/h2&gt;

&lt;h3&gt;Prerequisites&lt;/h3&gt;

&lt;p&gt;You'll need a CoinGecko API key. If you don't have one, follow the guide to &lt;a href="https://docs.coingecko.com/docs/setting-up-your-api-key" target="_blank"&gt;get a free Demo API key&lt;/a&gt;. The Demo plan covers resolving the asset and reading its snapshot and issuer details below. Pulling live tickers, price history, and holder and trader data requires a paid plan from $29/month only.&lt;/p&gt;

&lt;p&gt;Your API key type must match the base URL and authentication header used in your requests:&lt;/p&gt;

&lt;div class="rgt-wrapper" style="width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0;"&gt;
&lt;table style="width:100%;min-width:500px;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.45;border:1px solid #d0d7de;"&gt;
	&lt;colgroup&gt;
		&lt;col style="width:22%;"&gt;
		&lt;col style="width:45%;"&gt;
		&lt;col style="width:33%;"&gt;
	&lt;/colgroup&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th style="padding:13px 16px;vertical-align:middle;background-color:rgb(1, 87, 92) !important;border:1px solid #d0d7de;text-align:center;"&gt;&lt;span style="color:#ffffff !important;font-weight:700;"&gt;Key type&lt;/span&gt;&lt;/th&gt;
			&lt;th style="padding:13px 16px;vertical-align:middle;background-color:rgb(1, 87, 92) !important;border:1px solid #d0d7de;text-align:center;"&gt;&lt;span style="color:#ffffff !important;font-weight:700;"&gt;Base URL&lt;/span&gt;&lt;/th&gt;
			&lt;th style="padding:13px 16px;vertical-align:middle;background-color:rgb(1, 87, 92) !important;border:1px solid #d0d7de;text-align:center;"&gt;&lt;span style="color:#ffffff !important;font-weight:700;"&gt;Header&lt;/span&gt;&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td style="padding:13px 16px;vertical-align:middle;border:1px solid #d0d7de;background:#f6f8fa !important;color:#1f2328 !important;text-align:center;font-weight:600;"&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/td&gt;
			&lt;td style="padding:13px 16px;vertical-align:middle;border:1px solid #d0d7de;background:#f6f8fa !important;color:#1f2328 !important;text-align:center;"&gt;&lt;code style="color:#1f2328 !important;background:transparent !important;"&gt;https://api.coingecko.com/api/v3&lt;/code&gt;&lt;/td&gt;
			&lt;td style="padding:13px 16px;vertical-align:middle;border:1px solid #d0d7de;background:#f6f8fa !important;color:#1f2328 !important;text-align:center;"&gt;&lt;code style="color:#1f2328 !important;background:transparent !important;"&gt;x-cg-demo-api-key&lt;/code&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="padding:13px 16px;vertical-align:middle;border:1px solid #d0d7de;background:#ffffff !important;color:#1f2328 !important;text-align:center;font-weight:600;"&gt;&lt;strong&gt;Paid&lt;/strong&gt;&lt;/td&gt;
			&lt;td style="padding:13px 16px;vertical-align:middle;border:1px solid #d0d7de;background:#ffffff !important;color:#1f2328 !important;text-align:center;"&gt;&lt;code style="color:#1f2328 !important;background:transparent !important;"&gt;https://pro-api.coingecko.com/api/v3&lt;/code&gt;&lt;/td&gt;
			&lt;td style="padding:13px 16px;vertical-align:middle;border:1px solid #d0d7de;background:#ffffff !important;color:#1f2328 !important;text-align:center;"&gt;&lt;code style="color:#1f2328 !important;background:transparent !important;"&gt;x-cg-pro-api-key&lt;/code&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;To run the &lt;a href="#run-the-full-script"&gt;full script&lt;/a&gt; included at the end of this guide, you'll need Python 3.8+. Install the official SDK and &lt;code&gt;requests&lt;/code&gt;:&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;pip install coingecko-sdk requests&lt;/code&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;body.tw-dark .cg-sdk-callout{background-color:#22272e !important;border-color:#444c56 !important;color:#adbac7 !important;}
body.tw-dark .cg-sdk-callout strong{color:#adbac7 !important;}
body.tw-dark .cg-sdk-callout a{color:#6cb6ff !important;}
&lt;/style&gt;
&lt;div class="cg-sdk-callout" style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;margin-top:14px;margin-bottom:8px;"&gt;💡 &lt;strong&gt;Prefer less setup?&lt;/strong&gt; You can call these endpoints with CoinGecko's official &lt;a href="https://docs.coingecko.com/docs/sdk-python" target="_blank"&gt;Python SDK&lt;/a&gt; or &lt;a href="https://docs.coingecko.com/docs/sdk-typescript" target="_blank"&gt;TypeScript SDK&lt;/a&gt; instead of raw HTTP requests. The SDK handles the base URL, headers, and authentication for you, so there is less boilerplate to write.&lt;/div&gt;

&lt;h3&gt;Step 1: Resolve the RWA ID&lt;/h3&gt;

&lt;p style="margin-bottom:1rem;"&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/demo/reference/rwas-list" target="_blank"&gt;RWA List&lt;/a&gt; endpoint returns every tokenized real-world asset it tracks in one unpaginated call, including Anthropic's pre-IPO listing. Pre-IPO companies use &lt;code&gt;asset_type: "stock"&lt;/code&gt;, the same value used for publicly listed tokenized equities, so there is no separate &lt;code&gt;pre-ipo&lt;/code&gt; value to filter on. Call it once to find the RWA ID you'll use throughout this guide — &lt;code&gt;anthropic-pre-ipo&lt;/code&gt;.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl -s "https://api.coingecko.com/api/v3/rwas/list" \
-H "x-cg-demo-api-key: YOUR_API_KEY" \
| jq '.[] | select(.id == "anthropic-pre-ipo")'

# Python SDK equivalent:
# pip install coingecko-sdk
# from coingecko_sdk import Coingecko
# client = Coingecko(demo_api_key="YOUR_API_KEY", environment="demo")
# rwas = client.rwas.get_list()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;Here’s what the response looks like:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "id": "anthropic-pre-ipo",
  "symbol": "anthropic",
  "name": "Anthropic (Pre-IPO)",
  "asset_type": "stock"
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 id="step-2:-pull-the-asset-snapshot"&gt;Step 2: Pull the asset snapshot&lt;/h3&gt;

&lt;p style="margin-bottom:1rem;"&gt;The &lt;a href="https://docs.coingecko.com/demo/reference/rwas-id#rwa-data-by-id" target="_blank"&gt;RWA Data by ID&lt;/a&gt; endpoint returns the asset's current tokenized market data and the &lt;code&gt;tokens[]&lt;/code&gt; array of issuer tokens behind it. For Anthropic, this market data belongs to the PreStocks token. Tokenized market data reflects activity for the tokenized asset and may differ from the underlying company's broader valuation. For more context, refer to our &lt;a href="https://www.coingecko.com/learn/tokenized-rwa-data-api-guide" target="_blank"&gt;RWA Data API Guide&lt;/a&gt;. The &lt;code&gt;tokens[]&lt;/code&gt; array currently lists PreStocks as the only issuer.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl -s "https://api.coingecko.com/api/v3/rwas/anthropic-pre-ipo?tokens=true&amp;amp;tokenized_market_data=true" \
-H "x-cg-demo-api-key: YOUR_API_KEY"

# client.rwas.get_id(id="anthropic-pre-ipo", tokens=True, tokenized_market_data=True)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;Here’s what the response looks like:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "id": "anthropic-pre-ipo",
  "tokenized_market_data": {
    "current_price": 1132.29,
    "market_cap": 8358100.63,
    "total_volume": 2519804.57
  },
  "tokens": [
    {
      "id": "anthropic-prestocks-2",
      "name": "Anthropic PreStocks",
      "issuer_details": {
        "id": "prestocks-ecosystem",
        "name": "PreStocks"
      },
      "platforms": {
        "solana": "Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw"
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3&gt;Step 3: Get issuer-level context&lt;/h3&gt;

&lt;p style="margin-bottom:1rem;"&gt;The &lt;a href="https://docs.coingecko.com/demo/reference/rwas-issuers-id#rwa-issuer-data-by-id" target="_blank"&gt;RWA Issuer Data by ID&lt;/a&gt; endpoint returns an issuer’s aggregate market cap, 24-hour volume, and every token it issues. PreStocks is currently the only issuer tokenizing Anthropic. PreStocks is currently the only issuer tokenizing Anthropic, giving you the issuer-level context, such as market cap, volume, and related tokens, to evaluate the issuer behind the tokenized asset.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl -s "https://api.coingecko.com/api/v3/rwas/issuers/prestocks-ecosystem" \
-H "x-cg-demo-api-key: YOUR_API_KEY"

# client.rwas.issuers.get_id("prestocks-ecosystem")&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;Here’s what the response looks like:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "name": "PreStocks",
  "market_cap": 20789844.84,
  "volume_24h": 4316649.02,
  "tokens": [
    {
      "name": "Anduril PreStocks"
    },
    {
      "name": "Anthropic PreStocks"
    },
    {
      "name": "Kalshi PreStocks"
    },
    {
      "name": "OpenAI PreStocks"
    },
    {
      "name": "Polymarket PreStocks"
    },
    {
      "name": "SpaceX PreStocks"
    },
    {
      "name": "xAI PreStocks"
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3&gt;Step 4: Get Live Tickers and Validate Data&lt;/h3&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/reference/rwas-id-tickers" target="_blank"&gt;RWA Tickers by ID&lt;/a&gt; endpoint (Basic Plan and above) lists every CEX and DEX venue trading the token, with &lt;code&gt;is_stale&lt;/code&gt; and &lt;code&gt;is_anomaly&lt;/code&gt; flags to help you identify quotes that may need closer review. Results are paginated at 100 tickers per page, and you can narrow them with &lt;code&gt;issuer_ids&lt;/code&gt; or &lt;code&gt;exchange_ids&lt;/code&gt; as more venues or issuers list the token.&lt;/p&gt;

&lt;p style="margin-bottom:1rem;"&gt;&lt;code&gt;cost_to_move_up_usd&lt;/code&gt; and &lt;code&gt;cost_to_move_down_usd&lt;/code&gt;, returned when you pass &lt;code&gt;depth=true&lt;/code&gt;, show the dollar cost to move a venue's price up or down by 2%. These values help indicate the available liquidity on each venue.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl -s "https://pro-api.coingecko.com/api/v3/rwas/anthropic-pre-ipo/tickers?depth=true" \
-H "x-cg-pro-api-key: YOUR_API_KEY"

# client.rwas.tickers.get(id="anthropic-pre-ipo", depth=True)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;The API returns the following:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "tickers": [
    {
      "market": {
        "name": "Meteora"
      },
      "converted_last": {
        "usd": 1105.98
      },
      "is_stale": false,
      "is_anomaly": false,
      "cost_to_move_up_usd": 393.3,
      "cost_to_move_down_usd": 392.12
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3&gt;Step 5: Pull price history&lt;/h3&gt;

&lt;p style="margin-bottom:1rem;"&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/reference/rwas-id-market-chart" target="_blank"&gt;RWA Historical Chart Data by ID&lt;/a&gt; endpoint (Basic Plan and above) returns the token's historical price, market cap, and volume as &lt;code&gt;[timestamp, value]&lt;/code&gt; arrays. &lt;code&gt;days=max&lt;/code&gt; returns the full history at daily granularity. Shorter ranges such as &lt;code&gt;days=30&lt;/code&gt; automatically use finer granularity, or you can set it explicitly with &lt;code&gt;interval&lt;/code&gt; (&lt;code&gt;5m&lt;/code&gt;, &lt;code&gt;hourly&lt;/code&gt;, or &lt;code&gt;daily&lt;/code&gt;).&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl -s "https://pro-api.coingecko.com/api/v3/rwas/anthropic-pre-ipo/market_chart?days=max" \
-H "x-cg-pro-api-key: YOUR_API_KEY"

# client.rwas.market_chart.get(id="anthropic-pre-ipo", days="max")&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;The API returns the following:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "tokenized_prices": [
    [
      1758672000000,
      144.51
    ],
    "... 371 more daily points ...",
    [
      1790812800000,
      1121.4
    ]
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Here’s the &lt;code&gt;tokenized_prices&lt;/code&gt; series charted for the last 90 days: &lt;img alt="Anthropic PreStocks tokenized price up 53.93% over 90 days, reaching $1,121.40 via the RWA market_chart endpoint." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136528/content_Anthropic_PreStocks_%281%29.webp" style="max-width: 100%; height: 767px; width: 1000px;"&gt;&lt;/p&gt;

&lt;h3&gt;Step 6: Track Who’s Holding and Trading It&lt;/h3&gt;

&lt;p&gt;The RWA suite above covers market data, while the onchain endpoints let you see who holds and trades the token. &lt;a href="https://docs.coingecko.com/reference/top-token-holders-token-address" target="_blank"&gt;Top Token Holders by Token Address&lt;/a&gt; (&lt;code&gt;top_holders&lt;/code&gt;) ranks wallets by balance, &lt;a href="https://docs.coingecko.com/reference/top-token-traders-token-address" target="_blank"&gt;Top Token Traders by Token Address&lt;/a&gt; (&lt;code&gt;top_traders&lt;/code&gt;) ranks them by realized and unrealized PnL, and &lt;a href="https://docs.coingecko.com/reference/token-holders-chart-token-address" target="_blank"&gt;Historical Token Holders Chart by Token Address&lt;/a&gt; (&lt;code&gt;holders_chart&lt;/code&gt;) tracks holder count over time. All three require the CoinGecko API Analyst Plan or above and support Anthropic PreStocks as an SPL token.&lt;/p&gt;

&lt;p style="margin-bottom:1rem;"&gt;The &lt;code&gt;holders&lt;/code&gt; and &lt;code&gt;traders&lt;/code&gt; count parameters accept &lt;code&gt;max&lt;/code&gt; to return all available wallets, while &lt;code&gt;include_pnl_details&lt;/code&gt; adds average buy price and realized and unrealized PnL to &lt;code&gt;top_holders&lt;/code&gt;.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl -s "https://pro-api.coingecko.com/api/v3/onchain/networks/solana/tokens/Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw/top_holders?holders=5" \
-H "x-cg-pro-api-key: YOUR_API_KEY"

# client.onchain.networks.tokens.top_holders.get(address="Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw", network="solana", holders="5")&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;The API returns the following:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "attributes": {
      "holders": [
        {
          "rank": 1,
          "address": "HkvpFqa3WngHoQcfLttAX4am7Ng8vezF6EEGRSbMsRj9",
          "percentage": "19.9684",
          "value": "1616759.02"
        },
        {
          "rank": 2,
          "address": "2sujbbTjp2r5ugbjfHgUNDSwtdVfYpTiCSKPgT84CvD7",
          "percentage": "6.1054",
          "value": "494329.89"
        }
      ]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 id="run-the-full-script"&gt;Run the Full Script&lt;/h3&gt;

&lt;p style="margin-bottom:1rem;"&gt;The full workflow is combined into one script, from resolving the Anthropic asset to pulling its market and wallet data.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"COINGECKO_PRO_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"https://pro-api.coingecko.com/api/v3"&lt;/span&gt;
&lt;span class="n"&gt;HEADERS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"x-cg-pro-api-key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;RWA_ID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"anthropic-pre-ipo"&lt;/span&gt;
&lt;span class="n"&gt;TOKEN_ADDRESS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw"&lt;/span&gt;
&lt;span class="n"&gt;NETWORK&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"solana"&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;resolve_rwa_id&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/list"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.rwas.get_list()&lt;/span&gt;
    &lt;span class="n"&gt;match&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;next&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;RWA_ID&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="ne"&gt;SystemExit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;RWA_ID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; not found in /rwas/list"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_asset_snapshot&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;RWA_ID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.rwas.get_id(id=RWA_ID, tokens=True, tokenized_market_data=True)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_issuer_snapshot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;issuer_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/issuers/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.rwas.issuers.get_id(issuer_id)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_live_tickers&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;RWA_ID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/tickers"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.rwas.tickers.get(id=RWA_ID)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s2"&gt;"tickers"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_price_history&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"30"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;RWA_ID&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/market_chart"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"days"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.rwas.market_chart.get(id=RWA_ID, days=days)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_holder_and_trader_activity&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;onchain_base&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/onchain/networks/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;NETWORK&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/tokens/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;TOKEN_ADDRESS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;holders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;onchain_base&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/top_holders"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"holders"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"5"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="n"&gt;holders&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.onchain.networks.tokens.top_holders.get(address=TOKEN_ADDRESS, network=NETWORK, holders="5")&lt;/span&gt;
    &lt;span class="n"&gt;traders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;onchain_base&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/top_traders"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"traders"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"5"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="n"&gt;traders&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.onchain.networks.tokens.top_traders.get(token_address=TOKEN_ADDRESS, network_id=NETWORK, traders="5")&lt;/span&gt;
    &lt;span class="n"&gt;chart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;onchain_base&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/holders_chart"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"days"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"30"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="n"&gt;chart&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="c1"&gt;# client.onchain.networks.tokens.holders_chart.get(token_address=TOKEN_ADDRESS, network=NETWORK, days="30")&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;holders&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;traders&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;chart&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;listing&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;resolve_rwa_id&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Resolved: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;listing&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; (&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;listing&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;), asset_type=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;listing&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'asset_type'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;asset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_asset_snapshot&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;market&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;asset&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;token&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;asset&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Tokenized price: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;market&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'current_price'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Tokenized market cap: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;market&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'market_cap'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"24h volume: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;market&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'total_volume'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Issued by: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'issuer_details'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; on &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'platforms'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;())[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;issuer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_issuer_snapshot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"issuer_details"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; issuer profile:"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  Market cap: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'market_cap'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  24h volume: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'volume_24h'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  Tokenizes &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'tokens'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; assets total"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;tickers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_live_tickers&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tickers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; live venue tickers:"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tickers&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="n"&gt;flags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"is_stale"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="n"&gt;flags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"STALE"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"is_anomaly"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="n"&gt;flags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"ANOMALY"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;flag_str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;" [&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;', '&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;flags&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;]"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;flags&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;
        &lt;span class="n"&gt;usd_price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"converted_last"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"usd"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# not every venue quotes a USD pair&lt;/span&gt;
        &lt;span class="n"&gt;price_str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"$&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;usd_price&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;usd_price&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"n/a"&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'market'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;price_str&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="n"&gt;flag_str&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;history&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_price_history&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"30"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;prices&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;history&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_prices"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; price points over the last 30 days"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  First: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  Last:  &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;holders&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;traders&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;holders_chart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_holder_and_trader_activity&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;holder_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;holders&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"holders"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;trader_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;traders&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"traders"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;holder_counts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;holders_chart&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"token_holders_list"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;Top holder controls &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;holder_list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'percentage'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;% of supply"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Top trader realized PnL: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;trader_list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'realized_pnl_usd'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Holder count: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;holder_counts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; -&amp;gt; &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;holder_counts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; over the window"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/anthropic-pre-ipo-data-api-guide/anthropic_pre_ipo_data.py" rel="noopener nofollow" target="_blank"&gt;anthropic_pre_ipo_data.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/anthropic-pre-ipo-data-api-guide/anthropic_pre_ipo_data.py" rel="noopener nofollow" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;Output from an actual run:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;Resolved: Anthropic (Pre-IPO) (anthropic-pre-ipo), asset_type=stock
Tokenized price: $1,020.85
Tokenized market cap: $7,841,526.32
24h volume: $266,963.52
Issued by: PreStocks on solana

PreStocks issuer profile:
Market cap: $20,968,013.06
24h volume: $395,704.51
Tokenizes 7 assets total

12 live venue tickers:
Meteora: $1,021.46
Meteora: $1,020.99
Manifest: $1,021.46
Manifest: $1,013.53
Raydium (CLMM): $1,021.46

721 price points over the last 30 days
First: [1788832800000, 945.8220743674624]
Last:  [1791424800000, 1023.3513998586911]

Top holder controls 19.1892% of supply
Top trader realized PnL: $976,164.24
Holder count: 29077 -&amp;gt; 58205 over the window&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;How to Monitor Anthropic's Pre-IPO Data In Real-Time&lt;/h2&gt;

&lt;h3&gt;Stream live price and trades via WebSocket&lt;/h3&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/websocket" target="_blank"&gt;WebSocket&lt;/a&gt; (Basic Plan and above) streams price and trade updates continuously, so you can receive updates without polling.&lt;/p&gt;

&lt;p&gt;Connect to &lt;code&gt;wss://stream.coingecko.com/v1?x_cg_pro_api_key=YOUR_API_KEY&lt;/code&gt;, then subscribe to three channels:&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;a href="https://docs.coingecko.com/websocket/onchainsimpletokenprice" target="_blank"&gt;OnchainSimpleTokenPrice&lt;/a&gt; for live price updates. It uses a &lt;code&gt;network_id:token_address&lt;/code&gt; pair.&lt;/li&gt;
	&lt;li&gt;
&lt;a href="https://docs.coingecko.com/websocket/onchaintrade" target="_blank"&gt;OnchainTrade&lt;/a&gt; for live DEX trade updates. It uses a &lt;code&gt;network_id:pool_addresses&lt;/code&gt; field.&lt;/li&gt;
	&lt;li&gt;
&lt;a href="https://docs.coingecko.com/websocket/onchainohlcv" target="_blank"&gt;OnchainOHLCV&lt;/a&gt; for live candlestick data, letting you stream candles directly into a chart instead of building them yourself from ticks. It uses a &lt;code&gt;network_id:pool_addresses&lt;/code&gt; field, an &lt;code&gt;interval&lt;/code&gt;, and a &lt;code&gt;token&lt;/code&gt; side.&lt;/li&gt;
&lt;/ul&gt;

&lt;p style="margin-bottom:1rem;"&gt;After connecting, send these two messages in order. The first subscribes to the channel, and the second specifies which token to watch.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{"command":"subscribe","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}"}
{"command":"message","identifier":"{\"channel\":\"OnchainSimpleTokenPrice\"}","data":"
{\"network_id:token_addresses\":
[\"solana:Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw\"],\"action\":\"set_tokens\"}"}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style="margin-bottom:1rem;"&gt;The same pattern applies to OnchainOHLCV, with a different channel name and response fields.&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{"command":"subscribe","identifier":"{\"channel\":\"OnchainOHLCV\"}"}
{"command":"message","identifier":"{\"channel\":\"OnchainOHLCV\"}","data":"
{\"network_id:pool_addresses\":
[\"solana:EZyszDEx1LZDt7TsSFV8xdPi49sDKC3mdfv2MVMEQLtU\"],\"interval\":\"1h\",\"token\":\"base\",\"action\":\"set_pools\"}"}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Once subscribed, an example live feed looks like this:&lt;/p&gt;

&lt;p&gt;&lt;img alt="Live OnchainOHLCV WebSocket feed showing Anthropic PreStocks 1h candles and a forming $1,002.73 bar." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136529/original_websocket_%28new%29.gif" style="max-width: 100%; height: 631px; width: 800px;"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.coingecko.com/reference/rwa-overview" rel="noopener" target="_blank"&gt;&lt;img alt="CoinGecko API CTA banner for accessing tokenized stocks, ETFs, and RWAs." height="235" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136530/content_Subcribe_to_CoinGecko_API_CTA_-_rwa_%282%29.webp" style="max-width:100%;height:auto;" width="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Get notified about asset changes via Webhook&lt;/h3&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/webhooks" target="_blank"&gt;webhooks&lt;/a&gt; (Basic Plan and above) push updates directly to your endpoint, so you receive them automatically.&lt;/p&gt;

&lt;p&gt;The webhook &lt;a href="https://docs.coingecko.com/webhooks/cg-coin-info-updated" target="_blank"&gt;cg.coin.info.updated&lt;/a&gt; event triggers when indexed coin metadata changes, including ticker, name, categorization, security notices, or contract addresses. For tokens that can migrate contracts, this provides a way to detect contract-address changes without polling.&lt;/p&gt;

&lt;p&gt;Here’s what the notification can look like:&lt;/p&gt;

&lt;p&gt;&lt;img alt="CoinGecko webhook delivery log showing a cg.coin.info.updated event posted with a 200 status." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136531/original_webhook_new.gif" style="max-width: 100%; height: 525px; width: 800px;"&gt;&lt;/p&gt;

&lt;p&gt;For a step-by-step guide to setting up CoinGecko webhooks, see &lt;a href="https://www.coingecko.com/learn/how-to-get-real-time-crypto-updates-via-webhook" target="_blank"&gt;How to Get Real-Time Crypto Updates via Webhook&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api/pricing" rel="noopener" target="_blank"&gt;&lt;img alt="Real-time crypto events across 360+ networks from $29 per month - subscribe CoinGecko API now! " loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136535/content_Subcribe_to_CoinGecko_API_CTA_-_webhook_%28user-led%29_%281%29.webp" style="max-width: 100%; height: 235px; width: 1200px;"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Read Anthropic's Tokenized Data&lt;/h2&gt;

&lt;p&gt;The numbers above are real market data, but they represent different things. &lt;a href="#step-2:-pull-the-asset-snapshot"&gt;The asset snapshot in Step 2&lt;/a&gt; showed that the tokenized market cap and Anthropic's company valuation are different numbers. The tokenized market cap reflects the token's market price and circulating supply, while Anthropic's valuation comes from its funding rounds. Neither figure represents the other, so changes in the tokenized market cap do not directly indicate changes in Anthropic's company valuation. For more context on how tokenized prices compare with company valuations and perpetual futures, read our &lt;a href="https://www.coingecko.com/learn/crypto-pre-ipo-trading-anthropic-openai-perps" target="_blank"&gt;analysis of Anthropic and OpenAI's crypto-enabled pre-IPO markets&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;CoinGecko's RWA data gives you the tokenized market price directly, so you can use the data to make your own comparisons with an external benchmark. This applies across the RWA product, including tokenized versions of publicly listed companies such as NVIDIA.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;With CoinGecko's API, you can build a data pipeline for Anthropic's tokenized pre-IPO asset, from discovering the asset and issuer to pulling live market data, historical prices, and wallet-level holder and trader activity. The same API endpoints extend to other PreStocks tokenized pre-IPO assets, as well as tokenized stocks and ETFs more broadly.&lt;/p&gt;

&lt;p&gt;You can also pull the same data for OpenAI, SpaceX, and the rest of PreStocks' pre-IPO lineup using the &lt;a href="https://www.coingecko.com/learn/tokenized-rwa-data-api-guide" target="_blank"&gt;RWA Data API Guide&lt;/a&gt;. For a different use case, see this &lt;a href="https://www.coingecko.com/learn/get-token-holders" target="_blank"&gt;worked example of tracking who holds and trades a token&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ready to start building? Sign up for a &lt;a href="https://docs.coingecko.com/docs/setting-up-your-api-key" target="_blank"&gt;free Demo API plan&lt;/a&gt; today to start tracking tokenized RWA assets and issuers, including live tokenized price and market cap. As your application scales, upgrade to a &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;CoinGecko API paid plan&lt;/a&gt; for the higher limits and access needed to run production workloads, including live market updates, historical data, WebSocket and webhook delivery, and wallet-level holder and trader tracking.&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/anthropic-pre-ipo-data-api-guide?locale=en</url>
    <summary>.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &amp;amp;gt; p {
  color: inherit !important...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135781</id>
    <published>2026-10-06T02:13:17Z</published>
    <updated>2026-10-06T04:17:33Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/how-are-real-world-assets-tokenized-in-hong-kong?locale=en"/>
    <title>How Are Real World Assets Tokenized in Hong Kong?</title>
    <content type="html">&lt;div&gt;&lt;img alt="RWA Tokenization HK" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136526/content_RWA_HK.webp" style="width: 1200px; height: 628px;"&gt;&lt;/div&gt;

&lt;h3&gt;Key Takeaways&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;The &lt;a href="https://www.coingecko.com/en/rwa" target="_blank"&gt;RWA market&lt;/a&gt; has grown rapidly. The question now is how tokenized products can be issued, sold, and repaid in practice.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;In the model examined here, an offshore vehicle issues a product backed by underlying assets, while a licensed Hong Kong intermediary sells it to overseas professional investors. Investors buy the issuer’s product, not the assets themselves.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;A successful sale does not ensure repayment. The issuer must have an enforceable right to the assets’ cash flows, and those funds must arrive in time to meet its obligations to investors.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;The test comes after the first issuance: can the same structure support another product? A lasting market needs a steady supply of assets and investors willing to return.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;1. The RWA Market Has Grown. What Comes Next?&lt;/h2&gt;

&lt;div&gt;&lt;img alt="Growth of tokenized RWA market" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136471/content_1.webp" style="width: 1200px; height: 818px;"&gt;&lt;/div&gt;

&lt;p&gt;According to &lt;a href="https://app.rwa.xyz/" rel="nofollow noopener" target="_blank"&gt;RWA.xyz&lt;/a&gt;, the RWA market grew from about $1.5 billion in August 2023 to about $38.86 billion on September 13, 2026, an increase of roughly 26 times. More types of assets are being tokenized, while governments are developing rules for their issuance and sale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The growth is clear. The next question is how to turn an asset into a product that investors can actually buy and, ultimately, be repaid from.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;2. Where Should Tokenization Take Place?&lt;/h2&gt;

&lt;p&gt;Jurisdictions are introducing rules for tokenized assets, but their requirements and pace differ. Where a product is issued can therefore affect how quickly it reaches the market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hong Kong offers an established security's framework, access to international investors, and experience with tokenized bond issuance, including government bonds. Its licensing and investor protection requirements give issuers and intermediaries a framework for bringing products to market.&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;&lt;img alt="Hong Kong Key Tokenization Requirements" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136472/content_2.webp" style="width: 1200px; height: 728px;"&gt;&lt;/div&gt;

&lt;p&gt;Hong Kong has set out rules for the key stages of tokenization, from SFC licensing and VASP regulation to technical safeguards. This clarity helps firms plan issuances and gives institutional investors a framework for assessing their protections. It is one reason Hong Kong is attracting attention as a hub for RWA issuance and distribution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How, then, can assets from another country reach overseas investors through Hong Kong? We examine the process using Korean assets as an example.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;3. How the Korea–Hong Kong Structure Works&lt;/h2&gt;

&lt;div&gt;&lt;strong&gt;&lt;img alt="Finloop's dual engine model" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136474/content_3.webp" style="width: 1200px; height: 966px;"&gt;&lt;/strong&gt;&lt;/div&gt;

&lt;p&gt;The structure diagram has two sides. Korea, where the underlying assets are sourced, is on the left. Hong Kong and the British Virgin Islands (BVI), where the product is issued and sold, are on the right.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The black arrows trace the product structure.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Korean securities firm:&lt;/strong&gt; Provides a channel for purchasing underlying assets, such as listed stocks, fund units, and notes.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;BVI special purpose vehicle (SPV):&lt;/strong&gt; Purchases and holds those assets through a brokerage account with the Korean securities firm’s Hong Kong entity, then issues notes backed by them.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Tokenization platform:&lt;/strong&gt; Creates tokens representing the notes issued by the SPV and records their issuance and ownership.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Distributors:&lt;/strong&gt; Offer the product to overseas professional investors through licensed intermediaries and eligible trading venues.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The orange arrows trace the subscription funds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Overseas professional investors subscribe using fiat currency or stablecoins. The funds reach the SPV through the intermediary. Where subscriptions are made in stablecoins, the SPV converts them into fiat currency through a CEX. The proceeds then pass through the Hong Kong entity to the Korean securities firm, which purchases the underlying assets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.finloop.com/" rel="nofollow noopener" target="_blank"&gt;Finloop&lt;/a&gt;, a Hong Kong financial technology company, calls this its dual-engine model. One side sources the assets; the other issues and distributes the product. Three features matter most.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;The source of assets can change.&lt;/strong&gt; A securities firm in another country and its Hong Kong entity could take the place of the Korean firms. Hong Kong could then serve as a distribution channel for products backed by assets from several markets.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;The SPV sits at the center.&lt;/strong&gt; It receives subscription funds, purchases or holds the assets, and issues the notes. Investors have a claim under the SPV’s product terms, so the SPV’s rights to the assets and its ability to pass on their returns are critical.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;The SPV connects blockchain payments with conventional finance.&lt;/strong&gt; Investors may subscribe in stablecoins and hold tokenized notes, while the assets are purchased and held through brokerage and custody arrangements.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The structure succeeds only if those links hold. That requires a suitable underlying asset, a sound issuance structure, and a lawful route to investors.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;3.1. Choosing the Underlying Asset&lt;/h3&gt;

&lt;div&gt;&lt;img alt="Cash collection paths to offshore issuer" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136475/content_4.webp" style="width: 1200px; height: 710px;"&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Before issuing a product, the SPV needs a clear legal right to receive the money generated by the underlying assets.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For government bonds or fund units, the question may be whether the SPV can purchase and own them directly. For export receivables or music royalties, the position is more complex. The right to collect future payments may need to be transferred to the SPV, or the asset holder may need a binding obligation to collect the money and remit it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In either case, the contracts must establish who is entitled to the cash, who collects it, and how it reaches the SPV. Without a clear collection path, an asset cannot reliably support payments to investors.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;3.2. What Does the Offshore Issuer Create?&lt;/h3&gt;

&lt;div&gt;&lt;img alt="Tokenized product issuance via offshore SPV" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136476/content_5.webp" style="width: 1200px; height: 515px;"&gt;&lt;/div&gt;

&lt;p&gt;In this model, tokenization centers on the SPV. Even after the underlying Korean asset has been selected, a separate entity is needed to issue the tokens and distribute the proceeds to overseas investors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finloop’s dual-engine model places that role with a special purpose vehicle (SPV) incorporated in the British Virgin Islands (BVI). The SPV is the link between holders of Korean assets and overseas investors.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The SPV issues tokenized notes or securities backed by rights to income from the Korean assets. Overseas investors therefore buy a financial product issued by the SPV, rather than the Korean government bonds or export receivables themselves. Under the product terms, the SPV pays investors their income and repays principal at maturity.&lt;/p&gt;

&lt;p&gt;For the structure to work reliably, the SPV’s incoming cash must be timed to meet its payments to investors. The issuer first needs to establish when each underlying asset will pay: interest and principal on government bonds, fund distributions and redemption proceeds, or settlement payments on export receivables and royalties.&lt;/p&gt;

&lt;p&gt;If investors are due to be repaid before the SPV collects those funds, the product could face a liquidity shortfall or delayed repayment.&lt;/p&gt;

&lt;p&gt;Incorporating an SPV offshore does not automatically give it access to cash generated by Korean assets. The contracts must specify the SPV’s legal rights to the underlying assets, who collects the cash, and who is responsible for remitting it to the SPV. The tokenization platform, meanwhile, keeps a transparent record of the amount issued, token holdings, and tokens burned.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The central task at the offshore issuance stage is to ensure that the cash the SPV can actually collect is sufficient and arrives in time to meet the payment terms promised to investors.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;3.3. How Widely Can the Product Circulate After Its Sale in Hong Kong?&lt;/h3&gt;

&lt;div&gt;&lt;img alt="Prerequisites for distribution beyond HK" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136477/content_6.webp" style="width: 1200px; height: 493px;"&gt;&lt;/div&gt;

&lt;p&gt;Creating a product through an offshore SPV is only one step. To sell it to overseas investors, the issuer also needs a financial institution to handle its distribution. Finloop proposes using a licensed Hong Kong intermediary, which can review the product under Hong Kong securities rules, offer it to professional investors, and reach investors outside Hong Kong.&lt;/p&gt;

&lt;p&gt;The intermediary reviews the terms and risks of the SPV’s product and confirms that each investor is eligible to buy it. If the offering is restricted to professional investors, token transfers must remain restricted after issuance. The product terms therefore limit transfers to buyers whose eligibility has been verified. This is how Finloop proposes to structure its private placement products; the restriction does not apply to every tokenized security in Hong Kong.&lt;/p&gt;

&lt;p&gt;Finloop also proposes making products first sold in Hong Kong available through intermediaries and trading venues in other regions. An initial sale in Hong Kong, however, does not automatically permit sales or trading elsewhere. The rules of each market must be assessed separately. Investors who want to sell before maturity also need a willing buyer and a way to determine the price. Using the product as collateral requires an institution willing to accept it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this structure, Hong Kong provides the route for the initial sale and investor eligibility checks. Sales and trading in other regions, as well as use as collateral, each require separate arrangements.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;4. Three Risks That Could Interrupt Payments from Korean Assets to Investors&lt;/h2&gt;

&lt;div&gt;&lt;img alt="3 ways cash fails to reach investors" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136478/content_7.webp" style="width: 1200px; height: 629px;"&gt;&lt;/div&gt;

&lt;p&gt;A tokenized product may sell successfully in Hong Kong and still fail to pay investors as promised. The cash generated by the underlying assets must reach them through the offshore issuing vehicle (SPV). Three risks could disrupt that flow.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Unclear rights and collection arrangements:&lt;/strong&gt; For assets such as export receivables, the contracts must specify where the buyer pays and who is entitled to receive the money. Unless the collection obligations and settlement process are legally binding, payments from the assets may never reach the SPV.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;A gap between cash collection and repayment:&lt;/strong&gt; If investors must be repaid before the underlying assets settle, the SPV may face a liquidity shortfall and delay repayment. When won-denominated assets back a dollar-denominated product, exchange rate movements and conversion costs can also reduce returns.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Cross-border transfer and tax bottlenecks:&lt;/strong&gt; A Hong Kong intermediary’s authorization to sell the product does not resolve how funds move from Korean asset holders to the offshore SPV or how payments are made to overseas investors. Those transfer and tax procedures must work in practice.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The model ultimately depends on whether cash from the Korean assets can pass through the SPV and reach overseas investors in full and on time, as the contracts promise.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;5. The Second Issuance Matters More Than the First&lt;/h2&gt;

&lt;p&gt;Selling a product backed by Korean assets in Hong Kong once is only a starting point. The first issuance takes time: the parties must review the assets, finalize the contracts, and decide how the product will be sold.&lt;/p&gt;

&lt;p&gt;If they have to repeat that work from scratch for every new product, the business will struggle to scale. From the second issuance onward, they need to be able to reuse the structure established for the first deal.&lt;/p&gt;

&lt;p&gt;Dollar-settled export receivables offer a way to test whether that is possible. The issuer and intermediary could apply the debtor assessment criteria and product disclosure approach developed for the first deal to later receivables, reducing the work needed to design each product. Applying the same criteria does not, however, mean that every receivable carries the same risk.&lt;/p&gt;

&lt;p&gt;To judge whether the model can support a lasting market, three developments matter:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;Does the time needed to review assets fall with each issuance?&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Do existing investors return for new products?&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Do asset holders have a reason to keep supplying assets?&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As experience with export receivables grows, the model could extend to other Korean assets. Its success will depend on more than one completed issuance. Asset holders must continue to supply suitable assets, investors must be willing to reinvest, and intermediaries must see value in bringing new products to market.&lt;/p&gt;

&lt;hr&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="https://reports.tiger-research.com/subscribe?utm_source=coingecko&amp;amp;utm_medium=post&amp;amp;utm_campaign=" target="_blank"&gt;Dive deep into Asia’s Web3 market with Tiger Research.&lt;br&gt;
Be among the 23,000+ pioneers who receive exclusive market insights.&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h3&gt;Disclaimer&lt;/h3&gt;

&lt;p&gt;This report has been prepared based on materials believed to be reliable. However, we do not expressly or impliedly warrant the accuracy, completeness, and suitability of the information. We disclaim any liability for any losses arising from the use of this report or its contents. The conclusions and recommendations in this report are based on information available at the time of preparation and are subject to change without notice. All projects, estimates, forecasts, objectives, opinions, and views expressed in this report are subject to change without notice and may differ from or be contrary to the opinions of others or other organizations.&lt;/p&gt;

&lt;p&gt;This document is for informational purposes only and should not be considered legal, business, investment, or tax advice. Any references to securities or digital assets are for illustrative purposes only and do not constitute an investment recommendation or an offer to provide investment advisory services. This material is not directed at investors or potential investors.&lt;/p&gt;

&lt;h3&gt;Terms of Usage&lt;/h3&gt;

&lt;p&gt;Tiger Research allows the fair use of its reports. ‘Fair use’ is a principle that broadly permits the use of specific content for public interest purposes, as long as it doesn’t harm the commercial value of the material. If the use aligns with the purpose of fair use, the reports can be utilized without prior permission. However, when citing Tiger Research’s reports, it is mandatory to 1) clearly state ‘Tiger Research’ as the source, 2) include the Tiger Research &lt;a href="https://drive.google.com/drive/folders/1wDipGyey04EqFO6yZU90ZIe-jsKCDaqR" rel="nofollow noopener" target="_blank"&gt;logo&lt;/a&gt;. If the material is to be restructured and published, separate negotiations are required. Unauthorized use of the reports may result in legal action.&lt;/p&gt;
</content>
    <author>
      <name>Tiger Research</name>
    </author>
    <url>https://www.coingecko.com/learn/how-are-real-world-assets-tokenized-in-hong-kong?locale=en</url>
    <summary>

Key Takeaways


	
	The RWA market has grown rapidly. The question now is how tokenized products can be issued, sold, and repaid in practice.
	
	
	In the model examined here, an offshore vehicle i...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135783</id>
    <published>2026-10-02T09:40:29Z</published>
    <updated>2026-10-05T04:14:21Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/track-crypto-wallet-transactions-balances-pnl?locale=en"/>
    <title>How to Track Crypto Wallet Transactions, Balances, Profits &amp; Loss</title>
    <content type="html">&lt;style type="text/css"&gt;pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.cgcode .hll { background-color: #ffffcc }
.cgcode { background: #f8f8f8; }
.cgcode .c { color: #3D7B7B; font-style: italic } /* Comment */
.cgcode .err { border: 1px solid #F00 } /* Error */
.cgcode .k { color: #008000; font-weight: bold } /* Keyword */
.cgcode .o { color: #666 } /* Operator */
.cgcode .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.cgcode .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.cgcode .cp { color: #9C6500 } /* Comment.Preproc */
.cgcode .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.cgcode .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.cgcode .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.cgcode .gd { color: #A00000 } /* Generic.Deleted */
.cgcode .ge { font-style: italic } /* Generic.Emph */
.cgcode .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.cgcode .gr { color: #E40000 } /* Generic.Error */
.cgcode .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.cgcode .gi { color: #008400 } /* Generic.Inserted */
.cgcode .go { color: #717171 } /* Generic.Output */
.cgcode .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.cgcode .gs { font-weight: bold } /* Generic.Strong */
.cgcode .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.cgcode .gt { color: #04D } /* Generic.Traceback */
.cgcode .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.cgcode .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.cgcode .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.cgcode .kp { color: #008000 } /* Keyword.Pseudo */
.cgcode .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.cgcode .kt { color: #B00040 } /* Keyword.Type */
.cgcode .m { color: #666 } /* Literal.Number */
.cgcode .s { color: #BA2121 } /* Literal.String */
.cgcode .na { color: #687822 } /* Name.Attribute */
.cgcode .nb { color: #008000 } /* Name.Builtin */
.cgcode .nc { color: #00F; font-weight: bold } /* Name.Class */
.cgcode .no { color: #800 } /* Name.Constant */
.cgcode .nd { color: #A2F } /* Name.Decorator */
.cgcode .ni { color: #717171; font-weight: bold } /* Name.Entity */
.cgcode .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.cgcode .nf { color: #00F } /* Name.Function */
.cgcode .nl { color: #767600 } /* Name.Label */
.cgcode .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.cgcode .nt { color: #008000; font-weight: bold } /* Name.Tag */
.cgcode .nv { color: #19177C } /* Name.Variable */
.cgcode .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.cgcode .w { color: #BBB } /* Text.Whitespace */
.cgcode .mb { color: #666 } /* Literal.Number.Bin */
.cgcode .mf { color: #666 } /* Literal.Number.Float */
.cgcode .mh { color: #666 } /* Literal.Number.Hex */
.cgcode .mi { color: #666 } /* Literal.Number.Integer */
.cgcode .mo { color: #666 } /* Literal.Number.Oct */
.cgcode .sa { color: #BA2121 } /* Literal.String.Affix */
.cgcode .sb { color: #BA2121 } /* Literal.String.Backtick */
.cgcode .sc { color: #BA2121 } /* Literal.String.Char */
.cgcode .dl { color: #BA2121 } /* Literal.String.Delimiter */
.cgcode .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.cgcode .s2 { color: #BA2121 } /* Literal.String.Double */
.cgcode .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.cgcode .sh { color: #BA2121 } /* Literal.String.Heredoc */
.cgcode .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.cgcode .sx { color: #008000 } /* Literal.String.Other */
.cgcode .sr { color: #A45A77 } /* Literal.String.Regex */
.cgcode .s1 { color: #BA2121 } /* Literal.String.Single */
.cgcode .ss { color: #19177C } /* Literal.String.Symbol */
.cgcode .bp { color: #008000 } /* Name.Builtin.Pseudo */
.cgcode .fm { color: #00F } /* Name.Function.Magic */
.cgcode .vc { color: #19177C } /* Name.Variable.Class */
.cgcode .vg { color: #19177C } /* Name.Variable.Global */
.cgcode .vi { color: #19177C } /* Name.Variable.Instance */
.cgcode .vm { color: #19177C } /* Name.Variable.Magic */
.cgcode .il { color: #666 } /* Literal.Number.Integer.Long */
body.tw-dark pre { line-height: 125%; }
body.tw-dark td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body.tw-dark span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body.tw-dark td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body.tw-dark span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body.tw-dark .cgcode .hll { background-color: #6e7681 }
body.tw-dark .cgcode { background: #0d1117; color: #E6EDF3 }
body.tw-dark .cgcode .c { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .err { color: #F85149 }
body.tw-dark .cgcode .esc { color: #E6EDF3 }
body.tw-dark .cgcode .g { color: #E6EDF3 }
body.tw-dark .cgcode .k { color: #FF7B72 }
body.tw-dark .cgcode .l { color: #A5D6FF }
body.tw-dark .cgcode .n { color: #E6EDF3 }
body.tw-dark .cgcode .o { color: #FF7B72; font-weight: bold }
body.tw-dark .cgcode .x { color: #E6EDF3 }
body.tw-dark .cgcode .p { color: #E6EDF3 }
body.tw-dark .cgcode .ch { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .cm { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .cp { color: #8B949E; font-weight: bold; font-style: italic }
body.tw-dark .cgcode .cpf { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .c1 { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .cs { color: #8B949E; font-weight: bold; font-style: italic }
body.tw-dark .cgcode .gd { color: #FFA198; background-color: #490202 }
body.tw-dark .cgcode .ge { color: #E6EDF3; font-style: italic }
body.tw-dark .cgcode .ges { color: #E6EDF3; font-weight: bold; font-style: italic }
body.tw-dark .cgcode .gr { color: #FFA198 }
body.tw-dark .cgcode .gh { color: #79C0FF; font-weight: bold }
body.tw-dark .cgcode .gi { color: #56D364; background-color: #0F5323 }
body.tw-dark .cgcode .go { color: #8B949E }
body.tw-dark .cgcode .gp { color: #8B949E }
body.tw-dark .cgcode .gs { color: #E6EDF3; font-weight: bold }
body.tw-dark .cgcode .gu { color: #79C0FF }
body.tw-dark .cgcode .gt { color: #FF7B72 }
body.tw-dark .cgcode .g-Underline { color: #E6EDF3; text-decoration: underline }
body.tw-dark .cgcode .kc { color: #79C0FF }
body.tw-dark .cgcode .kd { color: #FF7B72 }
body.tw-dark .cgcode .kn { color: #FF7B72 }
body.tw-dark .cgcode .kp { color: #79C0FF }
body.tw-dark .cgcode .kr { color: #FF7B72 }
body.tw-dark .cgcode .kt { color: #FF7B72 }
body.tw-dark .cgcode .ld { color: #79C0FF }
body.tw-dark .cgcode .m { color: #A5D6FF }
body.tw-dark .cgcode .s { color: #A5D6FF }
body.tw-dark .cgcode .na { color: #E6EDF3 }
body.tw-dark .cgcode .nb { color: #E6EDF3 }
body.tw-dark .cgcode .nc { color: #F0883E; font-weight: bold }
body.tw-dark .cgcode .no { color: #79C0FF; font-weight: bold }
body.tw-dark .cgcode .nd { color: #D2A8FF; font-weight: bold }
body.tw-dark .cgcode .ni { color: #FFA657 }
body.tw-dark .cgcode .ne { color: #F0883E; font-weight: bold }
body.tw-dark .cgcode .nf { color: #D2A8FF; font-weight: bold }
body.tw-dark .cgcode .nl { color: #79C0FF; font-weight: bold }
body.tw-dark .cgcode .nn { color: #FF7B72 }
body.tw-dark .cgcode .nx { color: #E6EDF3 }
body.tw-dark .cgcode .py { color: #79C0FF }
body.tw-dark .cgcode .nt { color: #7EE787 }
body.tw-dark .cgcode .nv { color: #79C0FF }
body.tw-dark .cgcode .ow { color: #FF7B72; font-weight: bold }
body.tw-dark .cgcode .pm { color: #E6EDF3 }
body.tw-dark .cgcode .w { color: #6E7681 }
body.tw-dark .cgcode .mb { color: #A5D6FF }
body.tw-dark .cgcode .mf { color: #A5D6FF }
body.tw-dark .cgcode .mh { color: #A5D6FF }
body.tw-dark .cgcode .mi { color: #A5D6FF }
body.tw-dark .cgcode .mo { color: #A5D6FF }
body.tw-dark .cgcode .sa { color: #79C0FF }
body.tw-dark .cgcode .sb { color: #A5D6FF }
body.tw-dark .cgcode .sc { color: #A5D6FF }
body.tw-dark .cgcode .dl { color: #79C0FF }
body.tw-dark .cgcode .sd { color: #A5D6FF }
body.tw-dark .cgcode .s2 { color: #A5D6FF }
body.tw-dark .cgcode .se { color: #79C0FF }
body.tw-dark .cgcode .sh { color: #79C0FF }
body.tw-dark .cgcode .si { color: #A5D6FF }
body.tw-dark .cgcode .sx { color: #A5D6FF }
body.tw-dark .cgcode .sr { color: #79C0FF }
body.tw-dark .cgcode .s1 { color: #A5D6FF }
body.tw-dark .cgcode .ss { color: #A5D6FF }
body.tw-dark .cgcode .bp { color: #E6EDF3 }
body.tw-dark .cgcode .fm { color: #D2A8FF; font-weight: bold }
body.tw-dark .cgcode .vc { color: #79C0FF }
body.tw-dark .cgcode .vg { color: #79C0FF }
body.tw-dark .cgcode .vi { color: #79C0FF }
body.tw-dark .cgcode .vm { color: #79C0FF }
body.tw-dark .cgcode .il { color: #A5D6FF }

/* gist-look code block chrome */
.cg-gist { background: transparent; }
.cg-gist-linenos { color:#6e7681; }
.cg-gist-footer { color:#64748b; border-top-color:#d0d7de; }
.cg-gist-footer a { color:#334155; }
.cgcode.cg-gist-body { background: transparent !important; }
body.tw-dark .cg-gist-linenos { color:#6e7681 !important; }
body.tw-dark .cg-gist-footer { color:#9eb0c7 !important; border-top-color:#30363d !important; }
body.tw-dark .cg-gist-footer a { color:#f8fafc !important; }
body.tw-dark .cgcode.cg-gist-body { background: transparent !important; }

/* TL;DR green box - dark mode */
.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 { color: inherit !important; }
.tw-dark .cg-tldr-box &gt; p { color: inherit !important; }
.tw-dark .cg-tldr-box &gt; ul { color: inherit !important; }

/* inline command / callout grey-box - light-mode code color + dark-mode fix */
div[style*="background:#eeeeee"] code {
  color: #000000 !important;
}
body.tw-dark div[style*="background:#eeeeee"],
body.tw-dark p[style*="background:#eeeeee"] {
  background: #eeeeee !important;
  border-color: #cccccc !important;
  color: #1f2328 !important;
}
body.tw-dark div[style*="background:#eeeeee"] a,
body.tw-dark p[style*="background:#eeeeee"] a {
  color: #0969da !important;
}
body.tw-dark div[style*="background:#eeeeee"] code {
  color: inherit !important;
  background-color: transparent !important;
}

/* printed terminal output block */
.output-block code { color:#0F172A; }
body.tw-dark .output-block {
  background:#0d1117 !important;
  border-color:#30363d !important;
}
body.tw-dark .output-block code { color:#c9d1d9 !important; }
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR&lt;/h2&gt;

&lt;p style="color: #000000"&gt;&lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;&lt;strong&gt;CoinGecko API&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;provides a single, multi-chain solution for tracking a crypto wallet's balances, trades, token transfers, and PnL using a single provider.&lt;/strong&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;ul style="color: #000000;"&gt;
	&lt;li&gt;Pull balances with the &lt;a href="https://docs.coingecko.com/reference/wallet-token-balances" target="_blank"&gt;Token Balances by Wallet Address&lt;/a&gt; endpoint to see every token a wallet holds, valued in USD, across multiple networks in one call.&lt;/li&gt;
	&lt;li&gt;Pull trades with the &lt;a href="https://docs.coingecko.com/reference/wallet-trades" target="_blank"&gt;Trades by Wallet Address&lt;/a&gt; endpoint. Each trade is labeled &lt;code&gt;buy&lt;/code&gt; or &lt;code&gt;sell&lt;/code&gt; and includes USD pricing.&lt;/li&gt;
	&lt;li&gt;Use the &lt;a href="https://docs.coingecko.com/reference/wallet-token-transfers" target="_blank"&gt;Token Transfers by Wallet Address&lt;/a&gt; endpoint to capture token movements that a trade-only feed misses.&lt;/li&gt;
	&lt;li&gt;Merge trades and transfers into one chronological activity feed, then add realized and unrealized PnL from the &lt;a href="https://docs.coingecko.com/reference/wallet-pnl" target="_blank"&gt;PnL by Wallet Address&lt;/a&gt; endpoint.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;A wallet balance shows the assets a wallet currently holds. To understand its activity, portfolio dashboards, tax tools, and wallet analytics also need trade and transfer data. The trades endpoint shows what was swapped and at what price, while the transfers endpoint shows which tokens moved in or out and in which direction. This provides the data needed to track both trades and asset movements.&lt;/p&gt;

&lt;p&gt;This guide uses CoinGecko API's Onchain Wallet endpoints to retrieve both data sets for a wallet address and combine them into a single activity feed, sorted by time and labeled by type. It also covers how to add realized and unrealized PnL. Trade responses include USD pricing, so no separate price feed is needed to calculate trade values.&lt;/p&gt;

&lt;p&gt;&lt;img alt="How to Track Crypto Wallet Transactions, Balances, Profits &amp;amp; Loss" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136486/content_How_to_Track_Crypto_Wallet_Transactions__Balances__Profit___Loss.webp" style="max-width: 100%; height: 629px; width: 1200px;"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;

&lt;p&gt;You’ll need a &lt;strong&gt;CoinGecko API key on the &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;Analyst plan or above&lt;/a&gt;&lt;/strong&gt; to use all four endpoints.&lt;/p&gt;

&lt;p&gt;This guide uses the same Ethereum wallet address throughout, so the balance snapshot, trade history, transfer history, and PnL summary all describe the same wallet. A trade represents a swap with a buy or sell side and price, while a transfer represents a token moving into or out of a wallet through a swap, send, deposit, or airdrop. A single swap appears in both data sets as a trade and as the token transfers that moved the assets.&lt;/p&gt;

&lt;p&gt;To get started, install the dependencies.&lt;/p&gt;

&lt;div class="cg-gist" style="background:transparent;"&gt;
&lt;div class="cg-gist-inner" style="display:flex;overflow-x:auto;padding:0;"&gt;
&lt;pre class="cg-gist-linenos" style="color:#6e7681;text-align:right;padding:12px 10px 12px 16px;user-select:none;font-size:16px;margin:0;"&gt;
1
2&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body" style="padding:12px 16px 12px 10px;font-size:16px;margin:0;"&gt;
requests&amp;gt;=2.31.0
python-dotenv&amp;gt;=1.0.0&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer" style="border-top:1px solid #d0d7de;padding:8px 16px;font-size:16px;color:#64748b;display:flex;justify-content:space-between;margin-top:4px;"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/track-crypto-wallet-transactions-balances-pnl/requirements.txt" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;requirements.txt&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/track-crypto-wallet-transactions-balances-pnl/requirements.txt" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;pip install -r requirements.txt&lt;/code&gt;&lt;/div&gt;

&lt;div class="cg-gist" style="background:transparent;"&gt;
&lt;div class="cg-gist-inner" style="display:flex;overflow-x:auto;padding:0;"&gt;
&lt;pre class="cg-gist-linenos" style="color:#6e7681;text-align:right;padding:12px 10px 12px 16px;user-select:none;font-size:16px;margin:0;"&gt;
1&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body" style="padding:12px 16px 12px 10px;font-size:16px;margin:0;"&gt;
COINGECKO_PRO_API_KEY=CG-your_api_key_here&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer" style="border-top:1px solid #d0d7de;padding:8px 16px;font-size:16px;color:#64748b;display:flex;justify-content:space-between;margin-top:4px;"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/track-crypto-wallet-transactions-balances-pnl/example.env" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;example.env&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/track-crypto-wallet-transactions-balances-pnl/example.env" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;💡 Prefer less setup? You can call these endpoints with CoinGecko's official &lt;a href="https://docs.coingecko.com/docs/sdk-python" target="_blank"&gt;Python SDK&lt;/a&gt; or &lt;a href="https://docs.coingecko.com/docs/sdk-typescript" target="_blank"&gt;TypeScript SDK&lt;/a&gt; instead of raw HTTP requests. The SDK handles the base URL, headers, and authentication for you, so there is less boilerplate to write.&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="how-to-fetch-a-wallet's-balances-across-multiple-networks"&gt;How to Fetch a Wallet's Balances Across Multiple Networks&lt;/h2&gt;

&lt;p&gt;CoinGecko API’s &lt;a href="https://docs.coingecko.com/reference/wallet-token-balances" target="_blank"&gt;Token Balances by Wallet Address&lt;/a&gt; endpoint returns every token a wallet holds across one or more networks in a single call. Pass a comma-separated &lt;code&gt;networks&lt;/code&gt; list, such as &lt;code&gt;eth&lt;/code&gt;, &lt;code&gt;base&lt;/code&gt;, or &lt;code&gt;arbitrum&lt;/code&gt;, to see a wallet’s full multi-chain portfolio in one request instead of querying each chain’s RPC separately and merging the results yourself.&lt;/p&gt;

&lt;p&gt;Each holding includes &lt;code&gt;price_usd&lt;/code&gt; and &lt;code&gt;value_usd&lt;/code&gt;, so you don’t need a separate price feed. Use &lt;code&gt;token_type&lt;/code&gt; to filter for &lt;code&gt;native&lt;/code&gt; or &lt;code&gt;non_native&lt;/code&gt; (ERC-20 / SPL) tokens, and &lt;code&gt;value_usd_min&lt;/code&gt; or &lt;code&gt;reserve_in_usd_min&lt;/code&gt; to filter out dust and low-liquidity spam tokens.&lt;/p&gt;

&lt;p&gt;Verify the endpoint with a &lt;code&gt;curl&lt;/code&gt; request:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;curl --request GET \
  --url "https://pro-api.coingecko.com/api/v3/onchain/wallets/0x9642b23ed1e01df1092b92641051881a322f5d4e/balances?networks=eth,base,arbitrum" \
  --header "x-cg-pro-api-key: CG-your_api_key_here"&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;This gives you a wallet’s current holdings and USD value to pair with the trade, transfer, and PnL history covered next. &lt;strong&gt;Every call in this guide uses the same API client, so set it up once before working through the endpoints.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="cg-gist" style="background:transparent;"&gt;
&lt;div class="cg-gist-inner" style="display:flex;overflow-x:auto;padding:0;"&gt;
&lt;pre class="cg-gist-linenos" style="color:#6e7681;text-align:right;padding:12px 10px 12px 16px;user-select:none;font-size:16px;margin:0;"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body" style="padding:12px 16px 12px 10px;font-size:16px;margin:0;"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;dotenv&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;load_dotenv&lt;/span&gt;

&lt;span class="n"&gt;load_dotenv&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"COINGECKO_PRO_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"https://pro-api.coingecko.com/api/v3"&lt;/span&gt;
&lt;span class="n"&gt;HEADERS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"x-cg-pro-api-key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_balances&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Fetch a wallet's token balances across networks."""&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/onchain/wallets/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/balances"&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"networks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_trades&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Fetch a wallet's trades on a single network."""&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/onchain/networks/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/wallets/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/trades"&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_transfers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Fetch a wallet's token transfers on a single network."""&lt;/span&gt;
    &lt;span class="c1"&gt;# SDK equivalent (pip install coingecko_sdk):&lt;/span&gt;
    &lt;span class="c1"&gt;# from coingecko_sdk import Coingecko&lt;/span&gt;
    &lt;span class="c1"&gt;# client = Coingecko()  # reads COINGECKO_PRO_API_KEY automatically&lt;/span&gt;
    &lt;span class="c1"&gt;# response = client.onchain.networks.wallets.transfers.get(address, network=network, **params)&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/onchain/networks/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/wallets/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/transfers"&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_pnl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Fetch a wallet's realized and unrealized PnL across networks in one VM family."""&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/onchain/wallets/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/pnl"&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"networks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer" style="border-top:1px solid #d0d7de;padding:8px 16px;font-size:16px;color:#64748b;display:flex;justify-content:space-between;margin-top:4px;"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/track-crypto-wallet-transactions-balances-pnl/wallet_client.py" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;wallet_client.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/track-crypto-wallet-transactions-balances-pnl/wallet_client.py" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Calling &lt;code&gt;get_balances("0x9642b23ed1e01df1092b92641051881a322f5d4e", "eth,base,arbitrum")&lt;/code&gt; returns a &lt;code&gt;data&lt;/code&gt; object. The top-level &lt;code&gt;networks&lt;/code&gt; array shows the USD value and holding count per chain, so you can see how a wallet’s assets are distributed before drilling into individual balances:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "id": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
    "type": "wallet_balances",
    "attributes": {
      "wallet_address": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
      "total_value_usd": "8452.10",
      "total_holdings": 14,
      "networks": [
        {
          "network": "eth",
          "value_usd": "6210.55",
          "holdings": 9,
          "last_updated_at": "2026-09-24T09:00:00Z"
        },
        {
          "network": "base",
          "value_usd": "2241.55",
          "holdings": 5,
          "last_updated_at": "2026-09-24T09:00:00Z"
        }
      ],
      "balances": [
        {
          "network": "eth",
          "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
          "token_type": "erc20",
          "name": "Wrapped Ether",
          "symbol": "WETH",
          "decimals": 18,
          "coingecko_coin_id": "weth",
          "balance_raw": "412000000000000000",
          "balance": "0.412",
          "price_usd": "2521.47",
          "value_usd": "1038.85",
          "h24_price_change_percentage": "1.32",
          "total_reserve_in_usd": "48210233.10"
        }
      ]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="how-to-fetch-a-wallet's-trade-history"&gt;How to Fetch a Wallet's Trade History&lt;/h2&gt;

&lt;p&gt;CoinGecko API’s &lt;a href="https://docs.coingecko.com/reference/wallet-trades" target="_blank"&gt;Trades by Wallet Address&lt;/a&gt; endpoint returns trade history for a specified network and wallet address. Each result is labeled as a buy or sell and includes the USD price for both sides of the swap. The endpoint supports 250+ networks, including Ethereum (&lt;code&gt;network="eth"&lt;/code&gt;) and Solana (&lt;code&gt;network="solana"&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;Pass &lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt; together to query a fixed window of up to 30 days, or omit both parameters to default to the most recent 7 days. If the response contains more results, pass the &lt;code&gt;next_cursor&lt;/code&gt; value from &lt;code&gt;meta&lt;/code&gt; in your next request to fetch the next page.&lt;/p&gt;

&lt;p&gt;Each entry's &lt;code&gt;attributes&lt;/code&gt; object contains &lt;code&gt;kind&lt;/code&gt;, which is either &lt;code&gt;buy&lt;/code&gt; or &lt;code&gt;sell&lt;/code&gt;, along with &lt;code&gt;price_from_in_usd&lt;/code&gt; and &lt;code&gt;price_to_in_usd&lt;/code&gt; for both sides of the swap and &lt;code&gt;volume_in_usd&lt;/code&gt; for the total trade volume in USD. The response looks like this:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "id": "eth_26043243_0x3a1c...142",
  "type": "trade",
  "attributes": {
    "pool_address": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
    "pool_dex": "uniswap_v3",
    "block_number": 26043243,
    "block_timestamp": "2026-09-23T22:03:47Z",
    "tx_hash": "0x3a1c...142",
    "tx_from_address": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
    "kind": "buy",
    "from_token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "to_token_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
    "from_token_amount": "500.000000",
    "to_token_amount": "0.198342",
    "price_from_in_usd": "1.0002",
    "price_to_in_usd": "2521.47",
    "volume_in_usd": "500.10"
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="how-to-fetch-a-wallet's-transfers"&gt;How to Fetch a Wallet's Transfers&lt;/h2&gt;

&lt;p&gt;CoinGecko API’s &lt;a href="https://docs.coingecko.com/reference/wallet-token-transfers" target="_blank"&gt;Token Transfers by Wallet Address&lt;/a&gt; endpoint returns token transfer history for a specified network and wallet address. Each result includes a transfer direction and a resolved token amount, separate from its price. This captures activity that a trades-only view misses, such as deposits, sends, and airdrops that move tokens without a swap.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt; parameters define the date range, while the &lt;code&gt;cursor&lt;/code&gt; fetches additional pages of results. The &lt;code&gt;direction&lt;/code&gt; parameter filters results to incoming (&lt;code&gt;in&lt;/code&gt;) or outgoing (&lt;code&gt;out&lt;/code&gt;) transfers.&lt;/p&gt;

&lt;p&gt;Each entry includes &lt;code&gt;direction&lt;/code&gt;, which is &lt;code&gt;out&lt;/code&gt; when the wallet is the &lt;code&gt;from_address&lt;/code&gt; and &lt;code&gt;in&lt;/code&gt; when it is the &lt;code&gt;to_address&lt;/code&gt;. It also includes &lt;code&gt;amount&lt;/code&gt;, the token amount transferred. Here is the response:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "id": "eth_26046243_0x08550aecf7a762599ceaac52bddfdb42cec1ebfc14cb9bfd9c895e7278502134_413_out",
  "type": "transfer",
  "attributes": {
    "block_number": 26046243,
    "tx_hash": "0x08550aecf7a762599ceaac52bddfdb42cec1ebfc14cb9bfd9c895e7278502134",
    "direction": "out",
    "token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "amount_raw": "99598300",
    "amount": "99.5983",
    "block_timestamp": "2026-09-24T08:51:11Z",
    "from_address": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
    "to_address": "0xb24c9abdeb1b06c19dece441fa259d69631e1e3b",
    "name": "Tether USD",
    "symbol": "USDT",
    "decimals": 6
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="how-to-fetch-a-wallet's-pnl-across-multiple-networks"&gt;How to Fetch a Wallet's PnL Across Multiple Networks&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://docs.coingecko.com/reference/wallet-pnl" target="_blank"&gt;PnL by Wallet Address&lt;/a&gt; endpoint returns a wallet’s realized and unrealized profit and loss across one or more networks in a single call. It uses the same multi-chain design as the balances endpoint, providing a wallet’s full trading performance without stitching together per-chain results.&lt;/p&gt;

&lt;p&gt;Pass a comma-separated &lt;code&gt;networks&lt;/code&gt; list, as long as every network belongs to the same VM family. For example, &lt;code&gt;eth&lt;/code&gt;, &lt;code&gt;base&lt;/code&gt;, and &lt;code&gt;arbitrum&lt;/code&gt; can be queried together because they’re all EVM, while Solana requires a separate request. The response includes &lt;code&gt;total_realized_pnl_usd&lt;/code&gt; and &lt;code&gt;total_unrealized_pnl_usd&lt;/code&gt; for the requested networks combined, a &lt;code&gt;networks&lt;/code&gt; array with the PnL breakdown by chain, and a &lt;code&gt;token_stats&lt;/code&gt; array with the breakdown by token.&lt;/p&gt;

&lt;p&gt;The endpoint returns a combined PnL summary across the requested networks, along with a per-network breakdown, giving you a consolidated view of wallet performance without requiring separate PnL requests and manual aggregation for each chain. The API returns the following:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "id": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
    "type": "wallet_pnl",
    "attributes": {
      "wallet_address": "0x9642b23ed1e01df1092b92641051881a322f5d4e",
      "total_realized_pnl_usd": "1284.52",
      "total_unrealized_pnl_usd": "312.90",
      "total_tokens": 14,
      "networks": [
        {
          "network": "eth",
          "realized_pnl_usd": "980.15",
          "unrealized_pnl_usd": "150.40",
          "tokens": 9
        },
        {
          "network": "base",
          "realized_pnl_usd": "304.37",
          "unrealized_pnl_usd": "162.50",
          "tokens": 5
        }
      ],
      "token_stats": [
        {
          "network": "eth",
          "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
          "name": "Wrapped Ether",
          "symbol": "WETH",
          "decimals": 18,
          "realized_pnl_usd": "540.22",
          "unrealized_pnl_usd": "88.10",
          "token_balance": "0.412",
          "average_buy_price_usd": "2410.00",
          "average_sell_price_usd": "2601.55",
          "total_buy_count": 6,
          "total_sell_count": 4,
          "total_buy_usd": "2901.84",
          "total_sell_usd": "2061.63"
        }
      ]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="how-to-build-a-multi-chain-crypto-wallet-portfolio-dashboard-and-feed"&gt;How to Build a Multi-Chain Crypto Wallet Portfolio Dashboard and Feed&lt;/h2&gt;

&lt;p&gt;Balances, trades, transfers, and PnL each provide a different view of a wallet. Pulling all four for the same wallet address gives you a complete multi-chain view of holdings, activity, and performance from one API. Trades and transfers combine into one chronological activity feed, while balances and PnL provide separate portfolio and performance summaries.&lt;/p&gt;

&lt;div class="cg-gist" style="background:transparent;"&gt;
&lt;div class="cg-gist-inner" style="display:flex;overflow-x:auto;padding:0;"&gt;
&lt;pre class="cg-gist-linenos" style="color:#6e7681;text-align:right;padding:12px 10px 12px 16px;user-select:none;font-size:16px;margin:0;"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body" style="padding:12px 16px 12px 10px;font-size:16px;margin:0;"&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;wallet_client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;get_balances&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_trades&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_transfers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_pnl&lt;/span&gt;

&lt;span class="n"&gt;WALLET&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"0x9642b23ed1e01df1092b92641051881a322f5d4e"&lt;/span&gt;
&lt;span class="n"&gt;NETWORK&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"eth"&lt;/span&gt;
&lt;span class="n"&gt;NETWORKS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"eth,base,arbitrum"&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;fetch_all_trades&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Page through every trade using the cursor CoinGecko returns."""&lt;/span&gt;
    &lt;span class="n"&gt;trades&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;cursor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"per_page"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"cursor"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cursor&lt;/span&gt;
        &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_trades&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;trades&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="n"&gt;cursor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"meta"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"next_cursor"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;break&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;trades&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;fetch_all_transfers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Page through every transfer using the cursor CoinGecko returns."""&lt;/span&gt;
    &lt;span class="n"&gt;transfers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;cursor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"per_page"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"cursor"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cursor&lt;/span&gt;
        &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_transfers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;transfers&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="n"&gt;cursor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"meta"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"next_cursor"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;break&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;transfers&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;build_activity_feed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;trades&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;transfers&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Merge trades and transfers into one feed, labeled and sorted by time."""&lt;/span&gt;
    &lt;span class="n"&gt;feed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;trade&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;trades&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;attrs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;trade&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;feed&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"trade"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s2"&gt;"timestamp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"block_timestamp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"tx_hash"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tx_hash"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"kind"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"kind"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"volume_usd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"volume_in_usd"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;transfer&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;transfers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;attrs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;transfer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;feed&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"transfer"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s2"&gt;"timestamp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"block_timestamp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"tx_hash"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tx_hash"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"direction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"direction"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"token"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"symbol"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s2"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attrs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="n"&gt;feed&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"timestamp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;reverse&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;feed&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;balances&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_balances&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;WALLET&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;NETWORKS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;portfolio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;balances&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Portfolio value: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;portfolio&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'total_value_usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; across &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;portfolio&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'networks'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; networks&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;trades&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fetch_all_trades&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NETWORK&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;WALLET&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;transfers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fetch_all_transfers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NETWORK&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;WALLET&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;feed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;build_activity_feed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;trades&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;transfers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;entry&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;feed&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"trade"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'timestamp'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;  TRADE     &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'kind'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;4&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;  $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'volume_usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'timestamp'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;  TRANSFER  &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'direction'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;   &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'amount'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'token'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;pnl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_pnl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;WALLET&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;NETWORKS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;summary&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pnl&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;Realized PnL: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'total_realized_pnl_usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Unrealized PnL: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'total_unrealized_pnl_usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;network&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"networks"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"  &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'network'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;10&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; realized $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'realized_pnl_usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;  unrealized $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'unrealized_pnl_usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer" style="border-top:1px solid #d0d7de;padding:8px 16px;font-size:16px;color:#64748b;display:flex;justify-content:space-between;margin-top:4px;"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/track-crypto-wallet-transactions-balances-pnl/activity_feed.py" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;activity_feed.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/track-crypto-wallet-transactions-balances-pnl/activity_feed.py" rel="nofollow noopener" style="color:#334155;" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;code&gt;fetch_all_trades&lt;/code&gt; and &lt;code&gt;fetch_all_transfers&lt;/code&gt; fetch data for one network at a time. To build a feed across multiple networks, run both for each network and merge the results by timestamp.&lt;/p&gt;

&lt;p&gt;Once trades and transfers are in the same list, the &lt;code&gt;type&lt;/code&gt; field identifies each event as a trade or transfer. This matters because one swap can produce one trade entry and two transfer entries for the tokens that moved.&lt;/p&gt;

&lt;p&gt;PnL stays separate from the activity feed. Trades and transfers are individual events with timestamps, while realized and unrealized PnL are totals. &lt;code&gt;get_pnl&lt;/code&gt; therefore returns a separate PnL summary instead of adding PnL to the event list.&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;
&lt;strong&gt;Note:&lt;/strong&gt; If you are building the feed for a Solana wallet, use &lt;code&gt;fetch_all_trades&lt;/code&gt; with &lt;code&gt;network="solana"&lt;/code&gt; and add PnL separately with &lt;code&gt;get_pnl&lt;/code&gt;.&lt;/div&gt;

&lt;p&gt;Running activity_feed.py prints the portfolio value, merged activity feed, and PnL summary, including the per-network breakdown:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;Portfolio value: $8452.10 across 2 networks

2026-09-24T09:14:02Z  TRADE     sell  $312.40
2026-09-24T08:51:11Z  TRANSFER  out   99.5983 USDT
2026-09-24T08:51:11Z  TRANSFER  out   1803.28 LINK
2026-09-23T22:03:47Z  TRADE     buy   $500.10
2026-09-23T19:40:15Z  TRANSFER  in    250.0 USDC

Realized PnL: $1284.52
Unrealized PnL: $312.90
  eth        realized $980.15  unrealized $150.40
  base       realized $304.37  unrealized $162.50&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;The per-network breakdown enables a multi-chain dashboard to be built from a single wallet address. The API provides balances, trades, transfers, and aggregated PnL across the requested networks, all through a single provider.&lt;/p&gt;

&lt;p&gt;The dashboard below is built directly from the data above:&lt;/p&gt;

&lt;p&gt;&lt;img alt="Multi-Chain Wallet Tracking Use Case" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136487/content_wallet_dashboard_%281%29.webp" style="max-width: 100%; height: 816px; width: 800px;"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;&lt;img alt="Subscribe now - Build multi-chain apps with CoinGecko API market and wallet data across 250+ networks." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136488/content_Subcribe_to_CoinGecko_API_CTA_-_wallet_%283%29.webp" style="max-width: 100%; height: 235px; width: 1200px;"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;CoinGecko API provides the data to build a complete, multi-chain view of any wallet, including balances, trade history, token transfers, and realized and unrealized PnL, across 250+ networks through one API. Query balances and PnL across multiple chains in a single call, then combine trades and transfers into one onchain activity feed with USD pricing.&lt;/p&gt;

&lt;p&gt;Once you have wallet activity covered, combine it with CoinGecko’s market data endpoints to build a multi-chain crypto platform with real-time prices and market data alongside wallet balances, trades, transfers, and PnL. &lt;a href="https://www.coingecko.com/learn/crypto-portfolio-dashboard-python" target="_blank"&gt;Create a Crypto Portfolio Dashboard&lt;/a&gt; shows how to bring these data points together in a portfolio dashboard. You can also &lt;a href="https://www.coingecko.com/learn/how-to-track-new-tokens-onchain" target="_blank"&gt;track newly created pools across networks&lt;/a&gt; or stream &lt;a href="https://www.coingecko.com/learn/stream-real-time-crypto-prices-python" target="_blank"&gt;real-time crypto prices with REST and WebSocket&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to start building?&lt;/strong&gt; The &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;CoinGecko API Analyst plan&lt;/a&gt; unlocks the onchain wallet endpoints used in this guide, along with 500K monthly API call credits and a 500 RPM rate limit. If you are not ready to subscribe yet, start with a &lt;a href="https://docs.coingecko.com/docs/setting-up-your-api-key" target="_blank"&gt;free Demo API key&lt;/a&gt; to explore 60+ endpoints with 10K free monthly API call credits.&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/track-crypto-wallet-transactions-balances-pnl?locale=en</url>
    <summary>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent;...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135732</id>
    <published>2026-10-01T09:45:16Z</published>
    <updated>2026-10-16T07:02:46Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/best-crypto-prop-firms?locale=en"/>
    <title>Best Crypto Prop Firms in 2026</title>
    <content type="html">&lt;div aria-label="Definition" role="region" style="background-color: #F1F5F9; border-radius: 12px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 4px solid #4BCC00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: #0F172A; font-weight: 700;"&gt;Overview of Best Crypto Prop Firms&lt;/h2&gt;

&lt;p style="font-size: 1rem; line-height: 1.6; color: #64748B; margin-bottom: 1.5rem;"&gt;&lt;strong style="color: #334155;"&gt;The top crypto prop firms compared in this article are HyroTrader, Mubite, SizeProp, FTMO, Crypto Fund Trader, Breakout Prop, Bitfunded, TradeXProp, and FundedNext.&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #64748B; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;span style="color:#64748B;"&gt;&lt;strong style="color:#334155;"&gt;How it works:&lt;/strong&gt; &lt;/span&gt;You pay for an evaluation, trade a simulated account under the firm's rules, and if you pass, receive a share of your simulated profits as real payouts. The most you can lose is the evaluation fee.&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;span style="color:#64748B;"&gt;&lt;strong style="color:#334155;"&gt;Rules matter more than profit split:&lt;/strong&gt; &lt;/span&gt;Drawdown type, daily loss limits, crypto leverage, refund terms and payout cadence decide whether you can realistically pass and get paid. After all, a generous split is worth little if the rules make it hard to reach a payout.&lt;/li&gt;
	&lt;li&gt;
&lt;span style="color:#64748B;"&gt;&lt;strong style="color:#334155;"&gt;Simulated capital:&lt;/strong&gt; &lt;/span&gt;Nearly every firm in this space, including some of the largest, funds evaluated traders through simulated or notionally calculated capital rather than a live brokerage deposit. However, as a user, what matters is how payouts are funded and whether you can verify they are paid.&lt;/li&gt;
	&lt;li&gt;&lt;span style="color:#64748B;"&gt;&lt;strong style="color:#334155;"&gt;Crypto depth:&lt;/strong&gt; FundedNext holds the highest review volume of any prop firm on Trustpilot, over 72,000 reviews at 4.5/5, yet its own Help Center lists only 9 crypto pairs at flat 1:1 leverage.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;div dir="ltr"&gt;&lt;img alt="Crypto Prop Firms" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136078/content_Crypto_Prop_Firms.webp" style="width: 1200px; height: 628px;"&gt;&lt;/div&gt;

&lt;h2 dir="ltr"&gt;What Are Crypto Prop Firms&lt;/h2&gt;

&lt;p dir="ltr"&gt;A prop (proprietary trading) firm lets you trade with the firm's capital instead of your own, in exchange for a share of the profits. You pay an upfront fee to attempt an evaluation. If you pass, you move to a "funded" account and start earning performance-based payouts.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Simulated Capital, Real Hedging&lt;/h3&gt;

&lt;p dir="ltr"&gt;Here's the part that surprises a lot of traders: at nearly every firm in this space, including some of the largest, that funded account still runs on simulated or notionally-calculated capital, not a live brokerage deposit. TradeXProp calls its funded capital "notional." Bitfunded's own name for the post-evaluation stage is "Live Simulated Account." Even Breakout Prop, now owned by Kraken with its market data and connectivity tied to Kraken's exchange, states plainly that "all trading account balances consist entirely of simulated capital."&lt;/p&gt;

&lt;p dir="ltr"&gt;That doesn't mean your trades disappear into a void. When you open a position on a funded account, the firm can choose to mirror, or hedge, that same position on a real exchange using its own capital. If you're up $500 on a notional balance, the firm can hold a matching real position that's also up $500, so your payout is covered by an actual market gain rather than paid purely out of pocket. &lt;/p&gt;

&lt;p dir="ltr"&gt;Whether or how consistently a given firm actually does this varies, and most don't publish real-time proof either way, but the mechanism is what allows a firm to offer "funded" trading without holding a segregated real-money account for every single trader.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Comparison Table of Crypto Prop Firms&lt;/h2&gt;

&lt;table border="1" cellpadding="5" cellspacing="5" style="width:100%;"&gt;
	&lt;colgroup&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Firm&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Crypto Pairs&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Leverage&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Execution&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Profit Split&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Payout Speed &amp;amp; Currency&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;HyroTrader&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;700+ (Hyro &amp;amp; Bybit), 80+ (BloFin)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Up to 1:100 (1:150 on BTC/ETH via BloFin)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Real exchange execution, up to $200K funded.&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;80% → 90%&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;~24h, USDT/USDC, on-chain verifiable&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;strong&gt;Mubite&lt;/strong&gt;&lt;/td&gt;
			&lt;td&gt;1000+ (ByBit, CLEO)&lt;/td&gt;
			&lt;td&gt;Up to 1:100&lt;/td&gt;
			&lt;td&gt;Real markets equity through ByBit, and Cleo. Up to $1m in scaling.&lt;/td&gt;
			&lt;td&gt;80–90%, varies by account/add-ons&lt;/td&gt;
			&lt;td&gt;On-demand requests, USDC, on-chain verifiable&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;strong&gt;SizeProp&lt;/strong&gt;&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;50+ (crypto; Hyperliquid &amp;amp; Bybit), 50+ (stocks, commodities, metals, forex and indices; Hyperliquid)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;5x (BTC/XAUT), 2x (alts + stocks + indices + commodities + metals + forex)&lt;/td&gt;
			&lt;td&gt;Hyperliquid &amp;amp; ByBit orderbook data, simulated.&lt;/td&gt;
			&lt;td&gt;80% → 95%&lt;/td&gt;
			&lt;td&gt;On-demand, ~24h, USDC (ERC-20)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;FTMO&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;31+&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1:1–1:3.3&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Spot CFD&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;80% → 90%&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1–2 business days&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto Fund Trader&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;550+ (Bybit)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Up to 1:100&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Multi-asset, fully demo&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;80% → 90%&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;15–30 day cadence, up to 3 days processing&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Breakout Prop&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;58–62+&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;5x (BTC/ETH), 2x (alts)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Kraken-backed, simulated&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;80% → 90%&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;On-demand, ~24h, USDC&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Bitfunded&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;100+&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1x–5x&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Fully simulated&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;80:20 → 90:10&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Monthly, USDT&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;TradeXProp&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Not disclosed&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;5:1 (BTC/ETH), 2:1 (alts)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;DXtrade, notional&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Up to 90%&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Every 30 days&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;FundedNext&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;9&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1:1 flat&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;CFD, weekdays only&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Up to 95%&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;~24h guarantee&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 dir="ltr"&gt;HyroTrader: Real Exchange Execution with Verifiable On-Chain Payouts&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This section is brought to you by &lt;a href="https://www.hyrotrader.com/?coupon=coingecko" target="_blank"&gt;HyroTrader&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;HyroTrader launched in Prague in 2023 with a specific angle: that crypto traders deserved infrastructure built for crypto, not a forex platform with some coins bolted on. It became the first crypto prop firm to integrate directly with a major exchange, replacing the standard MT5/cTrader model with real Bybit order-book pricing and execution via API.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: You get access to over 700 tradable pairs through Bybit and HyroTrader's own Hyro platform, or 80+ through BloFin, and leverage runs up to 1:100 (1:150 on BTC/ETH on BloFin). CLEO is no longer offered for new challenges. Trading pairs, price feeds, and order execution all come from the exchange itself, not a proprietary simulation layer standing in for one. &lt;/p&gt;

&lt;p dir="ltr"&gt;The evaluation phase uses simulated data like the rest of the prop firms on this list, but what happens after you pass is where HyroTrader diverges: passing evaluation moves you to a simulated funded account (same as every other firm), and you become eligible for real capital after consistent performance and meeting a minimum profit target of 10% in the One Step Challenge.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit splits start at 80% and scale to 90%. On One-Step and Two-Step challenges the entry payment is a Refundable Challenge Deposit, returned with the first payout. The Zero-Step fee is non-refundable. Payouts are on-demand and processed in roughly 24 hours, paid in USDT or USDC, and payouts sent on Solana are published with public transaction IDs on &lt;a href="http://hyrotrader.com/transparency" rel="noopener noreferrer" target="_blank"&gt;hyrotrader.com/transparency&lt;/a&gt; and can be verified independently on-chain, a concrete answer to a problem that's common across this industry, where payout claims are typically self-reported and impossible for an outside trader to check. &lt;/p&gt;

&lt;p dir="ltr"&gt;HyroTrader's Zero-Step evaluation is their fastest challenge. It has only one phase, a 10% profit target, one minimum trading day, and no verification phase. &lt;/p&gt;

&lt;p dir="ltr"&gt;Account sizes range from $5,000 to $200,000, and total funded capital per trader goes up to $200,000. Bot and algorithmic strategies are permitted without restriction, and a free trial lets you test the evaluation environment before paying anything.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Track Record&lt;/strong&gt;: HyroTrader launched in 2023, so its track record and review volume are still smaller than long-established multi-asset firms like FTMO. That said, since launch, it has paid out more than $8 million to over 1,700 funded traders, with a community of  over 35,000-plus.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Mubite: Instant Funding, Configurable Challenges, Honest Spreads and High Leverage&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This section is brought to you by &lt;a href="https://mubite.com/?discount=COINGECKO" target="_blank"&gt;Mubite&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://mubite.com/?discount=COINGECKO" target="_blank"&gt;Mubite&lt;/a&gt; is a crypto-native prop trading firm founded in 2024 by Vojtěch Ryp and Petr Andreas, both crypto traders themselves. They built the platform after running into the same problem repeatedly: most prop firms were designed for forex and adapted to crypto later, carrying over rules built for a market that closes. Traders were penalized for holding over the weekend or trading through major news, when crypto moves most. Mubite was built around the market as it actually behaves: open 24/7. Since launch, the firm has grown to 45,000+ registered traders and paid out more than $8 million to 3,700 funded traders.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: Mubite offers over 1,000 crypto pairs through its direct Bybit integration, alongside the CLEO terminal, which runs on Binance market data. Price feeds come straight from the exchanges, so spreads are set by the market rather than the firm, with no markups or adjustments. Beyond crypto, traders can access tokenized commodities and stocks, with leverage of up to 1:100 on select pairs.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Rather than selling fixed evaluation packages, Mubite lets traders build their own. The profit split starts at 80% and can be raised to 90% through optional add-ons, and the drawdown allowance, profit target, and minimum trading days can be adjusted on top of the base fee. Some rules stay fixed for everyone: on One-Step and Two-Step evaluations, maximum drawdown is static rather than trailing, anchored to the starting balance for the life of the account, and challenge fees for Two-Step challenge are fully refundable with your first payout. Positions can be held over weekends and through news events, and payouts are processed on-demand or bi-weekly, in roughly 24 hours, in USDC or bank transfers. Account sizes range from $1,250 to $200,000, with scaling up to $1,000,000 depending on performance.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Instant Funding&lt;/strong&gt;: Mubite is one of the few crypto-native prop firms to offer Instant Funding, letting traders skip the evaluation entirely and receive a funded account within minutes, a third route alongside the One-Step and Two-Step paths. Mubite's Instant Funding runs on the same full catalog as its evaluations: 1,000+ crypto pairs with leverage of up to 1:100.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Track Record&lt;/strong&gt;: Mubite is rolling out on-chain payout infrastructure across multiple chains by the end of Q4 2026, which will let traders independently verify challenge rules and payouts rather than relying on self-reported figures.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;SizeProp: Hyperliquid-Powered Crypto and TradFi Markets in One Terminal&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This section is brought to you by &lt;a href="https://www.sizeprop.com/" target="_blank"&gt;SizeProp&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://www.sizeprop.com/" target="_blank"&gt;SizeProp&lt;/a&gt; is a crypto-native proprietary trading firm founded in 2025 offering funded accounts of up to $200,000. Backed by Igloo Inc, the parent company of Pudgy Penguins, SizeProp combines crypto-native trading infrastructure powered with access to traditional markets through a single in-house terminal.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: SizeProp offers 100+ symbols with 50+ crypto pairs powered by Hyperliquid and ByBit, alongside stocks, indices, commodities, forex, and metals powered by Trade.xyz. Crypto leverage runs up to 5x on BTC and XAUT and 2x on altcoins. &lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit splits reach up to 95%, with no minimum trading days, no consistency rules, no time limits, and news trading allowed. The same trading rules apply during both the evaluation and funded stages, so traders don't have to adapt to a different set of restrictions after passing. Withdrawals are available on demand, with payouts processed within roughly 24 hours in USDC via ERC-20.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Backing&lt;/strong&gt;: SizeProp is &lt;strong&gt;backed by Igloo Inc&lt;/strong&gt;, the parent company of Pudgy Penguins, one of crypto’s biggest consumer brands.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Technology and support&lt;/strong&gt;: SizeProp operates its own trading terminal with TradingView-powered charts and brings crypto, stocks, metals, forex, and indices into the same interface. This means traders can access both crypto-native and traditional markets without moving between separate trading platforms. Users can also trade directly on their account without having to log in several times like with traditional prop firms. SizeProp reports that its support team's average response time is under five minutes. The platform also includes a points system that rewards active users with benefits yet to be announced in the future.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;FTMO: A Multi-Asset Firm with Narrow Crypto Leverage&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://ftmo.com/en/" rel="nofollow noopener" target="_blank"&gt;FTMO&lt;/a&gt; has operated since 2015 and carries the deepest trust signal in this list: a 4.8/5 Trustpilot score across roughly 45,000 reviews. It's a multi-asset firm first, with forex, indices, commodities, stocks, and crypto all trading on the same infrastructure.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: FTMO lists 31 confirmed crypto pairs, spanning majors alongside a reasonable spread of DeFi and NFT-adjacent tokens (AAVE, UNI, GRT, IMX). But every pair trades as a Spot CFD, and FTMO's own &lt;a href="https://ftmo.com/en/blog/a-few-answers-to-your-questions/" rel="nofollow noopener" target="_blank"&gt;blog&lt;/a&gt; states crypto leverage is capped at 1:1 on Swing accounts and 1:3.3 on Normal accounts, against up to 1:100 on forex. Trading hours can also vary due to scheduled maintenance windows, an odd fit for an asset class that otherwise runs 24/7.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit split starts at 80% and scales to 90%. Payouts process in 1–2 business days, paid in BTC, ETH, LTC, USDC, or USDT. The fee refund depends on which product you buy: the 2-Step Challenge refunds your fee with your first reward; the 1-Step Challenge never refunds it, even after passing.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto Leverage&lt;/strong&gt;: FTMO's forex-first architecture shows up directly in the numbers: leverage on crypto sits at a fraction of what's available on its own forex pairs, which is a key consideration if crypto is your primary market rather than a side allocation.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Crypto Fund Trader: Broad Bybit-Powered Instrument Access&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://cryptofundtrader.com/" rel="nofollow noopener" target="_blank"&gt;Crypto Fund Trader (CFT)&lt;/a&gt; offers evaluations across crypto, forex, indices, commodities, and stocks, with roughly 1,100 Trustpilot reviews.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: CFT's &lt;a href="https://cryptofundtrader.com/faq/" rel="nofollow noopener" target="_blank"&gt;FAQ&lt;/a&gt; confirms 550+ crypto futures pairs through Bybit, or 720+ total instruments across its Match-Trader/MT5 setup, offering broad coverage. Leverage on Bybit evaluations runs up to 1:100. &lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit split runs 80% to 90%. Individual evaluation accounts go up to $200,000, but traders can hold multiple funded accounts at once, up to a combined $300,000 in total live capital per user. Withdrawals are available after 15 days traded, or every 30 calendar days as an alternative, with processing taking up to roughly three days end-to-end. CFT states outright on its homepage: "It's all demo, no real capital involved."&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Evaluation Refund Policy&lt;/strong&gt;: CFT's evaluation refund policy is the least specific in this group. Its official refund page states refunds are "&lt;a href="https://cryptofundtrader.com/refund-policy/" rel="nofollow noopener" target="_blank"&gt;issued at our discretion&lt;/a&gt;," without the fixed payout milestone that FTMO, FundedNext, Bitfunded, and Breakout all publish.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Breakout Prop: Kraken-Backed Liquidity with Conservative Leverage&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://breakout.pxf.io/E0W2gK" target="_blank"&gt;Breakout Prop&lt;/a&gt; was acquired by &lt;a href="https://www.coingecko.com/en/exchanges/kraken" target="_blank"&gt;Kraken&lt;/a&gt; in September 2025, giving it the strongest crypto exchange pedigree of any crypto-native firm in this comparison, alongside roughly 950 Trustpilot reviews at a 4-star average.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: Breakout offers 58 to 62-plus crypto pairs, with real liquidity sourced from major exchanges. Leverage is fixed at 5x on BTC and ETH, 2x on everything else, applied automatically. Markets run genuinely 24/7, including weekends.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit split defaults to 80%, with a permanent 90% upgrade available at checkout. Payouts are on-demand, processed in about 24 hours, paid in USDC, and the fee is fully refunded with the first payout. Breakout's own Program Rules confirm funded balances are simulated capital, and disclose that individual trade ideas may be routed to a real exchange or logged as an internal calculation, at the firm's discretion, though payouts are calculated identically either way.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Leverage Cap&lt;/strong&gt;: Leverage is capped well below several peers, a deliberate risk-management choice rather than an oversight, and worth weighing against firms offering higher multiples.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Bitfunded: 100+ Crypto Pairs with a Conservative Leverage Model&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://www.bitfunded.com/" rel="nofollow noopener" target="_blank"&gt;Bitfunded&lt;/a&gt; is a crypto-only firm with more than 120,000 traders and roughly 162 Trustpilot reviews at a 4-star average.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: Bitfunded offers 100+ crypto pairs plus 20+ traditional-finance instruments, with leverage capped between 1x and 5x, which Bitfunded frames explicitly as a design choice to reduce over-leveraging rather than a limitation.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: The default split is 80:20, scaling to 90:10 through an Incentive Scaling Program requiring 10% net profit over four consecutive months. News and weekend trading are both allowed, which is unusual among firms with TradFi roots. Its refund policy is less consistent, though: Bitfunded's &lt;a href="https://www.bitfunded.com/refund-and-cancellation-policy/" rel="nofollow noopener" target="_blank"&gt;Refund and Cancellation Policy&lt;/a&gt; and its &lt;a href="https://www.bitfunded.com/terms-of-use/" rel="nofollow noopener" target="_blank"&gt;Terms of Use&lt;/a&gt; both state the fee is refunded on your first profit-split day, but its &lt;a href="https://www.bitfunded.com/faq/" rel="nofollow noopener" target="_blank"&gt;FAQ&lt;/a&gt; page states it's refunded on your third payout instead. Users considering Bitfunded may want to check in directly with support around which one currently applies.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Withdrawal Cadence&lt;/strong&gt;: Withdrawals are processed monthly, a slower cadence than the 24-hour standard several crypto-native competitors offer.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;TradeXProp: A Dedicated Crypto Challenge with Flexible Trading Hours&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://tradexprop.com/" rel="nofollow noopener" target="_blank"&gt;TradeXProp&lt;/a&gt; runs a dedicated crypto evaluation track, though with a considerably thinner track record (around 41 Trustpilot reviews) than most firms here.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: Leverage runs 5:1 on BTC and ETH, 2:1 on everything else. Notably, TradeXProp doesn't publish an actual pair count anywhere on its site, only that it offers "any products streamed by the Liquidity Provider." Trading runs close to 24/7, and weekend holding is permitted.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit split reaches up to 90%. The funded stage is explicitly described as "notionally-funded," meaning actual capital may not match the account's nominal size. To date, TradeXProp has paid out $1.9 million-plus to more than 5,000 traders.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Refunds and Withdrawals&lt;/strong&gt;: Two things stand out: fees are never refunded, even after passing, and withdrawals are limited to once every 30 days; both more restrictive than the rest of this list. TradeXProp also carries over a forex-style rule prohibiting trades within three minutes of a "News Event," a category the firm defines at its sole discretion.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;FundedNext: Established Prop Firm With Smaller Crypto Offerings&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://fundednext.com/" rel="nofollow noopener" target="_blank"&gt;FundedNext&lt;/a&gt; holds the highest review volume of any prop firm on Trustpilot (over 72,000 reviews at 4.5/5) and has paid out more than $300 million across its full product range since 2022.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto coverage&lt;/strong&gt;: FundedNext's own Help Center lists exactly 9 crypto pairs: DOGE, ADA, XLM, XRP, BTC, ETH, LINK, LTC, and XMR, notably excluding SOL and BNB, two of the largest coins by market cap. Crypto leverage is flat at 1:1, against up to 1:100 on forex, and crypto positions can only be opened or closed on weekdays, with the firm's own disclaimer confirming trades are CFD simulations rather than real asset purchases.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Key features&lt;/strong&gt;: Profit split reaches up to 95% on CFD accounts, among the highest in the industry. FundedNext guarantees payouts within 24 hours, backed by a $1,000 penalty if it misses that window, with a median processing time of 4.74 hours. Fee refunds apply, though timing depends on the product: first payout for Stellar 2-Step, third payout for Stellar 1-Step and Stellar Lite as of a January 2026 policy update.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Narrow Pair Count&lt;/strong&gt;: FundedNext is a genuinely well-reviewed, fast-paying firm, but its scale comes from forex and multi-asset trading, not crypto. A 9-pair, 1:1-leverage, weekdays-only crypto offering is a fraction of what dedicated crypto firms provide, making it a clear example of why review volume alone doesn't indicate crypto-specific depth.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;What to Consider When Choosing a Crypto Prop Firm&lt;/h2&gt;

&lt;p dir="ltr"&gt;Every prop firm promises a funded account and a share of the profits after you pass the evaluation. The rules behind that promise are what decide whether you can realistically pass, keep trading, and when you get paid. Two firms with the same profit split can feel completely different once you read how drawdown is measured or when payouts are released.&lt;/p&gt;

&lt;p dir="ltr"&gt;Here’s a quick look at the key factors when selecting a crypto prop firm, and why it matters:&lt;/p&gt;

&lt;table border="1" cellpadding="5" cellspacing="5" style="width:100%;"&gt;
	&lt;colgroup&gt;
		&lt;col width="126"&gt;
		&lt;col width="521"&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Factor&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Why They Matter&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Profit split&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Your share of gains, but only attainable if you reach the payout threshold without breaking any rules.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Profit target&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;How much you must gain to pass. There are different types of evaluations:&lt;/p&gt;

			&lt;ul&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;One-step&lt;/strong&gt;: A single target to pass, usually higher, with tighter risk limits.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Two-step&lt;/strong&gt;: The target is split across two phases, which takes longer but is often more forgiving per phase.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Instant funding&lt;/strong&gt;: No evaluation, in exchange for a higher upfront fee and usually stricter funded-account rules.&lt;/p&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Max drawdown&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;The total loss that ends your account. There are two types:&lt;/p&gt;

			&lt;ul&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Static drawdown&lt;/strong&gt;: The limit is fixed at a set amount below your starting balance. On a $10,000 account with a 5% static limit, the account ends if equity falls to $9,500, no matter how much profit you made first.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Trailing drawdown&lt;/strong&gt;: The limit moves up as your equity reaches new highs. After a strong run, the limit rises with it, so a normal pullback in a volatile crypto market can end an account that is still in profit overall.&lt;/p&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Daily loss limit&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;A second way to fail, even when total drawdown is fine.&lt;/p&gt;

			&lt;p dir="ltr"&gt;The exact reset time may be in UTC instead of your time zone, and in a volatile crypto market, a reset time that falls mid-move can catch traders out.&lt;/p&gt;

			&lt;p dir="ltr"&gt;Some firms have no separate daily limit at all, and only the drawdown limits apply.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Trading rules&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Check whether the firm allows weekend holding, trading around news events, bots and copy trading, and whether it has consistency rules or minimum trading days. Forex-style restrictions like these suggest crypto was added to an existing product rather than built for it.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto leverage&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Multi-asset firms often cap crypto far below their forex leverage, so always check on the leverage for the specific pairs you trade.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Crypto pairs&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Whether the coins you trade are available at all, as smaller coins may be excluded.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Execution&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Affects how realistic your fills are and how your payouts are funded.&lt;/p&gt;

			&lt;ul&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Simulated accounts&lt;/strong&gt;: Nearly every firm keeps funded traders on simulated accounts. If trades aren’t hedged on a real market, payouts come from the firm’s own revenue, mostly evaluation fees, so the firm earns more when traders fail.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Hedged or real capital&lt;/strong&gt;: Fiirms that hedge trades on a real exchange, or move proven traders onto real capital, have incentives more closely aligned with yours.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Price feeds&lt;/strong&gt;: Live exchange order-book data gives spreads and fills close to the real market. CFD pricing on forex platforms may include markups and behave differently during sharp moves.&lt;/p&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Fee refund&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Your true at-risk cost of entry, since most traders who start an evaluation don’t reach a payout.&lt;/p&gt;

			&lt;ul&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;Some firms refund the fee on the first payout, some on the third, some at their discretion, and some never.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;Watch for reset fees and paid add-ons. I&lt;/p&gt;
				&lt;/li&gt;
			&lt;/ul&gt;

			&lt;p dir="ltr"&gt;If in doubt, clarify with the prop firm before committing.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Payout frequency&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;How quickly and easily you can access your profits.&lt;/p&gt;

			&lt;ul&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;Terms range from on-demand withdrawals processed in about 24 hours to once every 30 days.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;Also check the minimum withdrawal amount, any waiting period before your first payout, and which currencies and networks are supported.&lt;/p&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Payout verification&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Whether you can check that the firm actually pays, rather than relying on self-reported figures and review platforms.&lt;/p&gt;

			&lt;ul&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;On-chain payouts can be verified on a public block explorer. This is the strongest public evidence, but it shows only that funds were sent, not who received them or how many requests were denied.&lt;/p&gt;
				&lt;/li&gt;
				&lt;li aria-level="1" dir="ltr"&gt;
				&lt;p dir="ltr" role="presentation"&gt;Community reports of denied or delayed payouts are worth checking alongside on-chain data.&lt;/p&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 dir="ltr"&gt;FAQ&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;b id="docs-internal-guid-dfe03690-7fff-5d46-5724-7f7a02118286"&gt;Do crypto prop firms use real money? &lt;/b&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Most do not. Nearly every firm in this guide runs funded accounts on simulated or notional capital. Your payouts are real, but they are calculated from simulated trading. Some firms hedge trades on real exchanges, and a few offer a path to real capital after a track record.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;b id="docs-internal-guid-dfe03690-7fff-5d46-5724-7f7a02118286"&gt;Are crypto prop firms legit? &lt;/b&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Many pay traders reliably, but the industry is lightly regulated and payout claims are often self-reported. Check how long a firm has operated, whether its rules are consistent across its own pages, and whether its payouts can be independently verified.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;b id="docs-internal-guid-dfe03690-7fff-5d46-5724-7f7a02118286"&gt;What is the difference between static and trailing drawdown? &lt;/b&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Static drawdown is fixed to your starting balance. Trailing drawdown rises with your highest equity, so your room to lose can shrink after a profitable run. Static is generally more forgiving.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;b id="docs-internal-guid-dfe03690-7fff-5d46-5724-7f7a02118286"&gt;Can I lose more than the evaluation fee? &lt;/b&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;No. Because you trade the firm's capital, the most you can lose is the fee you paid to enter, plus any reset fees or add-ons you choose to buy.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;b id="docs-internal-guid-dfe03690-7fff-5d46-5724-7f7a02118286"&gt;Can I hold crypto positions over the weekend? &lt;/b&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;It depends on the firm. Crypto-native firms usually allow weekend holding, while some multi-asset firms restrict crypto trading to weekdays. Check the rules before you buy an evaluation.&lt;/p&gt;

&lt;hr&gt;
&lt;p dir="ltr"&gt;&lt;em&gt;Disclaimer: Rankings, comparisons, and commentary reflect independent research based on publicly available information from each firm's official website, help center, and terms of service as of the time of writing. Figures such as leverage limits, profit splits, pair counts, and payout policies are subject to change at each firm's discretion; readers should verify current terms directly with the provider before making a decision. This content is for informational purposes only and does not constitute financial, investment, or trading advice. Proprietary trading, and cryptocurrency trading more broadly, carries substantial risk, including the risk of losing your evaluation fee. CoinGecko does not endorse any prop trading firm and encourages readers to conduct their own research before participating in any evaluation program.&lt;/em&gt;&lt;/p&gt;
</content>
    <author>
      <name>CoinGecko</name>
    </author>
    <url>https://www.coingecko.com/learn/best-crypto-prop-firms?locale=en</url>
    <summary>
Overview of Best Crypto Prop Firms

The top crypto prop firms compared in this article are HyroTrader, Mubite, SizeProp, FTMO, Crypto Fund Trader, Breakout Prop, Bitfunded, TradeXProp, and FundedN...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135780</id>
    <published>2026-09-29T08:13:56Z</published>
    <updated>2026-10-04T02:36:43Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/best-crypto-wallet-data-api?locale=en"/>
    <title>Best Crypto Wallet Data API for Developers (2026)</title>
    <content type="html">&lt;style type="text/css"&gt;.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; p {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; ul {
  color: inherit !important;
}
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR: Which Crypto Wallet Data API Is the Best?&lt;/h2&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #000000; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;&lt;strong&gt;CoinGecko API&lt;/strong&gt;&lt;/a&gt; supports most wallet-data use cases, combining wallet and market data under the same API, flat per-request credit charge regardless of the number of networks queried, and broadest network coverage.&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;Specialized providers serve specific needs, including Moralis for pre-categorized activity feeds, Alchemy for free prototyping, DeBank for normalized DeFi position data, and CoinStats for DeFi data alongside standard wallet balances.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;Portfolio trackers, tax tools, DeFi dashboards, and AI trading agents rely on wallet data to understand what a wallet holds and how it has been used. A wallet data API turns a wallet address into structured data, so you can work with this information without pulling and decoding raw blockchain logs yourself.&lt;/p&gt;

&lt;p&gt;Wallet data APIs read activity from existing wallets. If your application also needs to generate wallets, sign transactions, or manage private keys, you can pair a wallet data API with a wallet-as-a-service provider such as Privy, Turnkey, or Fireblocks.&lt;/p&gt;

&lt;p&gt;This guide compares five wallet data APIs: CoinGecko, Moralis, Alchemy, DeBank, and CoinStats. We looked at chain coverage, key capabilities, limitations, pricing and usage.&lt;/p&gt;

&lt;p&gt;&lt;img alt="Best Crypto Wallet Data API for Developers in 2026 comparison guide covering CoinGecko and four competitor providers." src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136470/content_Best_Crypto_Wallet_Data_APIs_for_Developers_%282026%29.webp" style="max-width: 100%; height: 629px; width: 1200px;"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Choose a Crypto Wallet Data API&lt;/h2&gt;

&lt;h3&gt;Chain coverage&lt;/h3&gt;

&lt;p&gt;The breadth of network coverage and whether the provider supports the chains your application requires.&lt;/p&gt;

&lt;h3&gt;Balances and token holdings&lt;/h3&gt;

&lt;p&gt;Whether you can filter out spam and low-value tokens, sort by value, and paginate through wallets holding hundreds of tokens instead of receiving everything unsorted in a single response.&lt;/p&gt;

&lt;h3&gt;Transaction and transfer history&lt;/h3&gt;

&lt;p&gt;How activity is returned. Some providers tag and categorize events such as buys, deposits, and swaps, while others return raw logs that require interpretation.&lt;/p&gt;

&lt;h3&gt;Historical data&lt;/h3&gt;

&lt;p&gt;How far back wallet value and activity can be accessed.&lt;/p&gt;

&lt;h3&gt;PnL and cost basis&lt;/h3&gt;

&lt;p&gt;Whether profit and loss is calculated and which cost-basis method is used, since different methods can produce different results. Providers may use static average cost, moving average cost, or per-lot methods such as FIFO or HIFO.&lt;/p&gt;

&lt;h3&gt;Pricing, usage, and rate limits&lt;/h3&gt;

&lt;p&gt;Consider the cost at the expected usage, including how pricing changes beyond the plan quota. Rate limits determine how many requests can be made per second and how quickly data can be pulled across multiple wallets.&lt;/p&gt;

&lt;h3&gt;AI agent and MCP support&lt;/h3&gt;

&lt;p&gt;Whether AI agents or MCP-based tools can query wallet data directly, which is relevant for autonomous applications.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Wallet Data APIs at a Glance&lt;/h2&gt;

&lt;p&gt;CoinGecko API provides unified wallet and market data with flat, per-request pricing across 250+ networks. Other providers offer different capabilities, including pre-categorized activity feeds, free usage for prototyping, and detailed DeFi position data for specific use cases.&lt;/p&gt;

&lt;div class="rgt-wrapper" style="--rgt-bg-odd: transparent; --rgt-bg-even: transparent; --rgt-text-color: inherit; --rgt-header-bg: transparent; --rgt-header-text: inherit; --rgt-border-color: currentColor; --rgt-accent-color: inherit; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.5rem 0;"&gt;
&lt;table class="rgt-table" style="width:100%; min-width:920px; border-collapse:collapse; table-layout:fixed; font-size:15px; line-height:1.45; color:var(--rgt-text-color); border:1px solid var(--rgt-border-color); background-color:var(--rgt-bg-odd);"&gt;
	&lt;colgroup&gt;
		&lt;col style="width:13.0%;"&gt;
		&lt;col style="width:12.0%;"&gt;
		&lt;col style="width:12.0%;"&gt;
		&lt;col style="width:13.0%;"&gt;
		&lt;col style="width:13.0%;"&gt;
		&lt;col style="width:21.0%;"&gt;
		&lt;col style="width:16.0%;"&gt;
	&lt;/colgroup&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;API Provider&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Chain Coverage&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;PnL&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Historical Data&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;AI &amp;amp; MCP support&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Entry Pricing &amp;amp; Usage&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Best For&lt;/span&gt;&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); font-weight:600; text-align:center; white-space:nowrap;"&gt;&lt;strong&gt;CoinGecko&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;250+ chains&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Realized + unrealized&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;All-time trades, transfers, and PnL data&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
&lt;a href="https://docs.coingecko.com/ai-integration" target="_blank"&gt;AI Integrations&lt;/a&gt;, SDKs, MCP, CLI, Agent Skills, and x402 pay-per-use&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;div style="margin-bottom:7px;"&gt;$129/mo (500 requests/min)&lt;/div&gt;

			&lt;div&gt;
&lt;strong&gt;Model:&lt;/strong&gt; 1 credit per call, regardless of chains queried&lt;/div&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Broadest chain coverage, unified market and wallet data, and cost-efficient multi-chain wallet data features&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); font-weight:600; text-align:center; white-space:nowrap;"&gt;&lt;strong&gt;Moralis&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;30 chains&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;No native PnL calculation&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Current balances only&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Agent Skills&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;div style="margin-bottom:7px;"&gt;$149/mo (40 requests/sec)&lt;/div&gt;

			&lt;div&gt;
&lt;strong&gt;Model:&lt;/strong&gt; 100 compute units per chain, so cost rises with chain count&lt;/div&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Pre-categorized wallet activity&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); font-weight:600; text-align:center; white-space:nowrap;"&gt;&lt;strong&gt;Alchemy&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;30+ chains&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;No native PnL calculation&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Transaction history via a beta endpoint&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;MCP, CLI, Agent Skills, and x402 pay-per-use&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;div style="margin-bottom:7px;"&gt;Free (25 requests/sec), then $0.525/1M compute units after quota (300 requests/sec)&lt;/div&gt;

			&lt;div&gt;
&lt;strong&gt;Model:&lt;/strong&gt; 200 compute units per call&lt;/div&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Prototyping before scaling&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); font-weight:600; text-align:center; white-space:nowrap;"&gt;&lt;strong&gt;DeBank&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;30+ chains&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;No native PnL calculation&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;24-hour value snapshot only&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;MCP only (unofficial, community-built)&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;div style="margin-bottom:7px;"&gt;$200 per 1M units (100 requests/sec)&lt;/div&gt;

			&lt;div&gt;
&lt;strong&gt;Model:&lt;/strong&gt; 30 units per multi-chain balance check&lt;/div&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;DeFi position tracking&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); font-weight:600; text-align:center; white-space:nowrap;"&gt;&lt;strong&gt;CoinStats&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;120+ chains&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Realized + unrealized&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Portfolio value history&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;MCP, and x402 pay-per-use&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;div style="margin-bottom:7px;"&gt;Free (2 requests/sec), then $49/mo for 1M units (30 requests/sec)&lt;/div&gt;

			&lt;div&gt;
&lt;strong&gt;Model:&lt;/strong&gt; 40 credits per chain, 400 credits for all chains&lt;/div&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;DeFi protocol data alongside wallet balances&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;Best Crypto Wallet Data APIs&lt;/h2&gt;

&lt;h3&gt;CoinGecko API: Broadest Chain Coverage, Unified Wallet Data, and Efficient Pricing&lt;/h3&gt;

&lt;p&gt;&lt;img alt="CoinGecko API: Broadest Chain Coverage, Unified Wallet Data, and Efficient Pricing" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136080/content_CG.webp" style="max-width: 100%; height: 406px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;CoinGecko is the &lt;a href="https://www.coingecko.com/learn/best-crypto-data-api-ranked" target="_blank"&gt;most widely used crypto market data API&lt;/a&gt;, trusted by platforms including Coinbase, Kraken, and Etherscan. Its &lt;a href="https://docs.coingecko.com/reference/onchain-wallets-overview" target="_blank"&gt;Onchain Wallet endpoints&lt;/a&gt; cover wallet balances, trade history, transfers, and PnL, with support for 250+ chains, including Ethereum, Solana, Robinhood, and Base.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Broadest trade and PnL coverage:&lt;/strong&gt; Trade history and PnL extend across 250+ chains, allowing multi-chain wallet activity to be accessed through a single provider.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Flat pricing:&lt;/strong&gt; Each API request costs 1 credit, regardless of the number of networks queried, so querying more networks within the same chain type does not increase credit usage.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Real-time, filterable wallet data:&lt;/strong&gt; Trade and transfer data is returned without a cache delay, while balance queries support minimum USD value filtering, sorting, and pagination to exclude dust and spam tokens.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Built-in PnL:&lt;/strong&gt; Provides realized and unrealized profit and loss without requiring separate PnL calculations.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Official AI tooling:&lt;/strong&gt; AI integrations, SDKs, MCP, CLI, Agent Skills, and x402 pay-per-use access for querying crypto data through AI applications.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Unified data access:&lt;/strong&gt; Wallet data alongside comprehensive price and market data are available through the same API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No historical balance chart:&lt;/strong&gt; The balance endpoint provides current holdings. Historical holdings can be reconstructed from trade and transfer data, but there is no built-in chart for historical holdings.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Limited PnL history:&lt;/strong&gt; PnL is provided as lifetime realized and unrealized totals, without built-in daily or monthly breakdowns. Period-based PnL can still be calculated server-side using raw trade data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Paid wallet access:&lt;/strong&gt; CoinGecko API provides a free Demo API plan. However, its wallet endpoints are exclusively available on the $129/mo Analyst plan and above.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Moralis API: Best for Pre-Categorized Wallet Activity&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Moralis API: Best for Pre-Categorized Wallet Activity" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136465/content_Group_1244831329_%281%29.webp" style="max-width: 100%; height: 401px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Moralis API provides wallet balances, transaction history, token holdings, and portfolio data across 28 EVM chains, with Solana and Bitcoin supported through dedicated wallet APIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Pre-categorized wallet activity:&lt;/strong&gt; Its wallet history endpoint returns a decoded, human-readable activity feed, reducing the need to build custom logic to classify transaction activity.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Bitcoin wallet support:&lt;/strong&gt; Provides Bitcoin balance and transaction history by address or xpub, alongside Solana wallet data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No native PnL:&lt;/strong&gt; The EVM, Solana, and Bitcoin wallet endpoints do not calculate profit and loss.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Usage-based costs:&lt;/strong&gt; EVM wallet balance checks cost 100 compute units per chain queried, so costs increase with the number of chains.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Separate wallet APIs:&lt;/strong&gt; Solana and Bitcoin use dedicated wallet APIs rather than the main EVM Wallet API, requiring different integration paths for multi-chain applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Alchemy API: Best for Prototyping Before Scaling&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Alchemy API: Best for Prototyping Before Scaling" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136466/content_image_1143.webp" style="max-width: 100%; height: 582px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Alchemy's Portfolio API provides token balance data across 30+ EVM chains. It is part of Alchemy's broader suite of APIs for accessing and working with blockchain data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Free tier:&lt;/strong&gt; 30 million compute units per month before paid usage. The usage-based pricing starts at $0.525 per 1 million compute units after the included quota.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;RPC and wallet APIs:&lt;/strong&gt; Wallet data and RPC access are available through the same API account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No native PnL:&lt;/strong&gt; Profit and loss needs to be calculated separately from the available balance and transfer data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Usage cost and multi-chain limit:&lt;/strong&gt; A balance check costs 200 compute units and covers up to 5 networks per address, so checking a wallet across 30+ supported chains requires multiple calls.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Transfers endpoint is beta:&lt;/strong&gt; Alchemy's Transfers by Wallet endpoint is limited to 14 EVM chains and requires access requests.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;No documented dust filter:&lt;/strong&gt; The balance response does not provide a minimum-value parameter for excluding spam or low-value tokens as a way to optimize API and compute credit costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;DeBank API: Best for DeFi Position Tracking&lt;/h3&gt;

&lt;p&gt;&lt;img alt="DeBank API: Best for DeFi Position Tracking" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136467/content_image_1142.webp" style="max-width: 100%; height: 358px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;DeBank focuses on normalized DeFi data across 30+ chains, including lending, staking, and liquidity pool positions, presented in a single view instead of as raw balances.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;DeFi positions:&lt;/strong&gt; Lending, staking, and liquidity-pool positions are normalized across protocols into a single readable view, with structured data for DeFi positions alongside wallet balances.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No native PnL:&lt;/strong&gt; DeBank does not calculate profit and loss.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Limited portfolio history:&lt;/strong&gt; Historical portfolio data is available for a 24-hour period, with no longer-term history.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;No documented dust filter:&lt;/strong&gt; The balance API does not provide a minimum-value parameter for excluding spam or low-value tokens.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;CoinStats API: Best for DeFi Protocol Data Alongside Wallet Balances&lt;/h3&gt;

&lt;p&gt;&lt;img alt="CoinStats API: Best for DeFi Protocol Data Alongside Wallet Balances" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136469/content_image_1144_%281%29.webp" style="max-width: 100%; height: 566px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;CoinStats combines standard wallet balances with DeFi positions, including staking, lending, and liquidity-pool data across more than 10,000 protocols, and supports 120+ chains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;DeFi data:&lt;/strong&gt; Staking, lending, and liquidity-pool positions across 10,000+ protocols are detected for each wallet alongside standard token balances.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Categorized history:&lt;/strong&gt; Wallet transaction history includes pre-applied activity categories.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Built-in PnL:&lt;/strong&gt; The API calculates realized and unrealized profit and loss.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Higher credit cost for multi-chain queries:&lt;/strong&gt; A single-chain balance check costs 40 credits, while some multi-chain queries can cost 400 credits.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;MCP requires account authentication:&lt;/strong&gt; The hosted MCP server requires a CoinStats account instead of an API key, which can be less suitable for server-side integrations that need API-key authentication.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;No documented dust filter:&lt;/strong&gt; The API does not provide a minimum-value parameter for excluding spam or low-value tokens.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;Which Crypto Wallet Data API Should You Choose?&lt;/h2&gt;

&lt;h3&gt;&lt;strong&gt;CoinGecko: Broadest Multi-Chain Fit&lt;/strong&gt;&lt;/h3&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong data-end="227" data-start="198"&gt;Broad multi-chain support&lt;/strong&gt; for accessing the widest network coverage among the five providers, all through one API at a flat, per-request cost.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Portfolio or net worth tracking&lt;/strong&gt; with wallet and market data through the same API.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Real-time wallet activity feeds&lt;/strong&gt; with trade and transfer data returned without cache delay across broad network coverage.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Wallet performance tracking and copy-trading research&lt;/strong&gt; with wallet trade history and realized and unrealized PnL.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Onchain holdings for an existing exchange or wallet app&lt;/strong&gt; with onchain balances alongside off-chain assets through the same API used for market data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Tax and accounting tooling&lt;/strong&gt; using trade and transfer history with realized and unrealized PnL as a starting point for your own cost-basis calculations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;strong&gt;Moralis, Alchemy, DeBank, and CoinStats: Specialized Needs&lt;/strong&gt;&lt;/h3&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Moralis&lt;/strong&gt; for decoded, pre-categorized wallet activity.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Alchemy&lt;/strong&gt; for free prototyping or onchain audits and forensics, particularly if you already use Alchemy for RPC access. Its RPC-based access provides granular raw chain data, but requires more calls and processing.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;DeBank&lt;/strong&gt; for DeFi position tracking covering lending, staking, and liquidity pools normalized across protocols.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;CoinStats&lt;/strong&gt; for DeFi protocol data alongside standard wallet balances and PnL in one response.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;CoinGecko API provides the broadest network coverage, along with unified wallet and market data and flat, per-request pricing. Other providers offer different capabilities, including detailed DeFi position data, free prototyping, and pre-categorized wallet activity.&lt;/p&gt;

&lt;p&gt;The right choice depends on the chains you support, the importance of built-in PnL, your preferred approach to wallet activity categorization, and the provider's multi-chain pricing model.&lt;/p&gt;

&lt;p&gt;If you also need pool- or token-level onchain data, &lt;a href="https://www.coingecko.com/learn/top-5-best-onchain-dex-data-apis" target="_blank"&gt;the best onchain DEX data APIs&lt;/a&gt; compare the options available. For PnL, AI-agent, and portfolio use cases, see &lt;a href="https://www.coingecko.com/learn/build-crypto-ai-assistant-track-profit-loss" target="_blank"&gt;building an AI assistant to track profit and loss&lt;/a&gt; and &lt;a href="https://www.coingecko.com/learn/crypto-portfolio-dashboard-python" target="_blank"&gt;creating a crypto portfolio dashboard in Python&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to start building?&lt;/strong&gt; The &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;CoinGecko API Analyst plan&lt;/a&gt; unlocks the &lt;a href="https://docs.coingecko.com/reference/onchain-wallets-overview" target="_blank"&gt;onchain wallet endpoints&lt;/a&gt;, along with 500K monthly API call credits and a 500 RPM rate limit. If you are not ready to subscribe yet, start with a &lt;a href="https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key" target="_blank"&gt;free Demo API key&lt;/a&gt; to explore 60+ endpoints with 10K free monthly API call credits.&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/best-crypto-wallet-data-api?locale=en</url>
    <summary>.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &amp;amp;gt; p {
  color: inherit !important...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135779</id>
    <published>2026-09-24T06:09:37Z</published>
    <updated>2026-09-24T06:12:09Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/how-long-do-crypto-bull-markets-last-2014-to-2026?locale=en"/>
    <title>Crypto Bull Runs 2014-2026: BTC Gains +130.5% on Average Each Run</title>
    <content type="html">&lt;div dir="ltr"&gt;&lt;img alt="historical btc bull cycles chart 1" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136461/content_historical_btc_bull_cycles_chart_1.webp" style="width: 1200px; height: 1200px;"&gt;&lt;/div&gt;

&lt;h2 dir="ltr"&gt;We Are 33 Days In A New Crypto Bull Cycle&lt;/h2&gt;

&lt;p dir="ltr"&gt;In our &lt;a href="https://www.coingecko.com/research/publications/how-long-do-bitcoin-bear-markets-last" target="_blank"&gt;previous study on crypto bear markets&lt;/a&gt;, we defined each crypto bear market cycle as any period where Bitcoin trades under its 200 Day Moving Average (200D MA) for 30 or more consecutive days. On August 20, 2026, Bitcoin’s price closed above its 200D MA marking the end of the 2025-2026 crypto bear market cycle at 290 days (November 4, 2025 - August 20, 2026). When we reverse our bear market definition, when Bitcoin trades over its 200D MA for 30 or more consecutive days, is our definition of a crypto bull market.&lt;/p&gt;

&lt;p dir="ltr"&gt;August 20, 2026 marks the start of the latest crypto bull cycle which on average lasts 237 days across the 10 completed bull cycles since 2014. Individual cycle lengths vary widely, ranging from as brief as 31 days (the 2020 Pre-COVID Mini-Rally) to as long as 849 days (the 2015-2018 ICO and Halving Cycle Mania).&lt;/p&gt;

&lt;p dir="ltr"&gt;That 849-day episode is the single largest driver behind the 237-day average, running more than double the length of the next-longest cycle, the 385-day 2020-2021 COVID Bull Run. If we exclude the 2015-2018 run, the remaining nine completed bull runs last an average of 169 days, this figure is more likely more representative of how long a typical modern crypto bull run lasts.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="historical btc bull cycles chart 2" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136462/content_historical_btc_bull_cycles_chart_2.webp" style="width: 1200px; height: 1200px;"&gt;&lt;/div&gt;

&lt;h2 dir="ltr"&gt;How Much BTC Gains in Each Bull Cycle&lt;/h2&gt;

&lt;p dir="ltr"&gt;Bitcoin bull markets have delivered an average gain of &lt;strong&gt;+130.5% from start to peak across the nine completed cycles since 2014, &lt;/strong&gt;excluding the outsized&lt;strong&gt; 2015-2018 mania (+7844.3%).&lt;/strong&gt; Individual returns vary enormously, ranging from as modest as &lt;strong&gt;+10.8% (the 2020 Pre-COVID Mini-Rally) &lt;/strong&gt;to as large as &lt;strong&gt;+627.1% (2020-2021 COVID Bull Run).&lt;/strong&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;Using previous averages, if we assume BTC climbs the average of 130.5% from the start of the bull run (August 20 where BTC’s price is $69,255), Bitcoin’s price is projected to climb to $159,634 by the end of this bull cycle.&lt;/strong&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;However, we caveat the above projection on the grounds that gains have generally compressed noticeably since 2022, meaning &lt;strong&gt;we would likely see prices lower than said projections at the end of this bull cycle. &lt;/strong&gt;Specifically, none of the four most recent completed cycles, the 2023 Post-FTX Recovery (+57.7%), 2023-2024 BTC ETF Debut Rally (+156.4%), 2024-2025 US Post-Election Rally (+60.8%), and 2025 $125K ATH Rally (+33.3%), came close to matching the 2020-2021 or 2019 cycles' returns. That pattern suggests Bitcoin's growing market capitalization and institutional participation may be dampening the magnitude of subsequent rallies, even as new catalysts (ETF approvals, election outcomes) continue to drive fresh bull cycles.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;The 2015-2018 ICO and Halving Cycle Mania (+7,844.3%) is excluded from these figures entirely,&lt;/strong&gt; given its magnitude vastly outsizes every other episode on record and would distort any average calculated across the full dataset. Separately, the current 2026 Post-Bear Recovery Rally, up +17.3% as of September 21, 2026, is also excluded from the average as an incomplete, ongoing cycle rather than a finished data point.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Crypto Bull Run Episodes Since 2014&lt;/h2&gt;

&lt;table&gt;
	&lt;colgroup&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Rank (by Gain)&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Bull Market&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Start Date&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;End Date&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Duration (Days)&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Gain to Peak&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2015-2018 ICO and Halving Cycle Mania*&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2015-10-11&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2018-02-05&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;849&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+7,844.3%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2020-2021 COVID Bull Run&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2020-04-30&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2021-05-19&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;385&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+627.1%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2019 ICO Bubble Recovery&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2019-04-03&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2019-09-26&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;177&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+167.3%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;4&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2023-2024 BTC ETF Debut Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2023-10-17&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2024-07-04&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;262&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+156.4%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;5&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2024-2025 US Post-Election Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2024-10-15&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2025-03-09&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;146&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+60.8%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;6&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2023 Post-FTX Recovery Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2023-01-14&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2023-08-17&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;216&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+57.7%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;7&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2021 Peak of DeFi Summer Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2021-10-02&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2021-12-13&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;73&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+40.3%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;8&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2025 $125K ATH Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2025-04-23&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2025-10-17&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;178&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+33.3%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;9&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2015 Mini-Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2015-06-29&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2015-08-18&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;51&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+21.0%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;10&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2026 Post-Bear Recovery Rally (Current)**&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2026-08-20&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Ongoing&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;33+&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+17.3%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;11&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2020 Pre-COVID Mini-Rally&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2020-01-29&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2020-02-28&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;31&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+10.8%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;p dir="ltr"&gt;*Excluded from average gain calculations and chart visualizations due to its magnitude vastly outsizing every other episode. **Excluded from both average calculations as an incomplete, ongoing cycle. Data as of September 21, 2026.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Methodology&lt;/h2&gt;

&lt;p dir="ltr"&gt;Bitcoin daily closing price data was sourced from CoinGecko covering January 1, 2014 through September 21, 2026. The 200-day moving average was calculated as a simple rolling average of the prior 200 daily closing prices. A bull market episode was defined as any continuous stretch where Bitcoin's closing price remained above its 200DMA for 30 or more consecutive days, the inverse of the definition used in CoinGecko's companion bear market study. Brief dips back below the 200DMA lasting fewer than 30 days do not end an episode's designation as the start of a new bull cycle; instead, each episode runs from the first day BTC closes above its 200DMA through the last day before a subsequent 30-plus day stretch below it begins.&lt;/p&gt;

&lt;p dir="ltr"&gt;Gain to Peak is calculated as the percentage increase from a bull episode's 200DMA-crossing start price to its highest closing price recorded during that period. The 2015-2018 ICO and Halving Cycle Mania (+7,844.3%) is excluded from the chart and from average calculations for scale, given its magnitude vastly outsizes every other episode and would flatten the rest of the data to near-invisibility. The current 2026 Post-Bear Recovery Rally is excluded from both average duration and average gain calculations, as it remains an ongoing, incomplete cycle as of the data cutoff date.&lt;/p&gt;

&lt;p dir="ltr"&gt;Average duration (237 days) is calculated across the 10 completed cycles, including the 2015-2018 outlier, since its 849-day length does not distort the chart's visual scale the way its percentage gain does (chart 2). Average gain (+130.5%) is calculated across the nine completed cycles, excluding both the 2015-2018 outlier and the current ongoing episode.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;If you cite these insights, we would appreciate a link credit to this article on CoinGecko, which allows us to keep supplying you with useful data-led content.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;Related:&lt;a href="https://www.coingecko.com/research/publications/how-long-do-bitcoin-bear-markets-last" target="_blank"&gt; How Long Do Bitcoin Bear Markets Last?&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This study is for illustrative and informational purposes only, and is not financial advice.&lt;/em&gt;&lt;/p&gt;
</content>
    <author>
      <name>Loke Choon Khei</name>
    </author>
    <url>https://www.coingecko.com/learn/how-long-do-crypto-bull-markets-last-2014-to-2026?locale=en</url>
    <summary>

We Are 33 Days In A New Crypto Bull Cycle

In our previous study on crypto bear markets, we defined each crypto bear market cycle as any period where Bitcoin trades under its 200 Day Moving Avera...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135777</id>
    <published>2026-09-23T07:56:04Z</published>
    <updated>2026-09-23T08:48:13Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/pendle-defi-stablecoins-rwa-perps-yield?locale=en"/>
    <title>Inevitable: Why Pendle Is Positioned to Capture DeFi's Three Biggest Waves</title>
    <content type="html">&lt;div dir="ltr"&gt;&lt;img alt="Pendle Inevitable" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136460/content_Pendle_Inevitable.webp" style="width: 950px; height: 380px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This article is brought to you by &lt;a href="https://app.pendle.finance/trade/markets" target="_blank"&gt;Pendle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Yield is one of the oldest ideas in finance. The promise of a return is what convinces someone to lend, invest, or park capital in one place rather than another. Every dollar in the system is, in some sense, looking for yield.&lt;/p&gt;

&lt;p dir="ltr"&gt;Pendle's thesis is simple: wherever yield exists, Pendle wants to be the place it gets priced, traded, and locked in. The team describes it almost like gravity: a black hole strong enough that no yield, onchain or off, can escape its pull.&lt;/p&gt;

&lt;p dir="ltr"&gt;Pendle V2 takes any yield-bearing token, like a staked asset or a yield-generating stablecoin, and splits it into two parts: a &lt;strong&gt;Principal Token (PT)&lt;/strong&gt;, which lets you lock in a fixed yield today, and a &lt;strong&gt;Yield Token (YT)&lt;/strong&gt;, which lets you speculate on or leverage the floating yield. Think of it like separating a bond's guaranteed return from its variable upside, and letting people trade each piece separately.&lt;/p&gt;

&lt;p dir="ltr"&gt;Boros extends that same idea to a market V2 doesn't touch: &lt;strong&gt;perpetual futures funding rates&lt;/strong&gt;. These are the fees traders pay each other to hold leveraged positions, and they add up to tens of billions of dollars changing hands every year across crypto's perp markets.&lt;/p&gt;

&lt;p dir="ltr"&gt;Together, V2 and Boros are built to absorb any yield in the system, and the team has identified three specific growth waves they believe will define this cycle: &lt;strong&gt;stablecoins, tokenized real-world assets (RWAs), and perps&lt;/strong&gt;. &lt;/p&gt;

&lt;h2 dir="ltr"&gt;Wave 1: Stablecoins&lt;/h2&gt;

&lt;p dir="ltr"&gt;Stablecoins are the most established product in crypto, and they're still growing. Supply sits at roughly $300 billion as of mid-September 2026, up 14% year over year. The forecasts from traditional finance are aggressive: Citi's base case puts stablecoin supply at $1.9 trillion by 2030, while Standard Chartered projects $2 trillion by 2028, roughly six times where the market stands today.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="Stablecoin Growth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136457/content_Stablecoin_Growth.webp" style="width: 680px; height: 383px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;What makes this wave different from past cycles is who's showing up. Regulation is moving forward, and payment networks and banks are starting to build. A clear example: the &lt;strong&gt;Global Dollar Network&lt;/strong&gt;, the consortium behind Paxos's USDG stablecoin, counts Kraken, Robinhood, Galaxy, and Mastercard among its members, and it has already launched a Pendle market for USDG.&lt;/p&gt;

&lt;p dir="ltr"&gt;The results were fast. Pendle became the &lt;strong&gt;largest holder of USDG on Ethereum&lt;/strong&gt;, holding 27.9% of its supply, growing from zero to $121 million in under two months. On X Layer, the Pendle USDG market alone makes up 40% of the entire chain's &lt;a href="https://www.coingecko.com/learn/total-value-locked?locale=en" target="_blank"&gt;total value locked (TVL)&lt;/a&gt;.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;strong&gt;The Pendle Effect&lt;/strong&gt;, a term coined by analytics platform Dune, describes the surge in demand a token experiences once Pendle launches PT/YT markets for it.&lt;/p&gt;

&lt;ul&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;At its peak, &lt;strong&gt;half of Ethena's TVL&lt;/strong&gt;, around $7 billion, sat on Pendle.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;On Monad, AUSD markets reached ~$230 million in TVL, with Pendle accounting for &lt;strong&gt;more than 78%&lt;/strong&gt; of the stablecoin's total supply.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Stable pools on Pendle have generated&lt;strong&gt; $6 billion in notional volume&lt;/strong&gt; this year alone.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p dir="ltr"&gt;The logic for issuers is straightforward: a stablecoin needs somewhere for its holders to actually earn yield, and Pendle has become the default venue for that. Even under JPMorgan's more conservative outlook, where supply doubles, Pendle's addressable market in stablecoins still doubles within 1.5 years, and grows tenfold within four.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Wave 2: Tokenized RWAs&lt;/h2&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://www.coingecko.com/learn/what-are-real-world-assets-exploring-rwa-protocols?locale=en" target="_blank"&gt;&lt;strong&gt;Tokenized real-world assets (RWAs)&lt;/strong&gt;&lt;/a&gt; like Treasury bills, private credit, and other traditional financial instruments represented onchain are the second wave, and arguably the one attracting the most institutional attention right now.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="RWA Growth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136458/content_RWA_Growth.webp" style="width: 680px; height: 409px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;Excluding stablecoins, tokenized RWAs have grown from around $10 billion at the start of 2025 to nearly $39 billion today, almost a 4x increase in under two years. U.S. Treasuries, private credit, commodities, and tokenized stocks have each individually crossed the $1 billion mark. Long-term projections vary widely, from $2 trillion to over $16 trillion by 2030, but even the conservative end of that range implies roughly a 50x increase in under four years.&lt;/p&gt;

&lt;p dir="ltr"&gt;RWAs have effectively become Pendle's anchor theme in 2026. Of the markets launched this year, &lt;strong&gt;66 are RWA-linked&lt;/strong&gt;, spanning Treasury bills, private credit, STRC dividend products, tokenized equities, and even compute infrastructure. Some traction highlights:&lt;/p&gt;

&lt;ul&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;$210 million&lt;/strong&gt; of RWA-backed PTs now sit as collateral on Morpho.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;STRC markets on Pendle exceeded &lt;strong&gt;$500 million in TVL&lt;/strong&gt; in May, with more than &lt;strong&gt;$977 million in cumulative volume&lt;/strong&gt;, the dominant source of activity in the ecosystem this year.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;USDai&lt;/strong&gt;, which tokenizes compute infrastructure, peaked at $568 million TVL on roughly $2.5 billion of total volume.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;A fund from &lt;strong&gt;Partners Group&lt;/strong&gt;, the $185 billion AUM private equity firm, has just launched on Pendle, signaling the start of another funnel of Pendled assets.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p dir="ltr"&gt;Despite this traction, the team's view is that RWA tokenization is still early. Recent moves from platforms like Robinhood show tokenization is just starting to find genuine product-market fit, and the line separating onchain and offchain finance is blurring quickly as a result.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Wave 3: Perps&lt;/h2&gt;

&lt;p dir="ltr"&gt;The third wave is &lt;strong&gt;perpetual futures&lt;/strong&gt;, or "perps", and specifically, the funding rates attached to them.&lt;/p&gt;

&lt;p dir="ltr"&gt;Perps have become the closest thing crypto has to a 24/7 market for anything, including equities and commodities. Equity-linked perp open interest now sits above $6 billion, up more than 10x in six months. Trading volume for stocks on Hyperliquid grew from $4 billion to $212 billion this year, and when SpaceX went public, price discovery for its shares actually happened on perp markets before real shares were trading. Traditional finance is paying attention too: ICE (which owns the NYSE) took a stake in OKX and listed its Brent and WTI oil benchmarks there, while Kalshi has launched the first CFTC-regulated perps in the U.S.&lt;/p&gt;

&lt;p dir="ltr"&gt;However, perp funding rates are volatile, and that volatility gets worse the further you move from crypto's biggest assets. In May, Hyperliquid's funding averaged 14% annualized and Binance's averaged 17.5%. Oil funding is roughly 14 times more volatile than Bitcoin's, flipping between positive and negative on 40% of trading days. Even traders who correctly predicted a price move, like oil falling from $113 to $91 in early April, still gave up significant profits to funding costs along the way.&lt;/p&gt;

&lt;p dir="ltr"&gt;Individual asset comparisons make the point sharply: on Binance this year, holding a BTC perp cost about $0.03 in funding per $1 of notional exposure. Holding an SK Hynix-linked perp cost $0.35. BTC's daily funding rate moved with a standard deviation of 5%; for gold and silver it was 60–65%; for SK Hynix, 163%. RWA funding volatility is a fundamentally different challenge than anything crypto traders have dealt with before; no desk can safely hold a leveraged position on a cost that swings that hard.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="Cumulative funding " loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136459/content_Cumulative_funding_.webp" style="width: 680px; height: 635px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;This is the gap &lt;strong&gt;Boros&lt;/strong&gt; is built to fill. It lets traders lock in funding costs, run fixed-return carry trades, or simply take a view on where funding is headed. Boros also recently launched &lt;strong&gt;Arbitrage&lt;/strong&gt;, a tool built with the prime broker CrossEx that turns cross-exchange funding arbitrage into a two-click trade: open the perp position on CrossEx, open the matching Boros position. According to Pendle, live opportunities have consistently landed around 20–40% fixed APR.&lt;/p&gt;

&lt;p dir="ltr"&gt;As perps scale into a genuine 24/7 global market, funding becomes something every trader eventually has to manage. Right now, there's really only one dedicated venue built for that.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Distribution and Liquidity: Pendle's Edge&lt;/h2&gt;

&lt;p dir="ltr"&gt;PTs are widely accepted as collateral across both DeFi and CeFi platforms, and Pendle's cross-chain PT functionality means that collateral isn't stuck on a single network. Earlier this year, $170 million of PT-USDe was bridged from Ethereum to BNB Chain to be used as collateral elsewhere. For a stablecoin or RWA issuer, launching on Pendle brings distribution alongside yield.&lt;/p&gt;

&lt;p dir="ltr"&gt;Liquidity is where the improvements over the past year stand out. As of writing, a $50 million swap into PT-sUSDS locks in roughly 4.6% fixed APY with only 0.05% slippage, according to Pendle, an efficiency level that holds up against the deepest markets on major centralized exchanges. The same combination of deep swap capacity and fixed-rate access shows up across Pendle's stablecoin and RWA markets.&lt;/p&gt;

&lt;p dir="ltr"&gt;Pendle pairs its &lt;a href="https://www.coingecko.com/learn/what-is-an-automated-market-maker-amm?locale=en" target="_blank"&gt;AMM&lt;/a&gt; liquidity with a limit order system, so trades can fill against both simultaneously for the best available price. Underneath sits an algorithmic incentive module (AIM), which automatically allocates PENDLE token rewards across markets. Pendle reports tradable liquidity up roughly 71% year-to-date (from ~350Mto~600M), a 22x improvement in the cost of acquiring liquidity, and token emissions down 92% since the start of the year.&lt;/p&gt;

&lt;p dir="ltr"&gt;On the AUSD market, floating TVL sits at $130 million while the AMM liquidity pool backing it is just $2.5 million. With limit orders and AIM, a $20 million trade against that pool moves yield by just 0.22%, a level of capital efficiency that used to require billions in TVL.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;The Bigger Picture&lt;/h2&gt;

&lt;p dir="ltr"&gt;Each of these three waves (stablecoins, RWAs, and perps) is following its own separate growth curve. But they share the same underlying need: somewhere for yield to be priced, fixed, or hedged.&lt;/p&gt;

&lt;ul&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;A stablecoin that wants to scale needs somewhere its holders can actually earn yield.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;A tokenized fund arriving onchain with a floating rate needs somewhere that rate can be stripped out and fixed.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;A perp on any asset, onchain or off, carries a funding rate, and a funding rate can only be hedged where funding is actively traded.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p dir="ltr"&gt;As each of these markets grows toward the scale analysts are projecting, they're converging on the same infrastructure gap. Pendle's bet is that it's already built to fill it.&lt;/p&gt;

&lt;p dir="ltr"&gt;Explore fixed yield on stablecoin and RWA markets: &lt;a href="https://app.pendle.finance" target="_blank"&gt;app.pendle.finance&lt;/a&gt;&lt;br&gt;
Trade or hedge funding rates: &lt;a href="https://boros.pendle.finance" target="_blank"&gt;boros.pendle.finance&lt;/a&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This article draws on Pendle's original "Inevitable" thesis piece, &lt;a href="https://x.com/pendle_fi/status/2102186179760365804" rel="nofollow noopener" target="_blank"&gt;available here&lt;/a&gt;. TVL, volume, and market-share figures in this piece are as reported by Pendle.&lt;/em&gt;&lt;/p&gt;
</content>
    <author>
      <name>CoinGecko</name>
    </author>
    <url>https://www.coingecko.com/learn/pendle-defi-stablecoins-rwa-perps-yield?locale=en</url>
    <summary>

This article is brought to you by Pendle.

Yield is one of the oldest ideas in finance. The promise of a return is what convinces someone to lend, invest, or park capital in one place rather than...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135776</id>
    <published>2026-09-23T04:24:05Z</published>
    <updated>2026-10-04T02:37:09Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/gauntlet-case-study?locale=en"/>
    <title>How Gauntlet Manages Risk and Optimizes Yield for $1.5B+ in Onchain Vaults</title>
    <content type="html">&lt;p dir="ltr"&gt;&lt;img alt="CoinGecko x Gauntlet: How Gauntlet Manages Risk and Optimizes Yield for $1.5B+ in Onchain Vaults" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136447/content_Gauntlet_x_CoinGecko_%282%29.webp" style="width: 1200px; height: 628px;"&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Gauntlet is the leading quantitative risk manager in crypto. It builds optimization strategies and platforms for protocols, applications, and chains, while its economic risk models protect billions in decentralized finance. The same research and risk expertise now powers Gauntlet's onchain vaults, both those curated on protocols such as Morpho and those running on Aera, Gauntlet's first-party vault infrastructure, which deliver risk-adjusted yield to vault suppliers.&lt;/p&gt;

&lt;p dir="ltr"&gt;Today, more than $1.5B is allocated across these strategies, serving more than 50,000 users directly, and many more via partners. To price risk and value collateral, Gauntlet uses the &lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;CoinGecko API&lt;/a&gt; as a pricing layer for its quantitative risk models and the Gauntlet App, providing reliable market data for risk analysis and asset valuation.&lt;/p&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;Key Metrics at a Glance&lt;/h2&gt;

&lt;ul&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Gauntlet's economic risk models cover billions in DeFi, while its onchain vault strategies have &lt;strong&gt;$1.5B in allocated assets across more than 50,000 users&lt;/strong&gt;.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;CoinGecko API powers &lt;strong&gt;live vault supply figures, individual vault allocations, and portfolio valuations&lt;/strong&gt; in the Gauntlet App and is a core component of the &lt;strong&gt;Gauntlet API/SDK&lt;/strong&gt;.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p dir="ltr" role="presentation"&gt;&lt;a href="https://www.coingecko.com/en/api/enterprise" target="_blank"&gt;&lt;img alt="Subscribe to CoinGecko API now! " loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136452/content_Subcribe_to_CoinGecko_API_CTA_-_Enterprise_%285%29.webp" style="width: 1200px; height: 235px;"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;The Challenge: Pricing Risk Across Blue-Chip and Emerging Collateral&lt;/h2&gt;

&lt;p dir="ltr"&gt;As Gauntlet evaluates new collateral options for its onchain vaults, it needs dependable data to assess asset value, liquidity, and risk. That challenge becomes more complex across DeFi's broad range of assets, from established blue-chip tokens to newer crypto-native assets. A vault might hold established, deeply liquid tokens one day and a newer crypto-native asset being evaluated as collateral the next. Both require dependable market data to inform risk and valuation decisions.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://www.gauntlet.xyz/" target="_blank"&gt;Gauntlet&lt;/a&gt; needed a single provider able to cover both ends of that spectrum, without stitching together multiple sources, with the speed and reliability to run inside live production systems. Beyond a headline price, Gauntlet also needed visibility into the specific liquidity pairs and trading venues behind each asset.&lt;/p&gt;

&lt;p dir="ltr"&gt;This needs now extend to newly emerging onchain assets such as stablecoins, RWAs, and other tokenized instruments.&lt;/p&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;Why Gauntlet Chose CoinGecko API&lt;/h2&gt;

&lt;p dir="ltr"&gt;CoinGecko's market data spans prominent blue-chip tokens and longer-tail crypto-native assets, aggregated across centralized and decentralized exchanges rather than relying on a single venue. Through the CoinGecko API, Gauntlet accesses this data programmatically for its live risk models and the Gauntlet App.&lt;/p&gt;

&lt;div aria-label="Testimonial" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h3 style="margin: 0px 0px 1rem; color: #19412D; font-weight: 700;"&gt;What Gauntlet Says About CoinGecko API&lt;/h3&gt;

&lt;p style="line-height: 1.6; color: #34af00; margin-bottom: 1.5rem; font-weight: 500;"&gt;"CoinGecko is a foundational data provider for Gauntlet. Its pricing and market data support timely risk decisions, from evaluating new collateral to monitoring deviations between market and oracle prices, while its historical data helps us backtest and refine strategies. It also powers numerous metrics across the Gauntlet App and serves as a core component of our API/SDK."&lt;/p&gt;

&lt;p style="margin: 0; font-weight: 500; color: #19412D;"&gt;— Rei Chiang, Chief Technology Officer at Gauntlet&lt;/p&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;How Gauntlet Leverages CoinGecko API&lt;/h2&gt;

&lt;p dir="ltr"&gt;CoinGecko data supports Gauntlet's quantitative risk models for asset selection and risk monitoring, while providing the market data displayed to vault suppliers in the Gauntlet App.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Vault and Portfolio Valuation Across the Gauntlet App&lt;/h3&gt;

&lt;p dir="ltr"&gt;Each vault's total supply is displayed in USD alongside its net APY, contributing to the overall Total Value Locked across Gauntlet's vaults. CoinGecko's &lt;a href="http://docs.coingecko.com/reference/simple-token-price#coin-price-by-token-addresses" target="_blank"&gt;/simple/token_price/{id}&lt;/a&gt; endpoint provides token prices by contract address, batching many tokens into a single request per chain. This allows Gauntlet to efficiently retrieve the data needed to value multiple assets across the Gauntlet App.&lt;/p&gt;

&lt;p dir="ltr" style="text-align: center;"&gt;&lt;img alt="Vaults: Total Value Locked and per-vault supply in USD" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136453/content_image_1118_%282%29.webp" style="width: 1200px; height: 434px;"&gt;&lt;em&gt;Vaults: Total Value Locked and per-vault supply in USD&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At the position level, a vault's Allocations tab breaks that same valuation down by protocol and asset, showing exactly how much capital is allocated to each. On the Portfolio page, connected wallets show the live USD value of idle assets held across multiple chains. This gives users visibility into assets that may be available to allocate to a Gauntlet vault. For assets shown in the Portfolio view, Gauntlet uses CoinGecko's &lt;a href="http://docs.coingecko.com/reference/simple-price" target="_blank"&gt;/simple/price&lt;/a&gt; endpoint to retrieve current prices for portfolio valuation.&lt;/p&gt;

&lt;p dir="ltr" style="text-align: center;"&gt;&lt;img alt="Allocations: Capital allocated across underlying protocols and assets" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136454/content_image_%288%29_1_%281%29.webp" style="width: 1200px; height: 635px;"&gt;&lt;em&gt;Allocations: Capital allocated across underlying protocols and assets&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr" style="text-align: center;"&gt;&lt;img alt="Idle Assets: Live USD value of assets held outside a vault" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136455/content_Group_1244831324_%281%29.webp" style="width: 1200px; height: 509px;"&gt;&lt;em&gt;Idle Assets: Live USD value of assets held outside a vault&lt;/em&gt;&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Historical Data for PnL Tracking and Strategy Backtesting&lt;/h3&gt;

&lt;p dir="ltr"&gt;Gauntlet uses CoinGecko's &lt;a href="http://docs.coingecko.com/reference/coins-id-market-chart-range" target="_blank"&gt;/coins/{id}/market_chart/range&lt;/a&gt; endpoint for historical price, market cap, and volume data between specified start and end dates. This data supports historical views of users' position performance, showing how wallet values have changed over time, as well as Gauntlet's strategy backtesting.&lt;/p&gt;

&lt;p dir="ltr" style="text-align: center;"&gt;&lt;img alt="Position History: Wallet value over time" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136456/content_Group_1244831325_%281%29.webp" style="width: 1200px; height: 688px;"&gt;&lt;em&gt;Position History: Wallet value over time&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;For tokens identified by contract address, Gauntlet uses &lt;a href="http://docs.coingecko.com/reference/contract-address-market-chart#coin-historical-chart-data-by-token-address" target="_blank"&gt;/coins/{id}/contract/{contract_address}/market_chart&lt;/a&gt; to retrieve historical market data. For a specific past date, it uses &lt;a href="http://docs.coingecko.com/reference/coins-id-history" target="_blank"&gt;/coins/{id}/history&lt;/a&gt; to retrieve the corresponding historical price.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Liquidity Analysis and Price Validation for Risk Models&lt;/h3&gt;

&lt;p dir="ltr"&gt;Before treating an asset as vault collateral, Gauntlet uses CoinGecko's &lt;a href="http://docs.coingecko.com/reference/coins-id-tickers" target="_blank"&gt;/coins/{id}/tickers&lt;/a&gt; endpoint to assess where its liquidity sits across trading pairs and venues, including centralized and decentralized markets. This gives the team visibility into whether liquidity is distributed across multiple markets or concentrated in a single venue or pool.&lt;/p&gt;

&lt;p dir="ltr"&gt;CoinGecko's market price also serves as an independent reference in Gauntlet's live risk systems. When it diverges from an asset's onchain oracle price, the difference can signal a potential risk event and prompt further monitoring.&lt;/p&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;Business and User Outcomes&lt;/h2&gt;

&lt;p dir="ltr"&gt;With real-time pricing, historical data, and liquidity data available programmatically, Gauntlet's team can assess new assets for vault collateral using the same market data across its risk systems.&lt;/p&gt;

&lt;p dir="ltr"&gt;The pricing feed also supports Gauntlet's continuous risk monitoring. Its oracle-deviation check compares an asset's market price against an oracle price, so accurate market data is essential for identifying potential discrepancies.&lt;/p&gt;

&lt;p dir="ltr"&gt;For vault suppliers, consistent pricing matters across the Gauntlet App. Values such as vault TVL, allocation amounts, and portfolio balances are based on the same aggregated market pricing rather than a single exchange's view.&lt;/p&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;What's Next on Gauntlet's Roadmap&lt;/h2&gt;

&lt;p dir="ltr"&gt;Gauntlet is expanding its onchain vaults and the infrastructure that supports them. Its roadmap includes growing stablecoin adoption and the expansion of onchain real-world assets, alongside emerging categories such as prediction markets, tokenized equities, and perpetual futures.&lt;/p&gt;

&lt;p dir="ltr"&gt;These markets introduce new asset types, trading venues, and market structures that require broader market-data coverage. As Gauntlet expands into these markets, CoinGecko's coverage across established and emerging assets, centralized and decentralized markets, and venue-level liquidity data can support the pricing and risk analysis behind them. This also extends to tokenized equities through &lt;a href="http://docs.coingecko.com/reference/rwa-overview" target="_blank"&gt;real-world asset data&lt;/a&gt; covering stocks, ETFs, and commodities, available through the same API.&lt;/p&gt;

&lt;hr&gt;
&lt;h2 dir="ltr"&gt;Get In Touch&lt;/h2&gt;

&lt;p dir="ltr"&gt;Ready to supercharge your crypto project? Fill in the form below to connect with our &lt;a href="https://www.coingecko.com/en/api/enterprise" target="_blank"&gt;API Sales team&lt;/a&gt; for a custom CoinGecko API plan tailored to enterprise needs.&lt;/p&gt;

&lt;p dir="ltr"&gt; &lt;/p&gt;
&lt;script charset="utf-8" type="text/javascript" src="//js-na2.hsforms.net/forms/embed/v2.js"&gt;&lt;/script&gt;&lt;script&gt;
  hbspt.forms.create({
    portalId: "5275236",
    formId: "bb29793b-e1fe-41e9-bef0-b8df8c35fe44",
    region: "na2"
  });
&lt;/script&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This article was written in collaboration with Gauntlet team.&lt;/em&gt;&lt;/p&gt;
</content>
    <author>
      <name>CoinGecko</name>
    </author>
    <url>https://www.coingecko.com/learn/gauntlet-case-study?locale=en</url>
    <summary>

Gauntlet is the leading quantitative risk manager in crypto. It builds optimization strategies and platforms for protocols, applications, and chains, while its economic risk models protect billio...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135775</id>
    <published>2026-09-23T03:53:12Z</published>
    <updated>2026-10-14T02:04:21Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/best-pre-ipo-private-market-data-api?locale=en"/>
    <title>Best APIs for Pre-IPO &amp; Private Market Data in 2026</title>
    <content type="html">&lt;style type="text/css"&gt;.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; p {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; ul {
  color: inherit !important;
}
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR&lt;/h2&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #000000; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;&lt;strong&gt;CoinGecko API&lt;/strong&gt;&lt;/a&gt; is the best pre-IPO data API for real-time, onchain market data, including live pricing for tokenized exposure to companies such as OpenAI and SpaceX, aggregated into a single market view per company.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;Specialized providers cover different needs, with Crunchbase for funding and company research, Caplight for secondary-market pricing and cap-table data, Nasdaq Private Market for blended valuations, Better Markets for stock-style private-company pricing, and PitchBook for deal, investor, and fund data.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;Private-market data is becoming easier to access and more diverse. Providers are expanding their coverage of private companies, tokenization is bringing some private-market exposure onchain, and prediction markets are creating new ways to read IPO sentiment in real time.&lt;/p&gt;

&lt;p&gt;The market still differs from public markets, where consolidated pricing and standardized reporting make companies easier to track. For pre-IPO businesses, valuations can depend on the latest funding round or secondary-market transaction, while information about ownership, company developments, and financials remains spread across different sources.&lt;/p&gt;

&lt;p&gt;This article compares the major data sources for pre-IPO and private-market data in 2026 and covers two additional data types: tokenized onchain pre-IPO data and prediction-market sentiment.&lt;/p&gt;

&lt;p&gt;&lt;img alt="Best APIs for Pre-IPO and Private Market Data in 2026, featuring the CoinGecko API." height="629" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136445/content_Best_APIs_for_Pre-IPO___Private_Market_Data_in_2026.webp" style="max-width:100%;height:auto;" width="1200"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;What Is Pre-IPO Data?&lt;/h2&gt;

&lt;p&gt;Pre-IPO data is structured information about a company before it lists on a public exchange. It can include funding rounds and valuations, ownership and cap-table structure, secondary-market pricing, which shows what existing shares are trading for privately, as well as company news and financials.&lt;/p&gt;

&lt;p&gt;No single provider covers all of these data points. Each API specializes in a different part of the private-market data landscape, so the right choice depends on what you need to measure.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Pre-IPO &amp;amp; Private Market Data APIs at a Glance&lt;/h2&gt;

&lt;p&gt;CoinGecko’s API is best suited for teams that need live onchain pricing for tokenized pre-IPO companies, with a free starting tier. Other providers focus on funding data, cap tables, secondary-market pricing, and enterprise deal data. Depending on the use case, teams may need to combine multiple sources to get the coverage they need.&lt;/p&gt;

&lt;div class="rgt-wrapper" style="--rgt-bg-odd: transparent; --rgt-bg-even: transparent; --rgt-text-color: inherit; --rgt-header-bg: transparent; --rgt-header-text: inherit; --rgt-border-color: currentColor; --rgt-accent-color: inherit; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.5rem 0;"&gt;
&lt;table class="rgt-table" style="width:100%; min-width:1000px; border-collapse:collapse; table-layout:fixed; font-size:15px; line-height:1.45; color:var(--rgt-text-color); border:1px solid var(--rgt-border-color); background-color:var(--rgt-bg-odd);"&gt;
	&lt;colgroup&gt;
		&lt;col style="width:12%;"&gt;
		&lt;col style="width:24%;"&gt;
		&lt;col style="width:26%;"&gt;
		&lt;col style="width:16%;"&gt;
		&lt;col style="width:22%;"&gt;
	&lt;/colgroup&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Provider&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Data Types&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Data Freshness / Methodology&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Pricing&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Best For&lt;/span&gt;&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;CoinGecko API&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Tokenized pre-IPO and public-market assets, with price, market cap, volume, historical data, trading pairs, and venues&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Live, continuously updated as trades happen, with data aggregated across issuers, chains, and venues&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;ul style="margin:0; padding-left:1.1rem;"&gt;
				&lt;li&gt;Free Demo plan&lt;/li&gt;
				&lt;li&gt;From $29/month for historical data and ticker data&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Real-time, onchain market data for tokenized pre-IPO and public companies&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;Crunchbase&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Funding rounds, company profiles, AI-based predictions for funding, IPO, acquisition, and closure likelihood&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Event-driven, updated as new funding rounds and company changes are reported&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Sales-led&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Funding rounds and company research at scale&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;Caplight&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Secondary-market pricing, implied valuations from live bid/ask data, cap-table data, and investor data&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Valuation recalculates as new bid/ask activity comes in on the secondary market&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Sales-led&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Secondary-market pricing and cap-table data&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;Nasdaq Private Market&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Blended valuations from funding rounds, secondary trades, and formal valuation marks&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Blended price recalculates as new secondary trades, funding rounds, or valuation marks are reported&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Sales-led&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;A single company valuation based on multiple data sources&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;Better Markets&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Real-time OHLCV pricing, funding history, financials, research reports, and private-company news&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Bid/ask quotes stream continuously&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;$499/month (single plan)&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Private-company prices presented like public stock prices&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;PitchBook&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Companies, deals, investors, funds, service providers, and limited partners&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Deal and funding news update multiple times daily, while company profiles and fund benchmarks update from days to a quarter, with statistical modeling for recent figures&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Sales-led&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Deal, investor, and fund data for existing customers&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;Best APIs for Pre-IPO &amp;amp; Private Market Data&lt;/h2&gt;

&lt;h3&gt;CoinGecko API: Best for Tokenized Pre-IPO Market Data&lt;/h3&gt;

&lt;p&gt;&lt;img alt="CoinGecko API: Best for Tokenized Pre-IPO Market Data" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136080/content_CG.webp" style="max-width: 100%; height: 407px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;CoinGecko is the &lt;a href="https://www.coingecko.com/learn/best-crypto-data-api-ranked" target="_blank"&gt;most widely used crypto and tokenized market data API&lt;/a&gt;, trusted by leading digital asset companies including Coinbase, Kraken, and Etherscan. Its &lt;a href="https://docs.coingecko.com/demo/reference/rwa-overview" target="_blank"&gt;RWA (Real-World Asset) endpoints&lt;/a&gt; track tokenized versions of both public and pre-IPO companies. The coverage includes 900+ tokenized assets across issuers and blockchains, with fragmented listings aggregated into a unified market view for each asset.&lt;/p&gt;

&lt;p&gt;Every asset listed goes through &lt;a href="https://www.coingecko.com/en/api/rwa-classification-methodology" target="_blank"&gt;a published three-step classification methodology&lt;/a&gt;: identify the real-world asset a token represents, verify that it is backed and redeemable, and confirm that token holders can redeem the token for the underlying asset. Tokens that only track an asset’s price synthetically or exist only on testnets do not qualify.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Live pre-IPO pricing:&lt;/strong&gt; Real-time price, market cap, and 24-hour volume for tokenized exposure to OpenAI, SpaceX, Anthropic, Anduril, xAI, Kalshi, Polymarket, and more.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;One aggregated market view per company:&lt;/strong&gt; CoinGecko combines tokens from 30+ issuing platforms into a single asset with a unified price, market cap, and volume figure, while keeping individual tokens queryable separately for users who need a per-token breakdown.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Historical charts and venue-level detail:&lt;/strong&gt; Historical price data for trend analysis, with trading-venue and volume breakdowns for each asset.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Cost-efficient access to market data:&lt;/strong&gt; The free plan covers the full directory of tracked assets, current price, market cap, and 24-hour volume, lowering the cost and friction of getting started. Its entry-level paid plan starts at $29/month, the lowest-cost option among the providers compared here, and includes historical price charts and per-exchange ticker data for more detailed market analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No company-level data:&lt;/strong&gt; It shows trading activity for tokenized exposure to a company, rather than the company’s funding history, cap table, or financials.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Coverage depends on tokenization:&lt;/strong&gt; A company is only covered if a tokenization platform has issued a tokenized asset for it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Traders, developers, and analysts who need a real-time, market-based view of pre-IPO company valuations, alongside tokenized-asset and broader crypto market data through the CoinGecko API.&lt;/p&gt;

&lt;h3&gt;Crunchbase: Best for Funding-Round and Company Research at Scale&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Crunchbase: Best for Funding-Round and Company Research at Scale" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136438/content_Crunchbase.webp" style="max-width: 100%; height: 496px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Crunchbase provides startup and funding data, with coverage across funding rounds, company details, and leadership. It also offers machine learning-based predictions on a company’s likelihood of raising funding, being acquired, going public, or shutting down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Funding history:&lt;/strong&gt; Funding rounds across private companies, with details such as funding amounts, dates, and investors.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Predictive signals:&lt;/strong&gt; Machine learning-based estimates for funding, IPO, acquisition, and company closure outcomes.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Company and leadership data:&lt;/strong&gt; Firmographic and leadership information alongside funding details.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Limited secondary-market data:&lt;/strong&gt; Crunchbase records reported secondary-share sales as a funding-round type and tracks investors active in the secondary market. This indicates that a transaction occurred, but does not provide continuously updated secondary-market pricing or cap-table data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;No published pricing:&lt;/strong&gt; Platform access starts from $49/month, but API and data licensing require a custom quote, making costs harder to assess upfront.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Teams that need broad, ongoing funding-round and company research across many private companies, with access available through an enterprise contract.&lt;/p&gt;

&lt;h3&gt;Caplight: Best for Secondary-Market Pricing and Cap-Table Data&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Caplight: Best for Secondary-Market Pricing and Cap-Table Data" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136439/content_Caplight.webp" style="max-width: 100%; height: 384px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Caplight focuses on private-market pricing, providing insight into what private shares are actually trading for. Its MarketPrice feature derives implied valuations from live bid and ask data in the secondary market, while also providing cap-table insights and an investor database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Implied secondary-market valuations:&lt;/strong&gt; Valuations derived from live trading activity rather than a company’s last funding round.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Cap-table insights:&lt;/strong&gt; Cap-table and ownership insights not typically available in funding-focused databases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No published pricing:&lt;/strong&gt; Caplight does not publish API pricing or detailed technical documentation publicly, making it harder to evaluate costs and API capabilities upfront.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Analysts and investors who need current pricing for a private company’s shares on the secondary market, using market pricing instead of its latest reported funding round or a tokenized proxy.&lt;/p&gt;

&lt;h3&gt;Nasdaq Private Market: Best for Single Blended Valuation&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Nasdaq Private Market: Best for Single Blended Valuation" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136440/content_Nasdaq_Private_Market.webp" style="max-width: 100%; height: 479px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Nasdaq Private Market’s NPM Price combines primary funding rounds, secondary transactions, and accounting-based marks, such as 409A valuations and mutual-fund marks, into one algorithmically evaluated price per company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;One evaluated price per company:&lt;/strong&gt; Combines multiple valuation inputs into a single price across more than 1,200 tracked unicorns.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Multiple valuation inputs:&lt;/strong&gt; Incorporates funding rounds, secondary transactions, 409A valuations, and mutual-fund marks to provide a broader view of private-company valuations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Enterprise-only API access:&lt;/strong&gt; Nasdaq allows users to browse NPM Price and company data through its website, but full API access requires contacting its sales team for pricing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Analysts, investors, and finance professionals who need a single, defensible valuation for each company without having to build one from multiple raw data sources.&lt;/p&gt;

&lt;h3&gt;Better Markets: Best for Stock-Style Pricing for Named Private Companies&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Better Markets: Best for Stock-Style Pricing for Named Private Companies" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136441/content_Better_Markets.webp" style="max-width: 100%; height: 573px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Better Markets provides market-data API features for more than 100 named private companies, including real-time bid/ask, OHLCV price data, funding history, financials, research reports, and news.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Stock-style market data:&lt;/strong&gt; Provides OHLCV pricing in a format familiar to users of public-market data APIs.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Multiple data types:&lt;/strong&gt; Combines pricing, financials, research reports, and news in one product.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;High starting price:&lt;/strong&gt; The Pro plan costs $499/month, which may be a significant cost for users who only need limited private-market data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Limited company coverage:&lt;/strong&gt; Covers about 100 named private companies, limiting its use for users researching a broader range of private companies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Analysts and investors who want stock-style pricing for private-company shares through a traditional, off-chain marketplace rather than blockchain-based markets offering tokenized exposure to the same companies.&lt;/p&gt;

&lt;h3&gt;PitchBook: Best for Deal, Investor, and Fund Data&lt;/h3&gt;

&lt;p&gt;&lt;img alt="PitchBook: Best for Deal, Investor, and Fund Data" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136442/content_PitchBook.webp" style="max-width: 100%; height: 427px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;PitchBook’s API provides programmatic access to private-market data across companies, deals, people, investors, funds, service providers, and limited partners. It covers deal-level, company, and investor data, making it useful for teams that need private-market information in their own applications and workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Broad entity coverage:&lt;/strong&gt; Covers companies, deals, people, investors, funds, service providers, and limited partners, including deal-level and limited-partner data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Documented update methodology:&lt;/strong&gt; Specifies how frequently different datasets are updated and how it estimates data between verified updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No published pricing:&lt;/strong&gt; PitchBook does not publish API pricing or detailed technical documentation publicly. Its free demo and API access require contacting sales, making it harder to evaluate costs and access requirements upfront.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Requires an existing subscription:&lt;/strong&gt; API access is an enterprise add-on rather than a standalone API product, limiting accessibility for users who only need API data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Existing PitchBook customers who want to access deal, investor, and fund data programmatically instead of through the platform’s interface.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How Is Tokenization Changing Pre-IPO Data?&lt;/h2&gt;

&lt;p&gt;CoinGecko’s RWA data brings onchain pricing into pre-IPO market research, tracking tokenized exposure to private companies across multiple issuing platforms and aggregating these tokens into a single priced asset for each company. This provides a live view of private-company valuations alongside traditional data such as funding rounds and valuation marks.&lt;/p&gt;

&lt;p&gt;Platforms such as PreStocks, Tessera, Republic and Gate tokenize exposure to private companies before they go public, creating assets that can trade continuously on a blockchain rather than through occasional private transactions.&lt;/p&gt;

&lt;p&gt;Tokenized pre-IPO activity is also expanding beyond US startups. In 2026, traders used an onchain perpetual contract tied to the expected share price of ChangXin Memory Technologies (CXMT), a Chinese memory-chip maker, to trade its implied valuation ahead of its Shanghai listing. The contract at one point implied a valuation of &lt;a href="https://finance.yahoo.com/markets/options/articles/cxmt-pre-ipo-market-implies-201424052.html?" rel="nofollow noopener" target="_blank"&gt;roughly $500 billion&lt;/a&gt;, months before CXMT’s shares began trading publicly. This shows how onchain markets can provide a live view of private-company valuations before they reach public markets.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Can Prediction Markets Signal Pre-IPO Sentiment?&lt;/h2&gt;

&lt;p&gt;Prediction markets such as Polymarket and Kalshi can provide a real-time view of expectations around whether and when a company may go public. Some markets also allow participants to trade on potential IPO valuation outcomes, providing an additional market-implied signal of how participants are pricing a company's eventual public-market debut. Both platforms offer public APIs and host markets covering IPO-related outcomes and timing.&lt;/p&gt;

&lt;p&gt;This data reflects market sentiment rather than verified financial information. It can add context to what the market expects, but it should not replace funding, valuation, or secondary-market pricing data.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;CoinGecko API brings live, onchain pricing for tokenized exposure to private companies such as OpenAI and Anthropic into pre-IPO research. This complements funding-round, cap-table, secondary-market, and valuation data by showing how tokenized exposure to a private company is valued in the market.&lt;/p&gt;

&lt;p&gt;The other providers covered serve different areas of the pre-IPO data market. Crunchbase and PitchBook cover funding and company data, Caplight and Better Markets offer off-chain secondary pricing, Nasdaq Private Market provides blended valuation data, and Polymarket and Kalshi provide prediction-market sentiment around potential IPO outcomes.&lt;/p&gt;

&lt;p&gt;To explore tokenized pre-IPO data further, the &lt;a href="https://www.coingecko.com/learn/tokenized-rwa-data-api-guide" target="_blank"&gt;RWA data API guide&lt;/a&gt; walks through the endpoints for pulling live pre-IPO prices into your code. For automated applications, the guide to &lt;a href="https://www.coingecko.com/learn/best-crypto-api-algorithmic-trading-bots-ai-agents" target="_blank"&gt;crypto APIs for trading bots and AI agents&lt;/a&gt; covers those use cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to start building?&lt;/strong&gt; Sign up for a free &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;CoinGecko API key&lt;/a&gt; and explore the &lt;a href="https://docs.coingecko.com/demo/reference/rwa-overview" target="_blank"&gt;RWA endpoints&lt;/a&gt;. To access historical chart data, trading-venue details, and other advanced market-data endpoints across crypto and tokenized assets, upgrade to a &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;paid API plan&lt;/a&gt; starting at $29/month, with higher rate limits and more API credits.&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/best-pre-ipo-private-market-data-api?locale=en</url>
    <summary>.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &amp;amp;gt; p {
  color: inherit !important...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135702</id>
    <published>2026-09-18T06:28:52Z</published>
    <updated>2026-09-18T09:28:27Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/why-liquidity-depth-matters-more-than-trading-volume?locale=en"/>
    <title>Why Liquidity Depth Matters More Than Trading Volume</title>
    <content type="html">&lt;div dir="ltr"&gt;&lt;img alt="Liquidity Depth" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102135895/content_Gate_Liquidity_Depth.webp" style="width: 1200px; height: 628px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;Depth figures are compiled from each venue's primary USDT pair over a 14-day window from 25 August to 7 September 2026. Seven venues are tracked across spot and perpetual markets: Gate, Binance, OKX, Bybit, KuCoin, HTX and Hyperliquid. &lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This article is brought to you by &lt;a href="https://www.gate.com/" target="_blank"&gt;Gate&lt;/a&gt;. Depth is dynamic, and these conclusions apply to this window only.&lt;/em&gt;&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Why Is Order Book Depth Important?&lt;/h2&gt;

&lt;p dir="ltr"&gt;When comparing crypto exchanges, most traders instinctively reach for the same number: 24-hour trading volume. It feels like the right proxy, because a busy exchange must be a good one. But volume tells you how much has already been traded, not how well your trade will actually execute. Two exchanges can show identical volume figures while delivering very different experiences the moment you place an order.&lt;/p&gt;

&lt;p dir="ltr"&gt;The metric that actually shapes your execution quality is order book depth, and the difference between exchanges can be substantial depending on the asset you're trading.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;What Is Order Book Depth?&lt;/h2&gt;

&lt;p dir="ltr"&gt;Every centralized exchange runs on an order book: a live list of open buy orders (bids) and sell orders (asks), organized by price. When you place a market order, the exchange fills it by matching against the best available orders on the other side.&lt;/p&gt;

&lt;p dir="ltr"&gt;Order book depth refers to the total volume of orders sitting within a certain price range of the current market price. Depending on the size of the orders, two depth thresholds may be commonly used to assess liquidity:&lt;/p&gt;

&lt;ul&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;Top-of-Book (L1) Depth&lt;/strong&gt;: the single best bid and single best ask — the most granular measure of quoted liquidity. It reflects the price and size available at the very top of the order book, and is most relevant for understanding how competitive an exchange's quoted prices are and how cleanly the smallest orders will execute. Figures are calculated as averages of snapshots taken at regular intervals over the observation period.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;&lt;strong&gt;1% depth&lt;/strong&gt;: cumulative bid size within 1% below the mid price and cumulative ask size within 1% above it, again averaged across the two sides. In calm markets this tier is rarely touched. It matters at the extremes — when a large order is worked in a single clip, or when a one-sided move wicks through the book.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 dir="ltr"&gt;How Exchanges Compare on Spot Depth&lt;/h2&gt;

&lt;p dir="ltr"&gt;Using order book data collected by Gate over 25 August to 7 September 2026, we can compare how seven venues stack up at both the top-of-book (L1) and 1% tiers. Spot coverage is BTC, ETH, XRP, SOL and DOGE, each on the venue's primary &lt;a href="https://www.coingecko.com/en/coins/tether" target="_blank"&gt;USDT&lt;/a&gt; pair.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;The Big Picture&lt;/h3&gt;

&lt;p dir="ltr"&gt;The two charts below show depth share across the 30 highest-volume spot pairs, at L1 and at 1%. They tell two different stories.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="Spot top 30 pairs, top-of-book (L1) depth share, single-day snapshot, 7 September 2026" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136408/content_spot_L1_top30_depth.webp" style="width: 1200px; height: 789px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 1 — Spot top 30 pairs, top-of-book (L1) depth share, single-day snapshot, 7 September 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At L1, OKX leads on 16 of the 30 pairs, Gate on 7, Binance on 6 and Bybit on 1. OKX's advantage sits in mid-caps . Gate's seven wins cluster at the top of the volume table: BTC (27.3%), ETH (37.5%), XRP (39.2%), BNB (40.4%), DOGE (35.6%), NEAR(42.19%), and USD1(38.07%).&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;img alt="spot_top30_1%_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136409/content_spot_top30_1__depth.webp" style="width: 1200px; height: 789px;"&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 2 — Spot top 30 pairs, 1% depth share, single-day snapshot, 7 September 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At 1%, the ranking inverts. Gate leads on 15 of 30, Binance on 10, Bybit on 4 and OKX on just 1. And more telling than the wins is the spread: Gate places first or second on 28 of the 30 pairs, the widest coverage of any venue here, while Binance's ten wins are almost entirely the largest names.&lt;/p&gt;

&lt;p dir="ltr"&gt;Three venues, three market-making strategies. OKX buys the touch in mid-caps. Binance buys depth-of-book on the majors. Gate covers both: the best quoted price on the highest-volume pairs, and the broadest 1% coverage across the rest of the top 30. None is better in the abstract; what matters is whether it suits the order you are about to place.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Bitcoin (BTC)&lt;/h3&gt;

&lt;div dir="ltr"&gt;&lt;img alt="spot_btc_1%_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136410/content_spot_btc_1__depth.webp" style="width: 1200px; height: 300px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 3 — Spot BTC, 1% depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At the tighter 1% depth band. Binance led on all 14 days with a median of $20.01M against Gate at $12.74M (0.64x), OKX at $11.60M and Bybit at $11.21M. For anyone working several million dollars of BTC in one order, that difference is real.&lt;/p&gt;

&lt;p dir="ltr"&gt;But that is the tier almost no retail order ever reaches. At the level where the great majority of BTC trades are actually filled, the ranking flips.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="spot_btc_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136411/content_spot_btc_L1_depth.webp" style="width: 1200px; height: 300px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 4 — Spot BTC, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Gate led L1 on 12 of the 14 days with a median of $236.8K, 1.36x second-placed Binance at $174.0K and slightly further ahead of OKX at $171.2K, with the rest of the field well back.&lt;/p&gt;

&lt;p dir="ltr"&gt;If you are trading BTC in size, check Binance's cushion; if you are trading BTC the way most people do, in clips well under six figures, Gate quoted the best price on the majority of days in this window.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Ethereum (ETH)&lt;/h3&gt;

&lt;div dir="ltr"&gt;&lt;img alt="spot_eth_1%_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136412/content_spot_eth_1__depth.webp" style="width: 1200px; height: 300px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 5 — Spot ETH, 1% depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At 1% the lead returns to Binance at $8.07M, with 11 of 14 days in front. Gate places third at $6.75M, or 0.84x Binance.The four venues behind Binance sit within roughly 35% of each other, which is unusually tight for a pair this size.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="spot_eth_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136413/content_spot_eth_L1_depth.webp" style="width: 1200px; height: 300px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 6 — Spot ETH, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At L1 this is Gate's most consistent spot result: first on all 14 days, median $117.2K against OKX at $78.1K and Binance at $71.7K — a 1.50x margin never surrendered at any point in the window.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;The Other Spot&lt;/h3&gt;

&lt;p dir="ltr"&gt;XRP and DOGE repeat the pattern set by BTC and ETH. At the touch Gate led both — XRP on 12 of 14 days with a median of $19.3K, 1.54x Binance at $12.5K, and DOGE on 12 of 14 days at $9,721, again 1.54x Binance at $6,306. &lt;/p&gt;

&lt;p dir="ltr"&gt;Through the book the two diverge. On XRP, Binance finished narrowly ahead, $1.97M to Gate's $1.82M, a gap of only 8%. On DOGE, Gate led at 1% on all 14 days with a median of $1.55M against a tightly bunched Bybit ($1.24M), Binance ($1.14M) and OKX ($1.13M) — the only spot pair in the set led by the same venue at both tiers, and the only one where Binance failed to place in the top two. SOL runs the other way: OKX led at the touch, 1.75x Gate, and Binance through the book, making it the one spot major where Gate tops neither tier.&lt;/p&gt;

&lt;div aria-label="Note" role="note" style="background-color: #F1F5F9; border-radius: 8px; padding: 1.25rem 1.5rem; margin: 1.5rem 0; border-left: 4px solid #94A3B8;"&gt;
&lt;p style="margin: 0; font-size: 0.95rem; line-height: 1.6; color: #475569;"&gt;Across the spot top 30 as a whole, Gate's broadest strength sits at the 1% tier in mid-caps: LINK (36.4% depth share), ARB (34.2%), UNI (33.7%), AVAX (33.4%) and NEAR (32.4%). Combined with its seven L1 wins at the top of the volume table, that is the spot profile in one line — competitive at the touch where the flow is, and the widest coverage through the book everywhere else.&lt;/p&gt;
&lt;/div&gt;

&lt;h2 dir="ltr"&gt;Does the Pattern Hold in Perps Markets?&lt;/h2&gt;

&lt;p dir="ltr"&gt;USDT-margined perpetuals are where depth arguably matters most. Leverage amplifies slippage, and a thin perpetual book means worse liquidation prices and larger realised losses in fast markets. Perpetual flow also turns over far faster than spot, and it is worked in smaller, more frequent clips — which makes the size resting at the best bid and offer, rather than the cushion further out, the tier that decides most fills. This section is therefore measured at Top-of-Book (L1) Depth throughout.&lt;/p&gt;

&lt;p dir="ltr"&gt;Alongside BTC, ETH and SOL, this section covers three tokenized RWA instruments — XAU (gold), CL (crude oil) and SKHYNIX (SK Hynix). These have mature reference markets off-chain, their market-making logic differs substantially from pure crypto, and the results bear that out.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;The Big Picture&lt;/h3&gt;

&lt;div dir="ltr"&gt;&lt;img alt="L1 Perps" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136414/content_perp_top30_L1_depth.webp" style="width: 1200px; height: 792px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 7 — Perpetuals top 30 pairs, top-of-book (L1) depth share, single-day snapshot, 7 September 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At L1, Gate leads on 15 of the 30 pairs, Binance on 8, Hyperliquid on 4, Bybit on 2 and HTX on 1, placing first or second on 22 of 30. Its largest shares are SKHYNIX (67.1%), DASH (62.0%), SOXL (51.5%), TAO (47.9%) and DOGE (44.8%) — tokenized equities, leveraged ETFs and selected mid-caps are where its quoted size is heaviest.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Crypto Perps：BTC, ETH, SOL&lt;/h3&gt;

&lt;div dir="ltr"&gt;&lt;img alt="perp_btc_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136415/content_perp_btc_L1_depth.webp" style="width: 1200px; height: 304px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 8 — BTC perpetuals, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Crypto majors are the most contested contracts in any perpetual book, and the hardest place to hold a lead.&lt;/p&gt;

&lt;p dir="ltr"&gt;Start with BTC, Gate led on 12 of the 14 days with a median of $761.0K, ahead of Binance at $552.4K and Hyperliquid at $530.5K, then OKX at $352.0K, Bybit at $205.9K, HTX at $199.6K and KuCoin at $39.7K — a margin of roughly 1.38x over second place. Gate led all but two days, briefly ceding the top spot to Hyperliquid on 25 August. &lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="perp_eth_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136416/content_perp_eth_L1_depth.webp" style="width: 1200px; height: 304px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 9 — ETH perpetuals, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;And on ETH, Gate finished first on all 14 days without exception, with a median of $555.5K — 1.58x second-placed Hyperliquid at $351.1K — followed by Binance at $259.7K and OKX at $258.1K in a near dead heat, then HTX at $187.0K, Bybit at $68.2K and KuCoin at $15.1K. Hyperliquid is the only venue to track it at all closely, peaking at $520.5K late in the period.&lt;/p&gt;

&lt;p dir="ltr"&gt;That leaves SOL, the third of the crypto majors — and the one where the gap stops being incremental.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;&lt;img alt="perp_sol_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136417/content_perp_sol_L1_depth.webp" style="width: 1200px; height: 304px;"&gt;&lt;/span&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 10 — SOL perpetuals, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;At the touch the pattern repeats: Gate led on 13 of 14 days with a median of $161.3K against Hyperliquid at $114.2K, a 1.41x margin, then Binance at $95.0K, OKX at $72.5K, Bybit at $32.7K, HTX at $4.8K and KuCoin at $2.1K. The single exception came on 26 August, when Hyperliquid finished at $101.4K against Gate's $100.4K — under 1% apart, the two lines effectively overlapping on the chart. Hyperliquid is also markedly more volatile: the $140.1K it posted on 1 September had halved to $67.3K by the following day.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;TradFi Perps：XAU, CL, SKHYNIX&lt;/h3&gt;

&lt;p dir="ltr"&gt;If the crypto majors show whether a lead is consistent, tokenized TradFi shows whether it is differentiated.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="perp_xau_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136418/content_perp_xau_L1_depth.webp" style="width: 1200px; height: 304px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 11 — XAU (gold) perpetuals, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Gold is the natural starting point: the oldest and most heavily hedged reference market of the three, and the one where a crypto venue has the least room to outquote an incumbent. At the touch the contest is close to even. Binance took 8 days and Gate 6, with medians of $242.3K and $237.2K respectively — a difference of about 2%, too close to call over a 14-day series. Bybit follows at $160.2K and OKX at $140.2K, with HTX at $1.8K negligible by comparison.&lt;/p&gt;

&lt;p dir="ltr"&gt;Gold, then, is level at the touch and decisive through the book. Crude takes that divergence and pushes it to the point where the two tiers give opposite answers.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="perp_cl_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136419/content_perp_cl_L1_depth.webp" style="width: 1200px; height: 304px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 12 — CL (crude oil) perpetuals, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Crude is the one contract in this study where Gate does not lead at the touch, and the gap is not a narrow one. Binance led on all 14 days with a median of $116.6K, with OKX at $30.9K and Gate at $30.3K essentially tied for second, then Bybit at $11.7K, Hyperliquid at $11.2K and KuCoin at just $124.&lt;/p&gt;

&lt;p dir="ltr"&gt;Of the three, crude sits closest to a continuously hedged external market, and it rewards exactly the approach Binance takes there: capital concentrated at the best level and quoted aggressively, which is what fast, repetitive commodity flow consumes. Quoted size follows the flow a venue is built to serve, and on this contract that flow is not Gate's. It is worth stating plainly, because it is the same logic that explains the two results either side of it — and the third is where it works most strongly in Gate's favour.&lt;/p&gt;

&lt;p dir="ltr"&gt;Gold and crude are commodities with decades of external price discovery behind them. Tokenized single-name equities are a newer market, with far fewer participants — and that is where the distances stop being comparable at all.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;img alt="perp_skhynix_L1_depth" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136420/content_perp_skhynix_L1_depth.webp" style="width: 1200px; height: 304px;"&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Figure 13 — SKHYNIX perpetuals, top-of-book (L1) depth in USD, 25 Aug – 7 Sep 2026&lt;/p&gt;

&lt;p dir="ltr"&gt;On SK Hynix, Gate led at the touch on all 14 days with a median of $54.0K — 2.87x second-placed Bybit at $18.8K, the largest L1 margin recorded in this study — with Binance third at $15.0K, then OKX at $6.2K, HTX at $2.7K and KuCoin at $145. Gate's quoted size also grew steadily over the two weeks, from around $31K at the outset to $96.2K by 6 September, while the rest of the field stayed flat: this is a book being built out, not one holding station.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;What This Means for Different Types of Traders&lt;/h2&gt;

&lt;p dir="ltr"&gt;The practical takeaway before looking at individual assets: which exchange has the deepest book depends heavily on both the asset and the order size you're trading. Checking depth (not just volume) for your specific pair before you trade gives you the clearest available picture of how your order is likely to execute.&lt;/p&gt;

&lt;p dir="ltr"&gt;If you trade small size intraday, your fill is determined almost entirely by L1. On spot BTC, ETH, XRP and DOGE the best quoted prices generally came from Gate; SOL is the exception, where OKX led, as it did across mid-caps more broadly. In perpetual majors Gate led the L1 tier on BTC, ETH and SOL alike, and in tokenized equities it led by the widest margin in the study.&lt;/p&gt;

&lt;p dir="ltr"&gt;If you trade large size — six figures and above per order — L1 is no longer the relevant measure; the 1% band is. On spot BTC, ETH, SOL and XRP, Binance carries the deepest book, and on BTC in particular the lead is substantial. Outside those four, the picture changes: on DOGE and across most of the rest of the spot top 30, Gate has the widest coverage, placing first or second on 28 of the 30 pairs. &lt;/p&gt;

&lt;p&gt;In perpetuals Gate leads every instrument examined here at the touch, with the widest margin on tokenised equities, where it quotes 2.87x the size of the next venue. &lt;/p&gt;

&lt;p dir="ltr"&gt;If you trade RWA or tokenized equity perpetuals, this is the most differentiated category in the study. On instruments with mature off-exchange reference markets — crude and gold — Binance quotes the tighter top of book. But as soon as order size increases, or when a US equity gaps between sessions, the 1% differential reaches your fill faster, and Gate quotes the deepest top of book on two of the three, by a margin of 2.87x on tokenized equities.&lt;/p&gt;

&lt;p dir="ltr"&gt;One point applies to everyone. Depth moves, and more than most traders expect: across 14 days and 21 daily series we recorded more than 60 day-on-day changes of 2x or greater, involving all seven venues.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;How to Use Depth Data When Choosing an Exchange&lt;/h2&gt;

&lt;p dir="ltr"&gt;Check by instrument, not by venue. The central finding of this study is that no venue leads everywhere. A platform ranking first on ETH and third on SOL is entirely normal.&lt;/p&gt;

&lt;p dir="ltr"&gt;Match the tier to your order size. For small clips, look at the size resting at the best bid and offer. For anything larger, look at cumulative size within 1% of mid on the side you will be taking — the offers if you are buying, the bids if you are selling.&lt;/p&gt;

&lt;p dir="ltr"&gt;Check the convention before comparing numbers. Does the figure include RPI liquidity? Is it the same quote currency? Does the venue's API return enough levels to cover the band being quoted? Figures built on different conventions can invert a conclusion entirely.&lt;/p&gt;

&lt;p dir="ltr"&gt;Read the trend, not the point. Single-day spikes are common in both spot and perpetual markets. Consistency over several days is far more informative than any one day's peak.&lt;/p&gt;

&lt;p dir="ltr"&gt;Most major venues display the order book and the bid/ask balance directly alongside the price chart. A few seconds spent there costs considerably less than working out your slippage afterwards.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;The Bottom Line&lt;/h2&gt;

&lt;p dir="ltr"&gt;Volume is a reasonable starting point, but it cannot tell you what happens when you actually place an order. Order book depth can, and it is measurable and trackable over time.&lt;/p&gt;

&lt;p dir="ltr"&gt;The clearest finding of this round is that no venue leads everywhere, and that the ones that lead somewhere lead for structural reasons rather than incidental ones. Binance holds the deepest books through the 1% band on the largest spot pairs, where the flow is heaviest and the capital committed is greatest. OKX concentrates its resources at the top of book in mid-caps, and takes more L1 wins across the spot top 30 than anyone. Bybit, HTX, KuCoin and Hyperliquid each hold localized positions worth knowing about, without the coverage of the leading three. These are not rankings so much as three different answers to the question of where market-making capital does the most good.&lt;/p&gt;

&lt;p dir="ltr"&gt;Gate's answer is the broadest of the set. Its strength sits at the touch — the best quoted price on four of the five spot majors, on every crypto perpetual major covered here, and on the tokenized equity contract by the widest margin recorded anywhere in this study — and in depth-of-book outside the largest spot pairs, where it places first or second on 28 of the 30.&lt;/p&gt;

&lt;p dir="ltr"&gt;It is not uniformly ahead, and the article has shown where it is not: crude is quoted more tightly by Binance, and by some distance. But that exception traces the same line as the strengths. Quoted size follows the flow a venue is built to serve, and the flow Gate is built to serve is increasingly the newer one — tokenized equities, commodity perpetuals and the RWA books forming around them, the fastest-growing category in this market and the one where its lead is widest.&lt;/p&gt;

&lt;p dir="ltr"&gt;As the market matures and traders become more sophisticated, execution quality is displacing platform size as the more meaningful basis for choosing where to trade. Depth data is the most direct way available to quantify it.&lt;/p&gt;

&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Data note: order book depth data in this article was collected and compiled by Gate's depth monitoring system, covering 25 August to 7 September 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This article is for informational purposes only and does not constitute financial or investment advice.&lt;/em&gt;&lt;/p&gt;
</content>
    <author>
      <name>CoinGecko</name>
    </author>
    <url>https://www.coingecko.com/learn/why-liquidity-depth-matters-more-than-trading-volume?locale=en</url>
    <summary>

Depth figures are compiled from each venue&amp;#39;s primary USDT pair over a 14-day window from 25 August to 7 September 2026. Seven venues are tracked across spot and perpetual markets: Gate, Binance, ...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135773</id>
    <published>2026-09-16T19:42:39Z</published>
    <updated>2026-10-14T02:05:52Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/arc-chain-price-market-data-api-guide?locale=en"/>
    <title>How to Get Arc Chain Token Prices and Market Data With an API</title>
    <content type="html">&lt;style type="text/css"&gt;pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.cgcode .hll { background-color: #ffffcc }
.cgcode { background: #f8f8f8; }
.cgcode .c { color: #3D7B7B; font-style: italic } /* Comment */
.cgcode .err { border: 1px solid #F00 } /* Error */
.cgcode .k { color: #008000; font-weight: bold } /* Keyword */
.cgcode .o { color: #666 } /* Operator */
.cgcode .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.cgcode .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.cgcode .cp { color: #9C6500 } /* Comment.Preproc */
.cgcode .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.cgcode .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.cgcode .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.cgcode .gd { color: #A00000 } /* Generic.Deleted */
.cgcode .ge { font-style: italic } /* Generic.Emph */
.cgcode .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.cgcode .gr { color: #E40000 } /* Generic.Error */
.cgcode .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.cgcode .gi { color: #008400 } /* Generic.Inserted */
.cgcode .go { color: #717171 } /* Generic.Output */
.cgcode .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.cgcode .gs { font-weight: bold } /* Generic.Strong */
.cgcode .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.cgcode .gt { color: #04D } /* Generic.Traceback */
.cgcode .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.cgcode .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.cgcode .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.cgcode .kp { color: #008000 } /* Keyword.Pseudo */
.cgcode .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.cgcode .kt { color: #B00040 } /* Keyword.Type */
.cgcode .m { color: #666 } /* Literal.Number */
.cgcode .s { color: #BA2121 } /* Literal.String */
.cgcode .na { color: #687822 } /* Name.Attribute */
.cgcode .nb { color: #008000 } /* Name.Builtin */
.cgcode .nc { color: #00F; font-weight: bold } /* Name.Class */
.cgcode .no { color: #800 } /* Name.Constant */
.cgcode .nd { color: #A2F } /* Name.Decorator */
.cgcode .ni { color: #717171; font-weight: bold } /* Name.Entity */
.cgcode .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.cgcode .nf { color: #00F } /* Name.Function */
.cgcode .nl { color: #767600 } /* Name.Label */
.cgcode .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.cgcode .nt { color: #008000; font-weight: bold } /* Name.Tag */
.cgcode .nv { color: #19177C } /* Name.Variable */
.cgcode .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.cgcode .w { color: #BBB } /* Text.Whitespace */
.cgcode .mb { color: #666 } /* Literal.Number.Bin */
.cgcode .mf { color: #666 } /* Literal.Number.Float */
.cgcode .mh { color: #666 } /* Literal.Number.Hex */
.cgcode .mi { color: #666 } /* Literal.Number.Integer */
.cgcode .mo { color: #666 } /* Literal.Number.Oct */
.cgcode .sa { color: #BA2121 } /* Literal.String.Affix */
.cgcode .sb { color: #BA2121 } /* Literal.String.Backtick */
.cgcode .sc { color: #BA2121 } /* Literal.String.Char */
.cgcode .dl { color: #BA2121 } /* Literal.String.Delimiter */
.cgcode .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.cgcode .s2 { color: #BA2121 } /* Literal.String.Double */
.cgcode .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.cgcode .sh { color: #BA2121 } /* Literal.String.Heredoc */
.cgcode .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.cgcode .sx { color: #008000 } /* Literal.String.Other */
.cgcode .sr { color: #A45A77 } /* Literal.String.Regex */
.cgcode .s1 { color: #BA2121 } /* Literal.String.Single */
.cgcode .ss { color: #19177C } /* Literal.String.Symbol */
.cgcode .bp { color: #008000 } /* Name.Builtin.Pseudo */
.cgcode .fm { color: #00F } /* Name.Function.Magic */
.cgcode .vc { color: #19177C } /* Name.Variable.Class */
.cgcode .vg { color: #19177C } /* Name.Variable.Global */
.cgcode .vi { color: #19177C } /* Name.Variable.Instance */
.cgcode .vm { color: #19177C } /* Name.Variable.Magic */
.cgcode .il { color: #666 } /* Literal.Number.Integer.Long */
.cgcode.cg-gist-body { background: transparent !important; }
body.tw-dark .cgcode.cg-gist-body { background: transparent !important; }
body.tw-dark pre {  line-height: 125%;  }
body.tw-dark td.linenos .normal {  color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px;  }
body.tw-dark span.linenos {  color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px;  }
body.tw-dark td.linenos .special {  color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px;  }
body.tw-dark span.linenos.special {  color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px;  }
body.tw-dark .cgcode .hll {  background-color: #6e7681  }
body.tw-dark .cgcode {  background: #0d1117; color: #E6EDF3  }
body.tw-dark .cgcode .c {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .err {  color: #F85149  }
body.tw-dark .cgcode .esc {  color: #E6EDF3  }
body.tw-dark .cgcode .g {  color: #E6EDF3  }
body.tw-dark .cgcode .k {  color: #FF7B72  }
body.tw-dark .cgcode .l {  color: #A5D6FF  }
body.tw-dark .cgcode .n {  color: #E6EDF3  }
body.tw-dark .cgcode .o {  color: #FF7B72; font-weight: bold  }
body.tw-dark .cgcode .x {  color: #E6EDF3  }
body.tw-dark .cgcode .p {  color: #E6EDF3  }
body.tw-dark .cgcode .ch {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .cm {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .cp {  color: #8B949E; font-weight: bold; font-style: italic  }
body.tw-dark .cgcode .cpf {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .c1 {  color: #8B949E; font-style: italic  }
body.tw-dark .cgcode .cs {  color: #8B949E; font-weight: bold; font-style: italic  }
body.tw-dark .cgcode .gd {  color: #FFA198; background-color: #490202  }
body.tw-dark .cgcode .ge {  color: #E6EDF3; font-style: italic  }
body.tw-dark .cgcode .ges {  color: #E6EDF3; font-weight: bold; font-style: italic  }
body.tw-dark .cgcode .gr {  color: #FFA198  }
body.tw-dark .cgcode .gh {  color: #79C0FF; font-weight: bold  }
body.tw-dark .cgcode .gi {  color: #56D364; background-color: #0F5323  }
body.tw-dark .cgcode .go {  color: #8B949E  }
body.tw-dark .cgcode .gp {  color: #8B949E  }
body.tw-dark .cgcode .gs {  color: #E6EDF3; font-weight: bold  }
body.tw-dark .cgcode .gu {  color: #79C0FF  }
body.tw-dark .cgcode .gt {  color: #FF7B72  }
body.tw-dark .cgcode .g-Underline {  color: #E6EDF3; text-decoration: underline  }
body.tw-dark .cgcode .kc {  color: #79C0FF  }
body.tw-dark .cgcode .kd {  color: #FF7B72  }
body.tw-dark .cgcode .kn {  color: #FF7B72  }
body.tw-dark .cgcode .kp {  color: #79C0FF  }
body.tw-dark .cgcode .kr {  color: #FF7B72  }
body.tw-dark .cgcode .kt {  color: #FF7B72  }
body.tw-dark .cgcode .ld {  color: #79C0FF  }
body.tw-dark .cgcode .m {  color: #A5D6FF  }
body.tw-dark .cgcode .s {  color: #A5D6FF  }
body.tw-dark .cgcode .na {  color: #E6EDF3  }
body.tw-dark .cgcode .nb {  color: #E6EDF3  }
body.tw-dark .cgcode .nc {  color: #F0883E; font-weight: bold  }
body.tw-dark .cgcode .no {  color: #79C0FF; font-weight: bold  }
body.tw-dark .cgcode .nd {  color: #D2A8FF; font-weight: bold  }
body.tw-dark .cgcode .ni {  color: #FFA657  }
body.tw-dark .cgcode .ne {  color: #F0883E; font-weight: bold  }
body.tw-dark .cgcode .nf {  color: #D2A8FF; font-weight: bold  }
body.tw-dark .cgcode .nl {  color: #79C0FF; font-weight: bold  }
body.tw-dark .cgcode .nn {  color: #FF7B72  }
body.tw-dark .cgcode .nx {  color: #E6EDF3  }
body.tw-dark .cgcode .py {  color: #79C0FF  }
body.tw-dark .cgcode .nt {  color: #7EE787  }
body.tw-dark .cgcode .nv {  color: #79C0FF  }
body.tw-dark .cgcode .ow {  color: #FF7B72; font-weight: bold  }
body.tw-dark .cgcode .pm {  color: #E6EDF3  }
body.tw-dark .cgcode .w {  color: #6E7681  }
body.tw-dark .cgcode .mb {  color: #A5D6FF  }
body.tw-dark .cgcode .mf {  color: #A5D6FF  }
body.tw-dark .cgcode .mh {  color: #A5D6FF  }
body.tw-dark .cgcode .mi {  color: #A5D6FF  }
body.tw-dark .cgcode .mo {  color: #A5D6FF  }
body.tw-dark .cgcode .sa {  color: #79C0FF  }
body.tw-dark .cgcode .sb {  color: #A5D6FF  }
body.tw-dark .cgcode .sc {  color: #A5D6FF  }
body.tw-dark .cgcode .dl {  color: #79C0FF  }
body.tw-dark .cgcode .sd {  color: #A5D6FF  }
body.tw-dark .cgcode .s2 {  color: #A5D6FF  }
body.tw-dark .cgcode .se {  color: #79C0FF  }
body.tw-dark .cgcode .sh {  color: #79C0FF  }
body.tw-dark .cgcode .si {  color: #A5D6FF  }
body.tw-dark .cgcode .sx {  color: #A5D6FF  }
body.tw-dark .cgcode .sr {  color: #79C0FF  }
body.tw-dark .cgcode .s1 {  color: #A5D6FF  }
body.tw-dark .cgcode .ss {  color: #A5D6FF  }
body.tw-dark .cgcode .bp {  color: #E6EDF3  }
body.tw-dark .cgcode .fm {  color: #D2A8FF; font-weight: bold  }
body.tw-dark .cgcode .vc {  color: #79C0FF  }
body.tw-dark .cgcode .vg {  color: #79C0FF  }
body.tw-dark .cgcode .vi {  color: #79C0FF  }
body.tw-dark .cgcode .vm {  color: #79C0FF  }
body.tw-dark .cgcode .il {  color: #A5D6FF  }
&lt;/style&gt;
&lt;style type="text/css"&gt;.output-block code { color:#0F172A; }
body.tw-dark .output-block {
  background:#0d1117 !important; border-color:#30363d !important;
}
body.tw-dark .output-block code { color:#c9d1d9 !important; }
&lt;/style&gt;
&lt;style type="text/css"&gt;body.tw-dark table:not(.rgt-table) td, body.tw-dark table:not(.rgt-table) th {
  border-color: #30363d !important;
}
body.tw-dark table:not(.rgt-table) th {
  background: #161b22 !important;
}
&lt;/style&gt;
&lt;style type="text/css"&gt;body.tw-dark div[style*="background:#eeeeee"],
body.tw-dark p[style*="background:#eeeeee"] {
  background: #eeeeee !important;
  border-color: #cccccc !important;
  color: #1f2328 !important;
}
body.tw-dark div[style*="background:#eeeeee"] a,
body.tw-dark p[style*="background:#eeeeee"] a {
  color: #0969da !important;
}
body.tw-dark div[style*="background:#eeeeee"] strong,
body.tw-dark p[style*="background:#eeeeee"] strong {
  color: #1f2328 !important;
}
&lt;/style&gt;
&lt;style type="text/css"&gt;.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; p {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; ul {
  color: inherit !important;
}
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR&lt;/h2&gt;

&lt;p style="font-size: 1rem; line-height: 1.6; color: #000000; margin-bottom: 1.5rem;"&gt;&lt;strong&gt;&lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;CoinGecko API&lt;/a&gt; covers Arc Chain token lookup, price data, and pool data:&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #000000; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;strong&gt;Token lookup:&lt;/strong&gt;&lt;span&gt; Use &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-contract-address" target="_blank"&gt;Coin Data by Token Address&lt;/a&gt;&lt;/span&gt;&lt;span&gt; or &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/token-data-contract-address" target="_blank"&gt;Token Data by Token Address&lt;/a&gt;&lt;/span&gt;&lt;span&gt; to identify tokens by contract address.&lt;/span&gt;
&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;strong&gt;Price data: &lt;/strong&gt;&lt;span&gt;Use &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/simple-token-price" target="_blank"&gt;Coin Price by Token Addresses&lt;/a&gt;&lt;/span&gt;&lt;span&gt; for current price and market cap, and &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/contract-address-market-chart" target="_blank"&gt;Coin Historical Chart Data&lt;/a&gt;&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-id-ohlc" target="_blank"&gt;Coin OHLC Chart&lt;/a&gt;&lt;/span&gt;&lt;span&gt; for historical prices, with an onchain fallback (&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/onchain-simple-price" target="_blank"&gt;Token Price by Token Addresses&lt;/a&gt;&lt;/span&gt;&lt;span&gt;) for tokens not yet reviewed.&lt;/span&gt;
&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
&lt;strong&gt;Pool data:&lt;/strong&gt;&lt;span&gt; Use &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/top-pools-contract-address" target="_blank"&gt;Top Pools by Token Address&lt;/a&gt;&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/reference/pools-megafilter" target="_blank"&gt;Pool Megafilter&lt;/a&gt;&lt;/span&gt;&lt;span&gt; to find and filter pools by market and liquidity criteria.&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Circle, the company behind USDC, launched Arc, a Layer-1 blockchain built for stablecoin finance&lt;/span&gt;&lt;span&gt;. Developers now need a reliable way to access Arc token prices, market caps, and liquidity data programmatically.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;This guide shows you how to use the CoinGecko and GeckoTerminal APIs to retrieve price and market data for any token deployed on Arc, whether it is a stablecoin, DeFi token, or future native network asset.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;span&gt; CoinGecko has unified its API with the &lt;/span&gt;&lt;span&gt;&lt;a href="https://www.geckoterminal.com/dex-api" rel="nofollow noopener" target="_blank"&gt;GeckoTerminal API&lt;/a&gt;&lt;/span&gt;&lt;span&gt;, so standard market data and onchain DEX data are now accessible through a single CoinGecko API key. You don't need a separate account or API key.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;!-- IMG-1 --&gt;&lt;img alt="How to Get Arc Chain Token Prices and Market Data With an API" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136404/content_arc-chain-token-prices-market-data-api-banner.webp" style="max-width: 100%; height: auto; width: 1200px;" title=""&gt;&lt;/p&gt;

&lt;h2 id="h.ajsgh0f7utih"&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;You'll need a CoinGecko API key. If you don't have one, follow the guide to get a&lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key" target="_blank"&gt;free Demo API key&lt;/a&gt;&lt;/span&gt;&lt;span&gt;. The Demo plan provides everything you need to follow this guide and run the examples.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Your API key type must match the base URL and authentication header used in your requests. All examples in this guide use the Demo configuration. For paid plans, use the Paid configuration instead. &lt;/span&gt;&lt;/p&gt;

&lt;div style="overflow-x: auto;"&gt;
&lt;table style="border-collapse:collapse;width:100%;"&gt;
	&lt;colgroup&gt;
		&lt;col style="width:33.33%;"&gt;
		&lt;col style="width:33.33%;"&gt;
		&lt;col style="width:33.33%;"&gt;
	&lt;/colgroup&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th style="background:rgb(1, 87, 92) !important;color:#ffffff !important;text-align:center;border:1px solid #d0d7de !important;padding:8px 12px;"&gt;Key type&lt;/th&gt;
			&lt;th style="background:rgb(1, 87, 92) !important;color:#ffffff !important;text-align:center;border:1px solid #d0d7de !important;padding:8px 12px;"&gt;Base URL&lt;/th&gt;
			&lt;th style="background:rgb(1, 87, 92) !important;color:#ffffff !important;text-align:center;border:1px solid #d0d7de !important;padding:8px 12px;"&gt;Header&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr style="background:#f6f8fa !important;"&gt;
			&lt;td style="background:#f6f8fa !important;color:#1f2328 !important;border:1px solid #d0d7de !important;padding:8px 12px;text-align:left;"&gt;Demo&lt;/td&gt;
			&lt;td style="background:#f6f8fa !important;color:#1f2328 !important;border:1px solid #d0d7de !important;padding:8px 12px;text-align:left;"&gt;https://api.coingecko.com/api/v3&lt;/td&gt;
			&lt;td style="background:#f6f8fa !important;color:#1f2328 !important;border:1px solid #d0d7de !important;padding:8px 12px;text-align:left;"&gt;x-cg-demo-api-key&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="background:#ffffff !important;"&gt;
			&lt;td style="background:#ffffff !important;color:#1f2328 !important;border:1px solid #d0d7de !important;padding:8px 12px;text-align:left;"&gt;Paid&lt;/td&gt;
			&lt;td style="background:#ffffff !important;color:#1f2328 !important;border:1px solid #d0d7de !important;padding:8px 12px;text-align:left;"&gt;https://pro-api.coingecko.com/api/v3&lt;/td&gt;
			&lt;td style="background:#ffffff !important;color:#1f2328 !important;border:1px solid #d0d7de !important;padding:8px 12px;text-align:left;"&gt;x-cg-pro-api-key&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;To run the&lt;/span&gt;&lt;span&gt;&lt;a href="#h.sg65j715oyci"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/arc-chain-price-market-data-api-guide#how-to-build-a-reusable-token-lookup-script" target="_self"&gt;full script&lt;/a&gt;&lt;/span&gt;&lt;span&gt; included at the end of this guide, you'll need Python 3.8+. Install the official SDK and &lt;/span&gt;&lt;code&gt;requests&lt;/code&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;pip install coingecko-sdk requests&lt;/code&gt;&lt;/div&gt;

&lt;p style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;span&gt;💡 &lt;/span&gt;&lt;strong&gt;Prefer less setup?&lt;/strong&gt;&lt;span&gt; You can call these endpoints with CoinGecko's official &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/docs/sdk-python" target="_blank"&gt;Python SDK&lt;/a&gt;&lt;/span&gt;&lt;span&gt; or &lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/docs/sdk-typescript" target="_blank"&gt;TypeScript SDK&lt;/a&gt;&lt;/span&gt;&lt;span&gt; instead of raw HTTP requests. The SDK handles the base URL, headers, and authentication for you, so there is less boilerplate to write.&lt;/span&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="h.vf4y5h88c53d"&gt;&lt;span&gt;How to Identify a Token on Arc Chain by Contract Address&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;CoinGecko API and GeckoTerminal API provide two ways to look up a token on Arc Chain by contract address. Both calls use Circle Wrapped BTC (&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/en/coins/circle-wrapped-btc" target="_blank"&gt;cirBTC&lt;/a&gt;&lt;/span&gt;&lt;span&gt;) as the example token. &lt;/span&gt;&lt;/p&gt;

&lt;h3 id="h.g99rwiizlxcy"&gt;&lt;span&gt;Coin Data by Token Address &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-contract-address" target="_blank"&gt;/coins/{asset_platform_id}/contract/{contract_address}&lt;/a&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;returns full metadata once a token has been reviewed and listed.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/coins/arc/contract/0x171a4217b86a807a64eb94757db6849fb4bdbaa0' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Here’s what the response looks like:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "id": "circle-wrapped-btc",
  "symbol": "cirbtc",
  "name": "Circle Wrapped BTC",
  "asset_platform_id": "ethereum",
  "platforms": {
    "arc": "0x171a4217b86a807a64eb94757db6849fb4bdbaa0",   
    "ethereum": "0x72dfb2e44f59c5ad2bafe84314e5b99a7cd5075e"
  }&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 id="h.mbvu1gvh77cp"&gt;&lt;span&gt;Token Data by Token Address &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/token-data-contract-address" target="_blank"&gt;/onchain/networks/{network}/tokens/{address}&lt;/a&gt;&lt;/span&gt;&lt;span&gt; automatically indexes tokens once they have an active liquidity pool.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/onchain/networks/arc/tokens/0x171a4217b86a807a64eb94757db6849fb4bdbaa0' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Here’s what the response looks like:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "id": "arc_0x171a4217b86a807a64eb94757db6849fb4bdbaa0",
    "type": "token",
    "attributes": {
      "address": "0x171a4217b86a807a64eb94757db6849fb4bdbaa0",
      "name": "Circle Wrapped BTC",
      "symbol": "cirbtc",
      "decimals": 8,
      "coingecko_coin_id": "circle-wrapped-btc",
      "price_usd": "75748.9838130729",
      "fdv_usd": "9156840.63875057",
      "market_cap_usd": null
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="h.fipbk6on8kyv"&gt;&lt;span&gt;How to Get a Coin's ID and Metadata on Arc Chain&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;The token's &lt;/span&gt;&lt;code&gt;id&lt;/code&gt;&lt;span&gt; comes from the&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-contract-address" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-contract-address" target="_blank"&gt;Coin Data by Token Address&lt;/a&gt;&lt;/span&gt;&lt;span&gt; response in the previous section. In this example, the &lt;/span&gt;&lt;code&gt;id&lt;/code&gt;&lt;span&gt; is &lt;/span&gt;&lt;code&gt;circle-wrapped-btc&lt;/code&gt;&lt;span&gt;. This &lt;/span&gt;&lt;code&gt;id&lt;/code&gt;&lt;span&gt; is used with other endpoints that require a coin ID. The contract address should not be used in place of the &lt;/span&gt;&lt;code&gt;id&lt;/code&gt;&lt;span&gt;, and the &lt;/span&gt;&lt;code&gt;id&lt;/code&gt;&lt;span&gt; should be resolved from the contract address rather than hardcoded.&lt;/span&gt;&lt;/p&gt;

&lt;h3 id="h.d9fbm7f1zmr9"&gt;&lt;span&gt;Coin Data by ID &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-id" target="_blank"&gt;/coins/{id}&lt;/a&gt;&lt;/span&gt;&lt;span&gt; returns the token's metadata, including the &lt;/span&gt;&lt;code&gt;platforms&lt;/code&gt;&lt;span&gt; field, which lists the chains where the token is deployed. USDC, which is used to pay gas fees on Arc is deployed on 30+ chains:&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/coins/usd-coin?localization=false&amp;amp;market_data=false&amp;amp;tickers=false' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The API returns the following:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "id": "usd-coin",
  "symbol": "usdc",
  "name": "USDC",
  "platforms": {
    "ethereum": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
    "base": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "solana": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "arc": "0x3600000000000000000000000000000000000000"
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 id="h.u90ejkt84w8a"&gt;&lt;span&gt;Token Info by Token Address&lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/token-info-contract-address" target="_blank"&gt;/onchain/networks/{network}/tokens/{address}/info&lt;/a&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;provides an independent way to verify whether a token has been reviewed and listed on CoinGecko using its contract address.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;It also includes the &lt;/span&gt;&lt;code&gt;image&lt;/code&gt;&lt;span&gt; object (logo thumbnails), &lt;/span&gt;&lt;code&gt;description&lt;/code&gt;&lt;span&gt;, &lt;/span&gt;&lt;code&gt;websites&lt;/code&gt;&lt;span&gt;, social links, &lt;/span&gt;&lt;code&gt;categories&lt;/code&gt;&lt;span&gt;, and holder distribution, providing the metadata needed to build a fuller token profile beyond price and market data.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/onchain/networks/arc/tokens/0x171a4217b86a807a64eb94757db6849fb4bdbaa0/info' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The API returns the following:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "attributes": {
      "name": "Circle Wrapped BTC",
      "symbol": "cirbtc",
      "coingecko_coin_id": "circle-wrapped-btc",
      "gt_score": 71.58,
      "gt_verified": true
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="h.o3l5om6xi46i"&gt;&lt;span&gt;How to Fetch Real-Time Price and Market Cap for Tokens on Arc Chain&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;For tokens already listed on CoinGecko, use &lt;/span&gt;&lt;code&gt;/simple/token_price/{id}&lt;/code&gt;&lt;span&gt; to retrieve current price and market cap. For tokens that aren't listed yet, use &lt;/span&gt;&lt;code&gt;/onchain/simple/networks/{network}/token_price/{addresses}&lt;/code&gt;&lt;span&gt; to access onchain price and market data&lt;/span&gt;&lt;/p&gt;

&lt;h3 id="h.d53u8mi8n5em"&gt;&lt;span&gt;Coin Price by Token Addresses &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/simple-token-price" target="_blank"&gt;/simple/token_price/{id}&lt;/a&gt;&lt;/span&gt;&lt;span&gt; where &lt;/span&gt;&lt;code&gt;{id}&lt;/code&gt;&lt;span&gt; is the asset platform ID.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/simple/token_price/arc?contract_addresses=0x171a4217b86a807a64eb94757db6849fb4bdbaa0&amp;amp;vs_currencies=usd&amp;amp;include_market_cap=true&amp;amp;include_24hr_vol=true&amp;amp;include_24hr_change=true' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Here’s what the response looks like:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "0x171a4217b86a807a64eb94757db6849fb4bdbaa0": {
    "usd": 75772,
    "usd_market_cap": 0,
    "usd_24h_vol": 6210950.34,
    "usd_24h_change": null
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 id="h.d6kdhw6z7uw7"&gt;&lt;span&gt;Token Price by Token Addresses &lt;/span&gt;&lt;/h3&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/demo/reference/onchain-simple-price" target="_blank"&gt;/onchain/simple/networks/{network}/token_price/{addresses}&lt;/a&gt;&lt;/span&gt;&lt;span&gt; for tokens with active onchain markets.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/onchain/simple/networks/arc/token_price/0x171a4217b86a807a64eb94757db6849fb4bdbaa0?include_market_cap=true' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Here’s what the response looks like:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "attributes": {
      "token_prices": {
        "0x171a4217b86a807a64eb94757db6849fb4bdbaa0": "75748.9838130729"
      },
      "market_cap_usd": {
        "0x171a4217b86a807a64eb94757db6849fb4bdbaa0": "0.0"
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="h.zgrlns55buet"&gt;&lt;span&gt;How to Retrieve Historical Price Data for Arc Chain Tokens&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;CoinGecko API provides two endpoints for historical token data, depending on whether you need time-series data or OHLC data.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;For line charts, dashboards, or alerts: &lt;/span&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/demo/reference/contract-address-market-chart" target="_blank"&gt;Coin Historical Chart Data by Token Address&lt;/a&gt;&lt;/strong&gt;&lt;span&gt; (&lt;/span&gt;&lt;code&gt; /coins/{asset_platform_id}/contract/{contract_address}/market_chart&lt;/code&gt;&lt;span&gt;) returns simple &lt;/span&gt;&lt;code&gt;[timestamp, value]&lt;/code&gt;&lt;span&gt; pairs for price, market cap, and volume.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/coins/arc/contract/0x171a4217b86a807a64eb94757db6849fb4bdbaa0/market_chart?vs_currency=usd&amp;amp;days=7' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The API returns the following:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "prices": [
    [1789524000000, 75639.72013073205],
    [1789527600000, 75744.87899694742],
    [1789531200000, 75680.90709845201]
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Even though days=7 was requested, the response only contains 16 hourly points spanning roughly 14 hours (from 02:00 UTC to 16:15 UTC on September 16, 2026) — because that's all the trading history that exists. This is exactly the shorter-history behavior newly launched Arc tokens will show until more trading history accumulates.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;This endpoint supports an &lt;code dir="ltr"&gt;interval&lt;/code&gt; parameter on paid plans, such as &lt;code dir="ltr"&gt;interval=daily&lt;/code&gt; for daily granularity. As of September 2026, Enterprise subscribers can use &lt;code dir="ltr"&gt;interval=1m&lt;/code&gt; for true 1-minute historical data, with up to 1 day of data per request and coverage from 1 June 2026 onward.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Each timestamp is in milliseconds. Convert it to a readable date and time before plotting or printing it. Here’s the &lt;/span&gt;&lt;code&gt;prices&lt;/code&gt;&lt;span&gt; array in code and as a chart:&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;from datetime import datetime, timezone&lt;br&gt;
&lt;br&gt;
timestamp_ms, price = 1789524000000, 75639.72013073205&lt;br&gt;
readable_date = datetime.fromtimestamp(timestamp_ms / 1000, tz=timezone.utc)&lt;br&gt;
print(f"{readable_date}: ${price}")&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;!-- IMG-2 --&gt;&lt;img alt="Circle Wrapped BTC (cirBTC) hourly price history for the last 7 days on Arc Chain, returned by the CoinGecko API market_chart endpoint" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136405/content_arc-chain-cirbtc-hourly-price-history-chart.webp" style="max-width: 100%; height: auto; width: 1200px;" title=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;For candlestick charts or technical-analysis indicators: &lt;/span&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/demo/reference/coins-id-ohlc" target="_blank"&gt;Coin OHLC Chart by ID&lt;/a&gt;&lt;/strong&gt;&lt;span&gt; (&lt;/span&gt;&lt;code&gt;/coins/{id}/ohlc&lt;/code&gt;&lt;span&gt;) returns &lt;/span&gt;&lt;code&gt;[timestamp, open, high, low, close]&lt;/code&gt;&lt;span&gt;per interval. The candle interval is determined by the requested date range: 30-minute candles for 1–2 days, 4-hour candles for 3–30 days, and 4-day candles for 31+ days.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/coins/circle-wrapped-btc/ohlc?vs_currency=usd&amp;amp;days=7' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The API returns the following:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;[
  [1789531200000, 75640.0, 75883.0, 75632.0, 75684.0],
  [1789545600000, 75681.0, 75906.0, 75587.0, 75632.0],
  [1789560000000, 75620.0, 76054.0, 75283.0, 76053.0],
  [1789574400000, 76053.0, 76087.0, 75413.0, 75791.0]
]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Each candle represents the open, high, low, and close (OHLC) for that interval, rather than a single price point:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;!-- IMG-3 --&gt;&lt;img alt="Circle Wrapped BTC (cirBTC) 4-hour OHLC candlestick chart for the last 7 days on Arc Chain, returned by the CoinGecko API ohlc endpoint" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136406/content_arc-chain-cirbtc-ohlc-candlestick-chart.webp" style="max-width: 100%; height: auto; width: 1200px;" title=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;If you need an exact date range with a fixed interval instead of auto-selected granularity, use &lt;/span&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/reference/coins-id-ohlc-range" target="_blank"&gt;Coin OHLC Chart within Time Range by ID&lt;/a&gt;&lt;/strong&gt;&lt;span&gt; (&lt;/span&gt;&lt;code&gt;/coins/{id}/ohlc/range&lt;/code&gt;&lt;span&gt;). It requires the Analyst plan or above. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;For newly launched tokens on Arc Chain, historical data will build up as trading activity begins. If only a few hours or days of data are available, the response will reflect that shorter history. With auto-selected granularity, the API automatically adjusts the candle interval to match the requested date range, giving you finer-grained data when the available history is still limited.&lt;/span&gt;&lt;/p&gt;

&lt;p style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;span&gt;💡 &lt;/span&gt;&lt;strong&gt;Token not listed on CoinGecko yet?&lt;/strong&gt;&lt;span&gt; The endpoints above use a CoinGecko &lt;/span&gt;&lt;code&gt;id&lt;/code&gt;&lt;span&gt; for listed tokens. For unlisted tokens, &lt;/span&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/demo/reference/pool-ohlcv-contract-address" target="_blank"&gt;Pool OHLCV Chart by Pool Address&lt;/a&gt;&lt;/strong&gt;&lt;span&gt; and&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/reference/token-ohlcv-token-address" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/reference/token-ohlcv-token-address" target="_blank"&gt;Token OHLCV Chart by Token Address&lt;/a&gt;&lt;/strong&gt;&lt;span&gt; let you retrieve candlestick data using a pool or token address.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;&lt;img alt="Subscribe to CoinGecko API now!" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136537/content_Subcribe_to_CoinGecko_API_CTA_-_websocket_%288%29.webp" style="max-width: 100%; width: 1200px; height: 235px;"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="h.7vhbm0yjqkmz"&gt;&lt;span&gt;How to Find Liquidity Pools for Tokens on Arc Chain&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/demo/reference/top-pools-contract-address" target="_blank"&gt;Top Pools by Token Address&lt;/a&gt;&lt;/strong&gt;&lt;span&gt; (&lt;/span&gt;&lt;code&gt;/onchain/networks/{network}/tokens/{token_address}/pools&lt;/code&gt;&lt;span&gt;) returns the pools where a token trades, ranked by liquidity. Price data typically comes from these liquidity pools on decentralized exchanges.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/onchain/networks/arc/tokens/0x171a4217b86a807a64eb94757db6849fb4bdbaa0/pools' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The endpoint returns:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "data": [
    {
      "attributes": {
        "name": "cirbtc / USDC 0.01%",
        "address": "0x82916bee18fcef517b26c72d7cb5f13694e1db41",
        "reserve_in_usd": "10941775.8789",
        "fdv_usd": "9178493.07404261"
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;If you need to filter pools across a network by liquidity, volume, age, or other criteria, &lt;/span&gt;&lt;strong&gt;&lt;a href="https://docs.coingecko.com/reference/pools-megafilter" target="_blank"&gt;Pool Megafilter&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;span&gt;(&lt;/span&gt;&lt;code&gt;/onchain/pools/megafilter&lt;/code&gt;&lt;span&gt;) lets you filter across thousands of pools in a single request. It requires the Analyst plan or above.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;This can be useful when evaluating newly launched tokens, where liquidity may be limited and prices can vary between pools. The &lt;/span&gt;&lt;code&gt;checks&lt;/code&gt;&lt;span&gt; parameter supports additional screening, including &lt;/span&gt;&lt;code&gt;no_honeypot&lt;/code&gt;&lt;span&gt;, which excludes pools flagged by GoPlus and De.Fi Scanner, and &lt;/span&gt;&lt;code&gt;good_gt_score&lt;/code&gt;&lt;span&gt;, which requires a GT Score of at least 75.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;The &lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/38381394237593-What-is-GT-Score-How-is-GT-Score-calculated" target="_blank"&gt;GT Score&lt;/a&gt;&lt;/span&gt;&lt;span&gt; ranges from 0 to 100 and combines market activity and liquidity with security and supply signals, including honeypot status, buy and sell taxes, unverified contracts, mint or freeze authority, and supply concentration. The score is calculated at the pool level, so the same token can have different scores across pools.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;These capabilities help developers quickly identify pools that meet specific liquidity, market activity, and security criteria, making Megafilter useful for monitoring newly launched tokens across multiple networks.&lt;/span&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="h.2h5x3874p3zn"&gt;&lt;span&gt;What to Do If a Token on Arc Chain Isn't Indexed Yet&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;If a token isn’t listed on CoinGecko, the API response is different from a standard token lookup. &lt;/span&gt;&lt;span&gt;Here’s a real example using a currently unlisted token on Arc to show the actual response.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;A contract-address lookup using CoinGecko's API returns a &lt;/span&gt;&lt;code&gt;404&lt;/code&gt;&lt;span&gt; when the token isn't listed:&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/coins/arc/contract/0xa39c8e2ceb2a0f9d6e9d059f5e470edfda691c15' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The endpoint returns:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "error": "coin not found"
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The same token already exists on GeckoTerminal because its onchain indexing doesn't require a review. Tokens are indexed automatically once a pool exists:&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;&lt;code&gt;curl --request GET \&lt;br&gt;
  --url 'https://api.coingecko.com/api/v3/onchain/networks/arc/tokens/0xa39c8e2ceb2a0f9d6e9d059f5e470edfda691c15/info' \&lt;br&gt;
  --header 'x-cg-demo-api-key: &amp;lt;api-key&amp;gt;'&lt;/code&gt;&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The endpoint returns:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;{
  "data": {
    "attributes": {
      "name": "Arc Inu",
      "symbol": "AI",
      "image_url": null,
      "websites": [],
      "description": null,
      "coingecko_coin_id": null,
      "gt_score": 39.8,
      "gt_verified": false,
      "is_honeypot": "unknown"
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;The &lt;/span&gt;&lt;code&gt;gt_score&lt;/code&gt;&lt;span&gt; and &lt;/span&gt;&lt;code&gt;gt_verified&lt;/code&gt;&lt;span&gt; fields provide additional context about a token without affecting whether it is indexed. Tokens remain queryable for price and pool data regardless of their &lt;/span&gt;&lt;code&gt;gt_score&lt;/code&gt;&lt;span&gt; or &lt;/span&gt;&lt;code&gt;gt_verified&lt;/code&gt;&lt;span&gt; value. GeckoTerminal automatically indexes tokens and syncs basic information from onchain and third-party sources when they launch, making it useful for accessing market data for newly launched tokens before they are listed on CoinGecko.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;A &lt;/span&gt;&lt;code&gt;gt_verified: true&lt;/code&gt;&lt;span&gt; value means CoinGecko has verified the submitted token information, including its website, social links, and contract address. This confirms the information provided by the project but does not represent an endorsement or guarantee the project's safety. See&lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/54413671274649-What-is-GT-Verified-Badge" target="_blank"&gt;GT Verified Badge&lt;/a&gt;&lt;/span&gt;&lt;span&gt; for details.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;For Arc Inu, &lt;/span&gt;&lt;code&gt;image_url&lt;/code&gt;&lt;span&gt;, &lt;/span&gt;&lt;code&gt;websites&lt;/code&gt;&lt;span&gt;, and &lt;/span&gt;&lt;code&gt;description&lt;/code&gt;&lt;span&gt; return &lt;/span&gt;&lt;code&gt;null&lt;/code&gt;&lt;span&gt; because no token information has been submitted or synced yet. Other unverified tokens may already have automatically synced information in these fields. The &lt;/span&gt;&lt;code&gt;is_honeypot&lt;/code&gt;&lt;span&gt; provides an additional security signal and may return &lt;/span&gt;&lt;code&gt;"unknown"&lt;/code&gt;&lt;span&gt; when there is no definitive result. To exclude pools flagged as honeypots, use Megafilter endpoint's &lt;/span&gt;&lt;code&gt;checks=no_honeypot&lt;/code&gt;&lt;span&gt; parameter.&lt;/span&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="h.sg65j715oyci"&gt;&lt;span&gt;How to Build a Reusable Token Lookup Script&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;The&lt;/span&gt;&lt;span&gt;&lt;a href="https://github.com/coingecko/coingecko-python" rel="nofollow noopener" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://github.com/coingecko/coingecko-python" rel="nofollow noopener" target="_blank"&gt;official CoinGecko Python SDK&lt;/a&gt;&lt;/span&gt;&lt;span&gt; combines the steps above into a single workflow. Pass in a contract address and network to retrieve token identification and metadata. You can also retrieve price, historical data, and pool information for tokens on Arc Chain.&lt;/span&gt;&lt;/p&gt;

&lt;div style="background:transparent;"&gt;
&lt;div style="display:flex;overflow-x:auto;padding:0;"&gt;
&lt;pre style="color:#6e7681;text-align:right;padding:12px 10px 12px 16px;user-select:none;font-size:16px;margin:0;"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body" style="padding:12px 16px 12px 10px;font-size:16px;margin:0;background:transparent !important;"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;coingecko_sdk&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Coingecko&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Coingecko&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;demo_api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"COINGECKO_DEMO_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"demo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;lookup_token&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;asset_platform_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;"""Look up a token by contract address across CoinGecko and GeckoTerminal."""&lt;/span&gt;

    &lt;span class="c1"&gt;# Step 1: try CoinGecko's curated database first&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;coin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;coins&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;contract&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;asset_platform_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;coingecko_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;coin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Listed on CoinGecko as '&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;coingecko_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;' (&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;coin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="ne"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;coingecko_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Not yet listed on CoinGecko's curated database."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Step 2: always check GeckoTerminal, which indexes independently and faster&lt;/span&gt;
    &lt;span class="n"&gt;onchain_info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;onchain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tokens&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;network_id&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;token_attrs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;onchain_info&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Onchain as '&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token_attrs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;symbol&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;': GT Score &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token_attrs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gt_score&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;.1f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, "&lt;/span&gt;
          &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"honeypot status: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token_attrs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_honeypot&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Step 3: current price and market cap&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;coingecko_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;simple&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;token_price&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;asset_platform_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;contract_addresses&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;vs_currencies&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"usd"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;include_market_cap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Price (CoinGecko):"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;onchain_price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;onchain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;simple&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;token_price&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_addresses&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;include_market_cap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;mcap_fdv_fallback&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Price (GeckoTerminal, FDV fallback):"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;onchain_price&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;token_prices&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Step 4: historical data, only if listed on CoinGecko&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;coingecko_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;history&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;coins&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;contract&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;market_chart&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;asset_platform_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;vs_currency&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"usd"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"7"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;history&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; historical price points over the last 7 days"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Step 5: pools and liquidity&lt;/span&gt;
    &lt;span class="n"&gt;pools&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;onchain&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tokens&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pools&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;network&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;include&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"base_token,quote_token"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;pool&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;pools&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Pool: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;pool&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;: $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pool&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reserve_in_usd&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.0f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; liquidity"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Circle Wrapped BTC (cirBTC) on Arc Chain — Circle's institutional&lt;/span&gt;
    &lt;span class="c1"&gt;# wrapped-BTC asset, live on Arc since launch.&lt;/span&gt;
    &lt;span class="n"&gt;lookup_token&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;asset_platform_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"arc"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;network_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"arc"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;contract_address&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"0x171a4217b86a807a64eb94757db6849fb4bdbaa0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div style="border-top:1px solid #d0d7de;padding:8px 16px;font-size:16px;color:#64748b;display:flex;justify-content:space-between;margin-top:4px;"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/arc-chain-price-market-data-api-guide/token_lookup.py" rel="noopener" style="color:#334155;" target="_blank"&gt;token_lookup.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt; &lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/arc-chain-price-market-data-api-guide/token_lookup.py" rel="noopener" style="color:#334155;" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span&gt;Running this script produces output like the following:&lt;/span&gt;&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;"&gt;Listed on CoinGecko as 'circle-wrapped-btc' (Circle Wrapped BTC)
Onchain as 'cirbtc': GT Score 71.6, honeypot status: unknown
Price (CoinGecko): {'0x171a4217b86a807a64eb94757db6849fb4bdbaa0': TokenPriceGetIDResponseItem(last_updated_at=None, usd=75784.0, usd_24h_change=None, usd_24h_vol=None, usd_market_cap=0.0)}
16 historical price points over the last 7 days
Pool: cirbtc / USDC 0.01%: $10,942,823 liquidity
Pool: PIZZA / cirbtc: $18,318 liquidity
Pool: cirbtc / USDC: $29,393 liquidity&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="h.xj9st8f3pw2b"&gt;&lt;span&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;CoinGecko API gives you the tools to identify tokens on Arc Chain, retrieve their metadata, and access current and historical market data. When a token isn't listed on CoinGecko yet, &lt;/span&gt;&lt;span&gt;the onchain endpoints can still return its price, market cap, and historical data directly from onchain sources. Pool data provides additional context for evaluating the reliability of prices for newly launched tokens.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;You can also&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/how-to-track-new-tokens-onchain" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/how-to-track-new-tokens-onchain" target="_blank"&gt;track newly created pools across Arc Chain and 360+ other networks in real time&lt;/a&gt;&lt;/span&gt;&lt;span&gt;, check&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/get-token-holders" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/get-token-holders" target="_blank"&gt;token holder concentration&lt;/a&gt;&lt;/span&gt;&lt;span&gt; as an additional signal when evaluating new tokens, or check out our&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/coingecko-api-troubleshooting-guide-and-solutions" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/learn/coingecko-api-troubleshooting-guide-and-solutions" target="_blank"&gt;API troubleshooting guide&lt;/a&gt;&lt;/span&gt;&lt;span&gt; to handle common errors and edge cases.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to start building?&lt;/strong&gt;&lt;span&gt; Sign up for a&lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key" target="_blank"&gt;free Demo API plan&lt;/a&gt;&lt;/span&gt;&lt;span&gt; and start building with CoinGecko. As your application grows, upgrade to a&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;paid API plan&lt;/a&gt;&lt;/span&gt;&lt;span&gt; for higher rate limits, more call credits, access to more data delivery methods like&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/webhooks" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/webhooks" target="_blank"&gt;Webhooks&lt;/a&gt;&lt;/span&gt;&lt;span&gt; and&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/websocket" target="_blank"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://docs.coingecko.com/websocket" target="_blank"&gt;WebSocket&lt;/a&gt;&lt;/span&gt;&lt;span&gt;, and exclusive endpoints such as Pool Megafilter for advanced pool discovery and filtering.&lt;/span&gt;&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/arc-chain-price-market-data-api-guide?locale=en</url>
    <summary>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent;...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135772</id>
    <published>2026-09-16T07:53:15Z</published>
    <updated>2026-09-22T07:50:12Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/top-onchain-revenue-crypto-projects-2026?locale=en"/>
    <title>Hyperliquid Leads as the Top On-chain Revenue Generator of 2026</title>
    <content type="html">&lt;div dir="ltr"&gt;&lt;img alt="on-chain revenue 2026 main chart" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136403/content_on-chain_revenue_2026_main_chart.webp" style="width: 1200px; height: 1200px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;The top 15 revenue-generating crypto projects captured 56.02% of the $3.40 billion total tracked across all primarily on-chain crypto projects between January 1 and September 15, 2026. Hyperliquid leads by a wide margin, generating $429.04 million YTD, 12.62% of the entire pool and more than the next two highest earners combined.&lt;/p&gt;

&lt;p dir="ltr"&gt;Hyperliquid and Pump.fun together account for $751.25 million, or 22.10% of all 2026 revenue tracked. Pump.fun's $322.21 million comes almost entirely from token-creation and trading fees on its memecoin launchpad on Solana.&lt;/p&gt;

&lt;p dir="ltr"&gt;An interesting finding is the #3 and #5 revenue generators, Axiom Pro and GMGN, which are not on-chain or DeFi protocols per se, but trading terminals that provide easier access to on-chain trading. Axiom is commonly used to trade perpetuals and notably integrates Hyperliquid for its perps functions. GMGN, by contrast, is built around Solana memecoin trading, capturing fee revenue tied to the same speculative activity that fuels Pump.fun.&lt;/p&gt;

&lt;p dir="ltr"&gt;The top 15 projects span a diverse range of sectors without any noticeable dominant sector: 2 perps, 1 launchpad, 3 trading terminals, 2 stablecoin issuers, 1 RWA, 1 prediction market, 1 MEV builder, 1 collectibles platform, 1 wallet, 1 payments, 1 lending protocol, and 1 DEX.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Top 15 Crypto Revenue Generators, 2026 YTD (Jan 1–Sep 15)&lt;/h2&gt;

&lt;table&gt;
	&lt;colgroup&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Rank&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Project&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Type&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2026 YTD Revenue&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;% of $3.40B Total&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Hyperliquid&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Perps&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$429.04M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;12.62%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Pump.fun&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Launchpad&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$322.21M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;9.48%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Axiom Pro&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Trading Terminal&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$132.09M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3.89%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;4&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Sky&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Stablecoin Issuer&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$129.87M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3.82%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;5&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;GMGN&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Trading Terminal&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$126.03M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3.71%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;6&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Polymarket&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Prediction Market&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$115.48M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3.40%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;7&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;World Liberty Financial&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Stablecoin Issuer&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$95.37M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2.81%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;8&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Paxos&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;RWA&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$87.93M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2.59%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;9&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;edgeX&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Perps&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$84.37M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2.48%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;10&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Titan Builder&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;MEV&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$83.47M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2.46%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;11&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Collector Crypt&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Collectibles&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$72.82M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2.14%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;12&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Phantom&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Wallet&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$60.05M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1.77%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;13&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Aave&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Crypto Lending&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$56.81M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1.67%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;14&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;fomo&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Payments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$54.66M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1.61%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;15&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Aerodrome&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;DEX&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$54.31M&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1.60%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;p dir="ltr"&gt;The top 15 projects above account for 56.02% of the $3.40 billion total tracked across all non-stablecoin-issuer projects in 2026 YTD.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Crypto Revenues Remain Consistent Despite the Current Bear Market&lt;/h2&gt;

&lt;div dir="ltr"&gt;&lt;img alt="onchain revenue chart 2 fixed" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136407/content_onchain_revenue_2nd_chart_fixed.webp" style="width: 1200px; height: 1200px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;Crypto's monthly revenue across all tracked projects, including Tether and Circle peaked at $1.57B in January 2025. The market has averaged $1.08B/month across the first eight full months of 2026 (January–August), an 11.68% decline but still considered impressive given that BTC declined by almost 40% in the same period.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Monthly Revenue Trend, Year-over-Year Comparison&lt;/h3&gt;

&lt;table&gt;
	&lt;colgroup&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Monthly Average Revenue&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Change&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2024 (full year)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$0.84B&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;—&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2025 (full year)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$1.22B&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;+45.51% vs. 2024&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2026 (Jan–Aug)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$1.08B&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;-11.68% vs. 2025 full-year avg&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2026 (Jan–Aug) vs. 2025 (Jan–Aug)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$1.08B vs. $1.20B&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;-10.14%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 dir="ltr"&gt;Methodology&lt;/h3&gt;

&lt;p dir="ltr"&gt;Chart 1 (Top 15 Revenue Generators): Covers January 1–September 15, 2026. The $3.40 billion total and top-15 rankings exclude Tether and Circle on the basis of scale as both would dwarf every other entry and obscure differentiation among the remaining projects, not because their revenue model is illegitimate. Grayscale, which would otherwise rank #3 by revenue ($154.14M), is also excluded from the top-15 rankings as the sole TradFi asset manager in the dataset (its revenue is an AUM-based sponsor fee rather than a usage-based protocol fee); Aerodrome (rank #16 by revenue) fills the 15th slot in its place.&lt;/p&gt;

&lt;p dir="ltr"&gt;Chart 2 (Monthly Revenue Trend): Covers all tracked projects, including Tether and Circle, from inception (March 2018, charted from January 2020) through September 15, 2026. September 2026 is a partial month (15 of 30 days) and is excluded from all monthly-average and YoY calculations to avoid understating 2026's pace.&lt;/p&gt;

&lt;p dir="ltr"&gt;Category labels applied to individual projects (e.g., "trading terminal," "launchpad," "stablecoin issuer") are a manual, best-effort classification rather than a formal taxonomy, and some entries involve judgment calls: Pump.fun is treated as a launchpad rather than a DEX since token creation, not swapping, drives its fees; World Liberty Financial is treated as a stablecoin issuer (its USD1 product) despite also offering lending-adjacent products.&lt;/p&gt;

&lt;p dir="ltr"&gt;On-chain revenue is our primary criterion for inclusion in this list. Some entries, particularly stablecoin issuers like Paxos and World Liberty Financial, generate revenue off-chain (largely interest income on reserves) rather than through on-chain transaction fees. We have kept them in the rankings since their figures come from the same public data sources (DefiLlama) as the rest of the list, but the distinction is worth noting for readers comparing them against usage-based protocols.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;If you cite these insights, we would appreciate a link credit to this article on CoinGecko, which allows us to keep supplying you with useful data-led content.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This study is for illustrative and informational purposes only, and is not financial advice.&lt;/em&gt;&lt;/p&gt;
</content>
    <author>
      <name>Loke Choon Khei</name>
    </author>
    <url>https://www.coingecko.com/learn/top-onchain-revenue-crypto-projects-2026?locale=en</url>
    <summary>

The top 15 revenue-generating crypto projects captured 56.02% of the $3.40 billion total tracked across all primarily on-chain crypto projects between January 1 and September 15, 2026. Hyperliqui...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135765</id>
    <published>2026-09-15T01:38:15Z</published>
    <updated>2026-09-15T08:51:25Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/south-korea-security-tokens-cbdc-stablecoin-2026?locale=en"/>
    <title>Korea Crypto Market: A Guide to the Rest of 2026</title>
    <content type="html">&lt;div&gt;&lt;img alt="KR Crypto Market 2026" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136401/content_KR_Crypto_Market_2026.webp" style="width: 1200px; height: 628px;"&gt;&lt;/div&gt;

&lt;h3&gt;Key Takeaways&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;The Bank of Korea’s CBDC has entered live-transaction testing under Project Han River Phase 2, but a won-denominated stablecoin still has no legislative basis.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;The revised STO bill has passed, but permitted assets and licensing details are left to presidential decree. The market’s direction will be set when those regulations appear, not when the bill passed.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;With the consultative council aligned on a tokenization roadmap for stocks, bonds, and money market funds, the priority is bringing proven, standardized securities on-chain rather than sourcing new fractional-investment assets.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Hana Bank’s stake in Dunamu (6.55%, 1.0033 trillion won, about $733 million) and Mirae Asset Consulting’s stake in Korbit (97.15%, 141.4 billion won, about $103 million) point to securing infrastructure for combined STO, RWA, and stablecoin services, not fee income alone.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Overseas tokenization pilots take six months to a year, while domestic financial institutions close their budgets in early December. Implementation should start now, not wait for the detailed rules.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;1. A Fragmenting Global Crypto Market and Korea’s Position&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The crypto ecosystem appears borderless on the surface, but in practice national borders are becoming sharper as each country establishes its own regulatory framework.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The EU has implemented MiCA, the United States is advancing the GENIUS Act and the &lt;a href="https://www.coingecko.com/learn/clarity-act-what-it-means-for-crypto?locale=en" target="_blank"&gt;CLARITY Act&lt;/a&gt;, and in Asia, Singapore, Hong Kong, and Japan have each settled on their own regulatory approaches. Major economies are embracing the market through clear policy, but because those policies diverge, the global market is fragmenting along regional lines.&lt;/p&gt;

&lt;p&gt;Korea is building its own environment within this trend. Investment demand and public interest in Korea are very high, but the country’s regulatory pace lags somewhat behind that of major economies.&lt;/p&gt;

&lt;h2&gt;2. Where Korea’s Crypto Market Stands Today&lt;/h2&gt;

&lt;p&gt;In the first half of 2026, Korea’s regulatory environment raised expectations of full incorporation into the formal financial system, including passage of the STO-related bill, but a series of market-restraining statements, including discussion of taxation, added to confusion within the ecosystem.&lt;/p&gt;

&lt;h3&gt;2.1. Bank of Korea’s Project Hangang Phase 1 Results (March 29, 2026)&lt;/h3&gt;

&lt;div&gt;&lt;img alt="Project Hangang Phase II" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136354/content_1.webp" style="width: 1200px; height: 864px;"&gt;&lt;/div&gt;

&lt;p&gt;The Bank of Korea released the first-phase results report for its deposit-token-based CBDC live-transaction pilot on December 18, 2025, then formally announced the start of Phase 2 on March 29, 2026.&lt;/p&gt;

&lt;p&gt;Phase 2 goes beyond simple technical verification to test real conditional fund disbursement, including electric vehicle subsidies and official expense accounts. The number of participating banks has expanded to nine, and the pilot has added peer-to-peer transfers, biometric authentication, and automatic deposit conversion. Live transactions are expected to begin as early as September, though no separate testing period has been set. The absence of a fixed end date reflects an effort to sustain the service on an ongoing basis rather than treat it as a one-time demonstration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;While the CBDC has advanced substantially through Project Hangang, a won-denominated stablecoin remains far from realization.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While Project Hangang has moved forward, Phase 2 of the Digital Asset Basic Act, which would institutionalize a won-denominated stablecoin, has been delayed by roughly a year. The delay stems from disagreement between the Bank of Korea and the Financial Services Commission. The Bank of Korea has argued that a bank consortium should hold a stake of at least 51 percent, while the Financial Services Commission has opposed that requirement on the grounds that it would stifle innovation.&lt;/p&gt;

&lt;p&gt;Various policy alternatives were subsequently proposed, but legislative discussion came to a complete halt in the aftermath of the June local elections, and the process has remained stalled without clear progress since. The government and the Financial Services Commission announced plans in July to resume work in the second half of the year and pass legislation before year-end, but the process has been delayed again after Rep. Park Min-gyu of the Democratic Party, a member of the National Assembly’s Political Affairs Committee, signaled that the task force would be reorganized after the party’s August convention, with the bill to be introduced in September.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Bank of Korea-led CBDC has already entered the live-transaction verification stage and is producing visible results, while a won-denominated stablecoin remains in an uncertain state without even a legislative basis. Premature optimism about this area should therefore be treated with caution, and it should be recognized as a long-term undertaking that will require considerable time before the market settles.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;2.2. Passage of the STO-Related Bill in the National Assembly (January 15, 2026)&lt;/h3&gt;

&lt;p&gt;On January 15, 2026, revisions to the Act on Electronic Registration of Stocks, Bonds, etc. (the Electronic Securities Act) and the Financial Investment Services and Capital Markets Act (the Capital Markets Act) passed a plenary session of the National Assembly. This brought to an end the three-year regulatory sandbox regime that had been in place since the Financial Services Commission released its “Plan to Reorganize the Regulatory Framework for Issuance and Distribution of Security Tokens” in February 2023.&lt;/p&gt;

&lt;p&gt;The revision rests on three pillars: recognizing the legal status of the distributed ledger, introducing the issuer account management institution system, and detailing a distribution roadmap for investment contract securities.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Legal recognition of the distributed ledger: &lt;/strong&gt;extends the legally valid forms of securities registration, previously limited to physical certificates and electronic securities, to include blockchain-based distributed ledgers.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Introduction of the issuer account management institution system: &lt;/strong&gt;gives issuers that meet the qualification requirements the authority to register and manage securities directly with the Korea Securities Depository, without going through a financial institution as intermediary.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;A more concrete distribution roadmap for investment contract securities: &lt;/strong&gt;establishes a legal basis for securities firms to broker trading, improving the secondary trading environment and market liquidity for fractional-investment assets that had previously been fragmented.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The revised law was promulgated on February 3, 2026, and will take full effect on February 4, 2027, following a one-year grace period. It is still too early to expect immediate market activation from the legislative basis alone, because key practical requirements, including the specific scope of permitted assets, have been delegated to presidential decree and supervisory regulations, and detailed guidelines have not yet been announced.&lt;/p&gt;

&lt;p&gt;The public-private Token Securities Council, launched on March 4, 2026, to work out those guidelines, is discussing the detailed plan. The Financial Services Commission originally planned to publish the subordinate regulations and guidelines around July 2026, but the timeline slipped when the process remained at a closed-door consultation stage with the legal and financial sectors as of July 31. As of late August, working-level officials expect the announcement sometime between September and November.&lt;/p&gt;

&lt;div&gt;&lt;img alt="2nd security token task force highlights" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136355/content_2.webp" style="width: 1200px; height: 642px;"&gt;&lt;/div&gt;

&lt;p&gt;One encouraging aspect of the council’s discussions is the inclusion of standardized securities such as stocks. At the second meeting, held on May 15, the council reached consensus on a phased roadmap that includes tokenizing existing standardized securities such as stocks, bonds, and money market funds, and building on-chain settlement infrastructure. This suggests that the market, previously confined to fractional investment, could expand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rather than concentrating on sourcing new assets, as existing fractional-investment operators have done, building a model to distribute on-chain the standardized securities whose demand has already been proven could create a larger market opportunity. Domestic institutions should therefore study concrete precedents closely and build diverse global partnerships early, moving quickly enough to be well positioned once the market matures in earnest.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;2.3. Amended Special Financial Information Act Takes Effect (August 20, 2026)&lt;/h3&gt;

&lt;p&gt;The amended Act on Reporting and Using Specified Financial Transaction Information, commonly known as the Special Financial Information Act (Act No. 21358), was promulgated on February 19, 2026, and took effect on August 20, 2026. Not all of its provisions apply as of that date. Stricter screening for virtual asset service provider (VASP) registration took effect on August 20, while strengthened Travel Rule requirements and rules governing transactions with overseas providers and personal wallets will apply around February 2027, six months after the enforcement decree is promulgated.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Stricter VASP registration screening: &lt;/strong&gt;introduces review of major shareholders and raises financial soundness and creditworthiness requirements, raising the barrier to entry (effective August 20)&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Strengthened Travel Rule: &lt;/strong&gt;removes the 1 million won (about $730) threshold that had triggered the information-sharing requirement and extends it to all transactions (effective around February 2027)&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Stricter rules for overseas providers and personal wallets:&lt;/strong&gt; differentiates permitted transaction scope by risk level (effective around February 2027)&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core change to VASP registration screening is an expanded definition of major shareholder. The review now closely examines the financial soundness and creditworthiness of the largest shareholder, any shareholder who has appointed a majority of the CEO and directors, and, where the shareholder is itself a corporation, that corporation’s largest shareholder and representative.&lt;/p&gt;

&lt;p&gt;The strengthened Travel Rule targets transaction splitting used to avoid reporting. For transfers between reported VASPs, the information-sharing threshold expands from 1 million won or more to all transactions, and the obligation to obtain that information now also falls on the receiving provider.&lt;/p&gt;

&lt;p&gt;Overseas transactions are also being brought out of the regulatory blind spot. Rather than an outright ban, the rule applies three tiers of risk-based restriction. Transfers to low-risk overseas exchanges are permitted without a same-name requirement for sender and recipient. Transfers to other overseas exchanges and personal wallets are permitted only when the sender and recipient are the same person, meaning the wallet must be held in the user’s own name. Transactions with high-risk overseas exchanges are banned entirely. For overseas exchange and personal wallet transactions of 10 million won (about $7,300) or more, reported VASPs must build and operate their own suspicious transaction monitoring system.&lt;/p&gt;

&lt;h3&gt;2.4. No Additional Deferral for Virtual Asset Taxation (August 3, 2026)&lt;/h3&gt;

&lt;div&gt;&lt;img alt="Timeline for crypto taxation in South Korea" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136356/content_3.webp" style="width: 1200px; height: 1392px;"&gt;&lt;/div&gt;

&lt;p&gt;Virtual asset taxation, whose effective date was set at January 1, 2027, through a December 2024 amendment to the Income Tax Act, will proceed as scheduled under current law after the government’s August 2026 tax reform proposal excluded any additional deferral provision. Bills from the People Power Party seeking deferral or repeal remain pending, however.&lt;/p&gt;

&lt;p&gt;In addition, a &lt;a href="https://petitions.assembly.go.kr/proceed/onGoingAll/585E43843479526AE064B49691C6967B" rel="nofollow noopener" target="_blank"&gt;petition&lt;/a&gt; submitted through the National Assembly’s public petition system points to inadequate tax infrastructure, capital outflows overseas, and declining corporate tax revenue from weaker exchange earnings, but the National Assembly and the government remain divided in their response.&lt;/p&gt;

&lt;h3&gt;2.5. Exchange Stake Investment Gains Momentum&lt;/h3&gt;

&lt;p&gt;Traditional financial institutions and large capital groups are acquiring stakes in virtual asset exchanges not simply to generate returns but to secure an early position in the digital finance market. With VASP (virtual asset service provider) regulation making direct market entry difficult, equity investment offers an efficient alternative that reduces regulatory risk while providing immediate access to a large user base and liquidity.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Dunamu (Upbit’s parent company): &lt;/strong&gt;Hana Bank acquired a 6.55% stake (1.0033 trillion won, about $733 million, resolved May 15, 2026), becoming the first commercial bank to hold a large stake in the company. On August 18, BitGo Korea’s VASP registration was accepted, completing a dual-track structure combining the Upbit stake with BitGo custody services. Hanwha Investment &amp;amp; Securities expanded its stake to 9.84%, becoming the third-largest shareholder, while Samsung affiliates, Samsung Securities (2%), Samsung SDS (1%), and Samsung Card (1%), together acquired a combined 4% stake (612.8 billion won, about $448 million), establishing a division of roles across security tokens, infrastructure, and payments.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Korbit (acquisition completed): &lt;/strong&gt;Mirae Asset Consulting acquired a 97.15% stake (141.4 billion won, about $103 million), completing the acquisition. Because the acquiring entity is Mirae Asset Consulting, a non-financial affiliate, the Fair Trade Commission’s approval was likewise explained as not constituting direct investment by a financial company.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Coinone (change of largest shareholder approved July 22, 2026):&lt;/strong&gt; Korea Investment &amp;amp; Securities and OKX Ventures each acquired a 20% stake (roughly 80 billion won, about $58 million, each). The ownership structure was reorganized to CEO Cha Myung-hoon at 30.36%, Com2uS Holdings at 24.54%, and Korea Investment &amp;amp; Securities and OKX Ventures at 20% each, marking a case of a securities firm holding a direct stake.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;&lt;strong&gt;Bithumb (unresolved): &lt;/strong&gt;Negotiations with Kiwoom Securities effectively broke down on August 5 over valuation and management control, and talks with Kakao have also dragged on. A multi-layered governance structure and the second-largest shareholder Vidente’s effective stake of more than 32% make a sale of existing shares difficult.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exchange stake investment continues on this basis, and the pattern suggests that investors see exchanges over the long term as the next-generation financial infrastructure where STO, RWA, and stablecoin functions converge, positioning themselves ahead of an anticipated opening of corporate accounts and a fuller entry of institutional investors.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;3. What Lies Ahead for Korea’s Crypto Market&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;As outlined above, Korea is in a transitional period of building its institutional framework, but regulatory barriers that hold back industry growth remain widespread at the same time. Because the market’s direction will depend heavily on the corporate governance changes among major virtual asset service providers and on legislative progress concentrated in the fourth quarter, these turning points warrant close attention.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;3.1. Deal-Closing Season (September to December)&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The stock swap between Dunamu and Naver Financial is likely to be the first matter to conclude.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because the Fair Trade Commission’s business combination review has been delayed, the completion date for the comprehensive stock swap has been pushed back twice, first from June to September, then to December 31. The shareholders’ meeting has been rescheduled accordingly to November 19, and Naver Financial has set a target of listing within five years of the merger, with a clause allowing an extension if that timeline proves unworkable.&lt;/p&gt;

&lt;p&gt;For Bithumb, a concrete three-stage roadmap has been laid out: securing new investment starting in early August, filing a preliminary listing review in 2027, and completing an IPO in 2028. However, with negotiations with Kiwoom Securities effectively broken down and discussions with Kakao continuing to stall, there is a risk that the roadmap could fall behind schedule at its very first step, the investment round.&lt;/p&gt;

&lt;p&gt;The VASP re-registration process is also concentrated toward year end. Preliminary submissions begin in late October, formal applications close on November 20, and the Financial Intelligence Unit’s substantive review follows. In addition, registration for virtual asset transfer businesses becomes mandatory when the amended Foreign Exchange Transactions Act takes effect in early December, making this an important juncture for regulatory compliance as well.&lt;/p&gt;

&lt;h3&gt;3.2. Legislative Turning Point (September Regular Session of the National Assembly)&lt;/h3&gt;

&lt;p&gt;The government’s draft of the Digital Asset Basic Act is likely to take shape during the September regular session, introduced as member-sponsored legislation. &lt;strong&gt;The most sensitive issue is whether to require private stablecoin issuers to secure a bank stake of at least 51 percent and whether to cap major shareholder stakes at exchanges to improve corporate governance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the same time, the authorities regard amending the Capital Markets Act to regulate single-stock leveraged ETFs as an urgent priority, raising concern that legislative momentum for the Digital Asset Basic Act could weaken more than expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Because passage of this bill is directly tied to whether won-denominated stablecoins become institutionalized, it stands as the most decisive variable likely to reshape the market going forward.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;3.3. Finalizing STO Subordinate Regulations&lt;/h3&gt;

&lt;p&gt;The enforcement decree and guidelines that will set the detailed standards for the STO market have missed their original July target and remain delayed as of late August. An announcement is expected sometime in the second half of the year, but no specific date has been set.&lt;/p&gt;

&lt;p&gt;Once the guidelines are finalized, they will clarify the scope of underlying assets eligible for issuance as security tokens, the licensing requirements for over-the-counter exchanges, and investor trading limits. The Korea Securities Depository has begun building its system with a target of 2027 implementation, and as the subordinate regulations continue to lag, concerns are growing that a gap between actual issuance and distribution could leave the market with a period of inactivity.&lt;/p&gt;

&lt;h2&gt;4. How Companies Should Approach the Korean Market&lt;/h2&gt;

&lt;div&gt;&lt;img alt="Korea Institution Relationship Map" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136357/content_4.webp" style="width: 1200px; height: 1364px;"&gt;&lt;/div&gt;

&lt;p&gt;As shown in the landscape of domestic &lt;a href="https://app.tiger-research.com/south-korea/relationship-map" target="_blank"&gt;institutional relationships&lt;/a&gt; that Tiger Research has mapped, major institutions are continuing to expand cooperative relationships across the board to build a genuine business value chain.&lt;/p&gt;

&lt;p&gt;Established financial institutions are leading the effort to build concrete business precedents, and Web3 projects, both domestic and international, are increasingly concentrating their resources on securing strategic partnerships with institutions rather than retail users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This shift partly reflects the current slowdown in retail market liquidity, but it also reflects a longer-term strategic view, that real value creation within the formal financial system must come first before retail demand can be reignited.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;4.1. Domestic Institutions: Making the Attempt Matters&lt;/h3&gt;

&lt;p&gt;Large-scale equity investment by traditional financial institutions continues, but the current regulatory framework limits the ability to develop a genuine business model within Korea. Institutions are left waiting for the STO subordinate regulations to be finalized or confined to limited testing through the regulatory sandbox, which makes the most effective alternative building out a business preemptively in an overseas jurisdiction where the institutional groundwork is already complete.&lt;/p&gt;

&lt;p&gt;Waiting passively for regulatory clarity has clear limits when it comes to securing market position, and the sandbox track is confined to the narrow scope of fractional investment, making it difficult to extend to standardized securities. &lt;strong&gt;Domestic institutions should therefore treat building operational capability centered on an overseas base, difficult as that is right now, as their top priority.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hong Kong manages security tokens within its existing financial regulatory framework and permits secondary distribution through licensed exchanges, offering an integrated environment for issuance and trading. Singapore offers excellent regulatory transparency but a considerably high barrier to entry, while the United States offers an issuance path through exemption provisions when using specific platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Domestic financial institutions that already have overseas networks would therefore do better to focus first on the potential of their existing footholds rather than spend time exploring new jurisdictions. &lt;/strong&gt;Rather than getting absorbed in extensive legal interpretation, a more strategic approach is to quickly test feasibility through working-level meetings with leading local platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This moment in particular is a critical window.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Overseas tokenization projects typically take six months to a year or more, from initial analysis through issuance and distribution. Given Korea’s STO regulations and the February 2027 enforcement of the Electronic Securities Act, now is the right time to pursue overseas pilots that can work in tandem with the domestic market. Waiting until the domestic system is fully in place would waste more than a year, so institutions should confirm a concrete checklist and roadmap and act now.&lt;/p&gt;

&lt;h3&gt;4.2. Web3 Projects: The Same Applies, Act Now&lt;/h3&gt;

&lt;p&gt;The first gate to collaborating with Korean financial institutions is not technical capability but contracting-entity eligibility. Even for a proof of concept, information security review and vendor registration must come first, and registration is frequently denied outright when the applicant has no Korean corporate entity. Where establishing a local entity is not feasible, projects need a strategic structure that puts a credible Korean partner forward as the contracting entity.&lt;/p&gt;

&lt;div&gt;&lt;img alt="Strategic Timeline for Korean Institutional Procurement" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136358/content_5.webp" style="width: 1200px; height: 568px;"&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Another key variable is the budgeting cycle specific to Korean financial institutions. &lt;/strong&gt;Most begin drafting next year’s strategy in October and finalize their budget allocations in early December. After the budget is actually executed from January onward, available resources are quickly depleted and momentum for pursuing new projects drops sharply. Projects planning to do business with these institutions should treat the current period as the window for making a proposal, because missing it substantially lowers the odds of a project moving forward.&lt;/p&gt;

&lt;p&gt;Retail strategy also needs a full overhaul. The current market slowdown stems from a broader global downturn, so retail marketing is unlikely to deliver the results it once did. Messaging now needs to center on track record rather than promotion. Because institutional references have already accumulated to the point that a simple memorandum of understanding no longer moves the market, securing references with substantive weight has become the more important strategy.&lt;/p&gt;

&lt;p&gt;Many foundations are also eliminating their retail budgets entirely, but AI technology is lowering costs, so unless a project is prepared to give up retail engagement altogether, the better approach is to make retail spending more efficient rather than cut it entirely.&lt;/p&gt;

&lt;h2&gt;5. An Opportunity to Observe Market Change&lt;/h2&gt;

&lt;p&gt;These rapid shifts in Korea’s virtual asset market and its move toward institutional incorporation are expected to become clearer and take more concrete shape around Korea Blockchain Week 2026 (&lt;a href="https://koreablockchainweek.com/ko/" rel="nofollow noopener" target="_blank"&gt;KBW2026&lt;/a&gt;), to be held in September. KBW2026 is expected to serve as more than a technical or academic exchange or a networking event, functioning instead as a venue for substantive discussion of the shift underway between established finance and the Web3 ecosystem.&lt;/p&gt;

&lt;p&gt;At this year’s event, rather than retail-focused marketing, the dominant theme is expected to be multilateral strategic discussion among financial institutions, policy authorities, and major virtual asset service providers, aimed at building business models that comply with regulatory guidelines within the formal financial system and establishing real-world use cases.&lt;/p&gt;

&lt;p&gt;Domestic and international companies and research institutions should therefore closely analyze the policy recommendations and inter-institutional cooperation roadmaps presented during KBW2026, and use that analysis to secure an early position in the institutionalized virtual asset market expected to fully emerge going forward.&lt;/p&gt;

&lt;hr&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="https://reports.tiger-research.com/subscribe?utm_source=coingecko&amp;amp;utm_medium=post&amp;amp;utm_campaign=" target="_blank"&gt;Dive deep into Asia’s Web3 market with Tiger Research.&lt;br&gt;
Be among the 23,000+ pioneers who receive exclusive market insights.&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h3&gt;Disclaimer&lt;/h3&gt;

&lt;p&gt;This report has been prepared based on materials believed to be reliable. However, we do not expressly or impliedly warrant the accuracy, completeness, and suitability of the information. We disclaim any liability for any losses arising from the use of this report or its contents. The conclusions and recommendations in this report are based on information available at the time of preparation and are subject to change without notice. All projects, estimates, forecasts, objectives, opinions, and views expressed in this report are subject to change without notice and may differ from or be contrary to the opinions of others or other organizations.&lt;/p&gt;

&lt;p&gt;This document is for informational purposes only and should not be considered legal, business, investment, or tax advice. Any references to securities or digital assets are for illustrative purposes only and do not constitute an investment recommendation or an offer to provide investment advisory services. This material is not directed at investors or potential investors.&lt;/p&gt;

&lt;h3&gt;Terms of Usage&lt;/h3&gt;

&lt;p&gt;Tiger Research allows the fair use of its reports. ‘Fair use’ is a principle that broadly permits the use of specific content for public interest purposes, as long as it doesn’t harm the commercial value of the material. If the use aligns with the purpose of fair use, the reports can be utilized without prior permission. However, when citing Tiger Research’s reports, it is mandatory to 1) clearly state ‘Tiger Research’ as the source, 2) include the Tiger Research &lt;a href="https://drive.google.com/drive/folders/1wDipGyey04EqFO6yZU90ZIe-jsKCDaqR" rel="nofollow noopener" target="_blank"&gt;logo&lt;/a&gt;. If the material is to be restructured and published, separate negotiations are required. Unauthorized use of the reports may result in legal action.&lt;/p&gt;
</content>
    <author>
      <name>Tiger Research</name>
    </author>
    <url>https://www.coingecko.com/learn/south-korea-security-tokens-cbdc-stablecoin-2026?locale=en</url>
    <summary>

Key Takeaways


	
	The Bank of Korea’s CBDC has entered live-transaction testing under Project Han River Phase 2, but a won-denominated stablecoin still has no legislative basis.
	
	
	The revised...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135770</id>
    <published>2026-09-10T07:32:46Z</published>
    <updated>2026-09-10T08:58:16Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/injective-rwa-perpetuals-global-markets?locale=en"/>
    <title>From Crypto Perps to Global Markets: How Onchain Trading Is Expanding Beyond Tokens</title>
    <content type="html">&lt;div dir="ltr"&gt;&lt;img alt="Injective onchain trading from crypto perps to global markets" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136385/content_Injective_onchain_trading_from_crypto_perps_to_global_markets.webp" style="width: 1200px; height: 632px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;This article is contributed by &lt;a href="https://injective.com/" target="_blank"&gt;Injective&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;em&gt;Perpetual markets began as a crypto-native invention. Their next phase is turning equities, commodities, currencies, indices, and private-market references into programmable markets.&lt;/em&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;Perpetual futures solved an early crypto problem: how can traders take long or short exposure in a market that never closes without constantly rolling an expiring contract? The answer was a derivative with no expiration date, anchored to an index through funding payments.&lt;/p&gt;

&lt;p dir="ltr"&gt;That structure is now moving well beyond crypto. Equities, commodities, foreign exchange, indices, and pre-IPO references are becoming available through the same onchain market infrastructure that traders already use for Bitcoin and other digital assets. &lt;a href="https://www.coingecko.com/research/publications/exchanges-reshaping-tradfi-trading" target="_blank"&gt;CoinGecko&lt;/a&gt; found that the market for actively traded crypto representations of traditional assets expanded from $1.41 billion to $6.59 billion over the last year and a half. Trading volume reached $1.45 trillion in the first half of 2026, while open interest in traditional-asset perpetuals rose as high as $4.67 billion.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective offers one of the clearest examples of this expansion, with 135 active RWA perpetual markets quoted against native USDC across equities, commodities, foreign exchange, indices, and pre-IPO references. That breadth rests on an exchange, oracle, liquidity, and risk stack built directly into the network, giving new markets access to infrastructure that would otherwise have to be assembled market by market.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Key Findings&lt;/h2&gt;

&lt;ul&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Perpetuals provide long and short price exposure without requiring the underlying stock, commodity, or currency to be wrapped, custodied, or pre-funded on the network.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Injective offers 135 active RWA perpetual markets, including 111 equity markets, 11 foreign-exchange markets, nine commodity markets, two indices, and two pre-IPO references.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Injective's RWA perpetual markets have generated more than $5.3 billion in cumulative onchain volume since early 2025.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Monthly RWA perpetual volume reached $186.5 million in July 2026 and $209.7 million in August, the two strongest full months of the year. August volume was 3.4 times May's level.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Selected U.S. equity markets use a unified 24/5 oracle stream that combines pre-market, regular, after-hours, and overnight pricing, with updates approximately every two seconds.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Injective places orderbook management, matching, settlement, margin, liquidation, oracle pricing, and insurance at the protocol level. Applications can reach the same canonical markets without rebuilding that stack.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li aria-level="1" dir="ltr"&gt;
	&lt;p dir="ltr" role="presentation"&gt;Native USDC and an onchain orderbook that can be shared across applications give participating venues a common settlement asset and liquidity layer.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 dir="ltr"&gt;Snapshot&lt;/h3&gt;

&lt;table border="1" cellpadding="5" cellspacing="5" style="width:100%;"&gt;
	&lt;colgroup&gt;
		&lt;col width="240"&gt;
		&lt;col width="384"&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Metric&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr" style="text-align: center;"&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Active RWA perpetual markets&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;135, all quoted against native USDC&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Active markets by class&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;111 equity; 11 FX; 9 commodity; 2 index; 2 pre-IPO&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Cumulative RWA perpetual volume since early 2025&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;More than $5.3B&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;July 2026 RWA perpetual volume&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$186.5M&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;August 2026 RWA perpetual volume&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$209.7M&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;RWA perpetual volume, 2026 year to date&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$845.9M&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Source: &lt;a href="https://api.injective.exchange" target="_blank"&gt;Injective public mainnet data&lt;/a&gt;, compiled by Injective Research, as of September 1, 2026.&lt;/span&gt;&lt;/p&gt;

&lt;h2 dir="ltr"&gt;1. Perpetuals Are Becoming a Global-Market Product&lt;/h2&gt;

&lt;p dir="ltr"&gt;A perpetual future tracks a reference price without expiring. Traders post collateral, take a long or short position, and settle profit and loss in the market's quote asset. Funding payments are periodic transfers between long and short traders. When the contract trades above its index, longs typically pay shorts; when it trades below, shorts may pay longs. This encourages the market price to stay close to the reference price.&lt;/p&gt;

&lt;p dir="ltr"&gt;For crypto assets, that design created a market that could operate continuously without the quarterly expirations familiar from traditional futures. For global assets, the same design brings price exposure onchain without first recreating the underlying asset as a transferable token.&lt;/p&gt;

&lt;p dir="ltr"&gt;An equity perpetual is designed for trading and hedging rather than shareholder ownership. Tokenized securities address issuance and ownership; perpetuals address price exposure, leverage, liquidity, and risk transfer. Each product serves a distinct financial purpose.&lt;/p&gt;

&lt;p dir="ltr"&gt;The addressable market is wider than equities. The same engine can support indices, metals, foreign exchange, oil, or an implied private-company valuation when an appropriate price source and risk framework exist.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;2. Why Global Assets Fit the Perpetual Model&lt;/h2&gt;

&lt;p dir="ltr"&gt;The first advantage is speed of market formation. Tokenizing an underlying security can involve custody, legal claims, transfer restrictions, corporate actions, and jurisdiction-specific distribution. Perpetuals take a different route by creating a purpose-built market for price discovery, hedging, and risk transfer without requiring the underlying security itself to be issued onchain.&lt;/p&gt;

&lt;p dir="ltr"&gt;The second advantage is two-sided access. The same product can express a bullish or bearish view. A portfolio with technology-stock exposure, for example, can use an index or single-name perpetual to offset part of that risk without moving the portfolio onchain.&lt;/p&gt;

&lt;p dir="ltr"&gt;The third advantage is capital efficiency. Perpetuals are margined products, so traders post a fraction of the position's notional value rather than paying the full value upfront. Leverage magnifies losses as well as gains, but it allows a smaller amount of collateral to support a larger exposure. Stablecoin settlement gives otherwise unrelated markets a common unit of account.&lt;/p&gt;

&lt;p dir="ltr"&gt;The fourth advantage is programmability. Applications can route orders, monitor margin, automate strategies, or combine exposures. Injective's iAssets framework describes these markets as programmable primitives built for position-based exposure and cross-market composability.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;3. Injective Is Turning Market Breadth Into Measurable Activity&lt;/h2&gt;

&lt;p dir="ltr"&gt;Onchain data as of September 1 shows 135 active RWA perpetual markets on Injective: 111 equity markets, 11 foreign-exchange markets, nine commodity markets, two indices, and two pre-IPO references. All were quoted against native USDC, the shared settlement asset for this market roster.&lt;/p&gt;

&lt;p dir="ltr"&gt;The trading history now provides evidence alongside the market count. Injective's RWA perpetual markets have generated more than $5.3 billion in cumulative onchain volume since early 2025 and $845.9 million in 2026 year to date. Monthly activity accelerated into the third quarter. Volume rose from $61.4 million in May to $95.6 million in June, $186.5 million in July, and $209.7 million in August. August was the strongest full month of 2026 and reached 3.4 times May's volume.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="Bar chart of monthly Injective RWA perpetual volume from January through August 2026. July and August are the two highest months, at 186.5 million dollars and 209.7 million dollars." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136383/content_Injective_RWA_Perpetual_Volume_Accelerated_into_Q3_2026.webp" style="width: 1200px; height: 611px;" title="Injective article figure"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 1. Monthly Injective RWA perpetual volume, January through August 2026. Source: Injective public mainnet data, compiled by Injective Research, as of September 1, 2026.&lt;/span&gt;&lt;/p&gt;

&lt;p dir="ltr"&gt;The July and August increase is particularly relevant because it followed the expansion of the market roster. More listings do not guarantee more trading, but this sequence shows breadth and usage moving in the same direction. Injective is progressing from an early collection of equity experiments toward a multi-asset venue with repeat activity across a much larger set of global references.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;4. Why Onchain RWA Perpetuals Are Difficult&lt;/h2&gt;

&lt;p dir="ltr"&gt;RWA perpetuals combine the demands of traditional market data with the demands of a leveraged, continuously operating onchain venue. A credible product has to solve several problems at once.&lt;/p&gt;

&lt;p dir="ltr"&gt;Markets follow different clocks. U.S. equities move through pre-market, regular trading, after-hours, and overnight sessions. Commodities follow futures calendars and contract rollovers. Foreign-exchange markets operate on a different weekly schedule. The blockchain continues producing blocks through every session boundary.&lt;/p&gt;

&lt;p dir="ltr"&gt;External prices drive onchain risk. The index price influences funding, margin, and liquidation. Feed gaps or abrupt session switches can therefore affect much more than a chart. They can change the risk state of every open position.&lt;/p&gt;

&lt;p dir="ltr"&gt;Liquidity can fragment quickly. A broad market roster becomes less useful if every application creates a separate pool or if liquidity providers must integrate with a different matching system for each frontend. RWA markets also need dependable quoting during extended hours, when the underlying market may be thinner.&lt;/p&gt;

&lt;p dir="ltr"&gt;Leverage requires coordinated safeguards. Margin rules, liquidations, insurance, settlement collateral, position parameters, and oracle behavior must work together. Building each component inside an application increases engineering complexity and makes consistency harder to maintain across markets.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective's architectural advantage is that these functions already operate as shared network infrastructure. A market can plug into a canonical oracle, onchain orderbook, matching engine, margin system, liquidation process, insurance module, and native settlement asset. The application layer can then focus on distribution, portfolio design, and user experience.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;5. Injective Extends Equity Price Discovery Across the Trading Week&lt;/h2&gt;

&lt;p dir="ltr"&gt;Selected U.S. equity markets on Injective use SEDA to combine four Pyth session feeds into one continuous 24/5 oracle stream. The system selects the appropriate feed for pre-market, regular trading, after-hours, or overnight activity, applies continuity checks, and publishes a unified price approximately every two seconds.&lt;/p&gt;

&lt;p dir="ltr"&gt;This stream becomes the canonical index price for the market. Trading interfaces, margin calculations, mark prices, and liquidation logic can reference the same value rather than managing separate session feeds independently. Injective's documentation identifies cleaner transitions, more consistent mark pricing, and better risk modeling as direct benefits of the design.&lt;/p&gt;

&lt;p dir="ltr"&gt;The result is an equity market that can follow price discovery across the full weekday cycle. Traders and liquidity providers do not have to wait for the regular U.S. session to see the index respond, and developers do not have to stitch four data products together inside every application.&lt;/p&gt;

&lt;p dir="ltr"&gt;The oracle pauses over the weekend in line with the underlying equity market structure, while iAsset trading can remain available. That creates gap risk into the next pricing session, but the behavior is explicit and shared across the venue. Injective has turned session management from an application-specific integration problem into a network-level service.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;6. What Traders Need From an Onchain Global Venue&lt;/h2&gt;

&lt;p dir="ltr"&gt;Global perpetual markets need more than broad asset coverage. Orders must be processed quickly, settlement must be predictable, and transaction costs must remain low enough for traders to adjust risk frequently.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective addresses those requirements through its &lt;a href="https://docs.injective.network/developers-native/injective/exchange/index" target="_blank"&gt;native exchange module&lt;/a&gt;. Orderbook management, trade execution, matching, derivative position updates, and settlement occur onchain through protocol logic, with direct connections to the oracle and insurance modules.&lt;/p&gt;

&lt;p dir="ltr"&gt;Orders are matched through a &lt;a href="https://docs.injective.network/developers-native/injective/exchange/08_end_block" target="_blank"&gt;frequent batch auction&lt;/a&gt; at the end of each block. New orders in the same batch receive a uniform clearing price, making the system MEV-resistant by limiting opportunities to exploit transaction ordering. This gives traders a fairer and more transparent matching process while retaining the familiar performance of an orderbook market.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective's broader performance profile matters to traders as much as its modular design. &lt;a href="https://docs.injective.network/" target="_blank"&gt;Official network specifications&lt;/a&gt; published in April 2026 list 650-millisecond blocks, instant finality, sustained throughput of 25,000 transactions per second, and a standard transaction fee of about $0.0003. Alongside &lt;a href="https://docs.injective.network/developers-defi/injective-trader" target="_blank"&gt;real-time market-data streaming&lt;/a&gt;, those characteristics support rapid order updates, automated liquidity strategies, and other latency-sensitive activity while keeping execution and settlement onchain.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://docs.injective.network/developers-defi/usdc-stablecoin" target="_blank"&gt;Native USDC&lt;/a&gt; reinforces that common foundation. Circle-issued USDC is available across Injective's EVM and Cosmos environments through the &lt;a href="https://docs.injective.network/developers-evm/multivm-token-standard" target="_blank"&gt;MultiVM Token Standard (MTS)&lt;/a&gt;, without wrapping between them. It can be used as derivatives collateral and as a settlement currency, giving the 135-market RWA roster one consistent quote asset across application environments.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;7. Liquidity and Risk Determine Whether Market Breadth Can Scale&lt;/h2&gt;

&lt;p dir="ltr"&gt;Listing global assets is only the first step. A useful venue needs competitive bids and asks, usable depth, and safeguards capable of handling leverage and external price shocks.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective's onchain orderbook can be shared across applications. A trading frontend, automated strategy, EVM application, or WASM application can choose to access the same canonical market instead of bootstrapping a separate liquidity pool. When applications use this shared infrastructure, new distribution can reach existing orders rather than dividing liquidity into another venue.&lt;/p&gt;

&lt;p dir="ltr"&gt;That model is especially useful for RWA markets, where liquidity can be thinner outside the primary session. Traders see one consolidated source of bids and asks, while liquidity providers can quote once and reach users across multiple participating applications.&lt;/p&gt;

&lt;p dir="ltr"&gt;Risk controls sit alongside execution. Every derivative market defines initial and maintenance margin requirements. Positions that breach maintenance requirements can be reduced through liquidation, and liquidations are processed before regular order matching within the block. Market-specific &lt;a href="https://docs.injective.network/developers-native/injective/insurance" target="_blank"&gt;insurance funds&lt;/a&gt; can be underwritten permissionlessly; positive-equity liquidations add to the fund, while the fund can cover missing equity when a position passes bankruptcy.&lt;/p&gt;

&lt;p dir="ltr"&gt;Together, these systems show what a global perpetual venue needs as its market roster expands. Injective's &lt;a href="https://docs.injective.network/developers-native/index" target="_blank"&gt;native financial architecture&lt;/a&gt; offers one implementation in which oracle pricing, orderbook liquidity, margin, liquidation, insurance, and settlement can operate as connected services.&lt;/p&gt;

&lt;div dir="ltr"&gt;&lt;img alt="Diagram showing how external price feeds connect to Injective's chain-level oracle, orderbook, margin, liquidation, insurance, and native USDC settlement infrastructure, which can then be shared by trading frontends, EVM applications, WASM applications, bots, and liquidity providers." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136384/content_Injective_shared_stack.webp" style="width: 1200px; height: 720px;" title="Injective article figure"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;&lt;span style="font-size:11px;"&gt;Figure 2. Injective packages the core RWA perpetual stack into shared network infrastructure. Source: Injective Docs.&lt;/span&gt;&lt;/p&gt;

&lt;h2 dir="ltr"&gt;8. What Global Onchain Perpetuals Make Possible&lt;/h2&gt;

&lt;p dir="ltr"&gt;Once equities, commodities, currencies, indices, and crypto assets share an onchain trading environment, traders can manage cross-asset exposure without moving between disconnected venues. A crypto portfolio can hedge with an equity index, a commodity position can be paired with a currency view, and each exposure can settle through the same stablecoin-based system.&lt;/p&gt;

&lt;p dir="ltr"&gt;Programmability extends those possibilities. Applications can package several markets into portfolio interfaces, automate hedges, monitor margin across strategies, or build products around relationships between asset classes. The underlying stocks, commodities, or currencies do not have to be transferred onchain for these strategies to exist.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective illustrates how that model can be distributed across different application environments. Its shared infrastructure is available from both &lt;a href="https://docs.injective.network/developers" target="_blank"&gt;EVM and WASM&lt;/a&gt; on one unified chain. Solidity and Rust developers can build different experiences around the same exchange, oracle, liquidity, and settlement layer, while MTS keeps balances unified across environments.&lt;/p&gt;

&lt;p dir="ltr"&gt;This is the broader significance of Injective's 135-market roster. It shows how onchain perpetuals can develop from isolated crypto instruments into a reusable market layer for global price exposure.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;What to Watch Next&lt;/h2&gt;

&lt;p dir="ltr"&gt;The first signal is whether the July and August acceleration continues across several quarters. The recent data already shows usage moving higher; sustained growth would confirm that the expanded roster is attracting recurring trading rather than a short burst of activity.&lt;/p&gt;

&lt;p dir="ltr"&gt;The second signal is liquidity quality by market. Spread, depth, uptime, and execution consistency matter most during thinner extended-hours sessions. Injective's shared orderbook gives the network a structural way to concentrate liquidity across applications, while market-level data will show how evenly quality develops across the roster.&lt;/p&gt;

&lt;p dir="ltr"&gt;The third signal is distribution. Growth should appear across trading frontends, EVM and WASM applications, and automated strategies, then register in active users, fees, and protocol revenue.&lt;/p&gt;

&lt;p dir="ltr"&gt;The final signal is product expansion. The strongest additions will deepen existing categories or introduce useful new exposures while making full use of the same oracle, liquidity, settlement, and risk infrastructure.&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Reading the Market&lt;/h2&gt;

&lt;p dir="ltr"&gt;Perpetual futures began as a crypto-specific solution. They are becoming a general market primitive because tradable exposure can be separated from the need to move every underlying asset onchain.&lt;/p&gt;

&lt;p dir="ltr"&gt;Injective shows why architecture matters in that transition. Its RWA markets draw on a chain-level exchange, unified oracle pricing, a shared orderbook, native USDC settlement, margin and liquidation logic, insurance funds, and multi-environment developer access. Those components let the network add global markets without rebuilding the venue each time.&lt;/p&gt;

&lt;p dir="ltr"&gt;The onchain record is beginning to reflect that foundation. Injective now supports 135 active RWA perpetual markets, has processed more than $5.3 billion in cumulative RWA volume, and recorded its two strongest full months of 2026 in July and August. The combination of market breadth, accelerating activity, and purpose-built financial infrastructure positions Injective as an emerging market layer for global onchain finance.&lt;/p&gt;
</content>
    <author>
      <name>CoinGecko</name>
    </author>
    <url>https://www.coingecko.com/learn/injective-rwa-perpetuals-global-markets?locale=en</url>
    <summary>

This article is contributed by Injective.

Perpetual markets began as a crypto-native invention. Their next phase is turning equities, commodities, currencies, indices, and private-market referen...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135769</id>
    <published>2026-09-09T08:04:58Z</published>
    <updated>2026-10-04T02:38:35Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/tokenized-rwa-data-api-guide?locale=en"/>
    <title>RWA Data API Guide: How to Find, Compare &amp; Analyze Real-World Assets</title>
    <content type="html">&lt;style type="text/css"&gt;pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.cgcode .hll { background-color: #ffffcc }
.cgcode { background: #f8f8f8; }
.cgcode .c { color: #3D7B7B; font-style: italic } /* Comment */
.cgcode .err { border: 1px solid #F00 } /* Error */
.cgcode .k { color: #008000; font-weight: bold } /* Keyword */
.cgcode .o { color: #666 } /* Operator */
.cgcode .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.cgcode .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.cgcode .cp { color: #9C6500 } /* Comment.Preproc */
.cgcode .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.cgcode .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.cgcode .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.cgcode .gd { color: #A00000 } /* Generic.Deleted */
.cgcode .ge { font-style: italic } /* Generic.Emph */
.cgcode .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.cgcode .gr { color: #E40000 } /* Generic.Error */
.cgcode .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.cgcode .gi { color: #008400 } /* Generic.Inserted */
.cgcode .go { color: #717171 } /* Generic.Output */
.cgcode .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.cgcode .gs { font-weight: bold } /* Generic.Strong */
.cgcode .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.cgcode .gt { color: #04D } /* Generic.Traceback */
.cgcode .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.cgcode .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.cgcode .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.cgcode .kp { color: #008000 } /* Keyword.Pseudo */
.cgcode .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.cgcode .kt { color: #B00040 } /* Keyword.Type */
.cgcode .m { color: #666 } /* Literal.Number */
.cgcode .s { color: #BA2121 } /* Literal.String */
.cgcode .na { color: #687822 } /* Name.Attribute */
.cgcode .nb { color: #008000 } /* Name.Builtin */
.cgcode .nc { color: #00F; font-weight: bold } /* Name.Class */
.cgcode .no { color: #800 } /* Name.Constant */
.cgcode .nd { color: #A2F } /* Name.Decorator */
.cgcode .ni { color: #717171; font-weight: bold } /* Name.Entity */
.cgcode .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.cgcode .nf { color: #00F } /* Name.Function */
.cgcode .nl { color: #767600 } /* Name.Label */
.cgcode .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.cgcode .nt { color: #008000; font-weight: bold } /* Name.Tag */
.cgcode .nv { color: #19177C } /* Name.Variable */
.cgcode .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.cgcode .w { color: #BBB } /* Text.Whitespace */
.cgcode .mb { color: #666 } /* Literal.Number.Bin */
.cgcode .mf { color: #666 } /* Literal.Number.Float */
.cgcode .mh { color: #666 } /* Literal.Number.Hex */
.cgcode .mi { color: #666 } /* Literal.Number.Integer */
.cgcode .mo { color: #666 } /* Literal.Number.Oct */
.cgcode .sa { color: #BA2121 } /* Literal.String.Affix */
.cgcode .sb { color: #BA2121 } /* Literal.String.Backtick */
.cgcode .sc { color: #BA2121 } /* Literal.String.Char */
.cgcode .dl { color: #BA2121 } /* Literal.String.Delimiter */
.cgcode .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.cgcode .s2 { color: #BA2121 } /* Literal.String.Double */
.cgcode .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.cgcode .sh { color: #BA2121 } /* Literal.String.Heredoc */
.cgcode .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.cgcode .sx { color: #008000 } /* Literal.String.Other */
.cgcode .sr { color: #A45A77 } /* Literal.String.Regex */
.cgcode .s1 { color: #BA2121 } /* Literal.String.Single */
.cgcode .ss { color: #19177C } /* Literal.String.Symbol */
.cgcode .bp { color: #008000 } /* Name.Builtin.Pseudo */
.cgcode .fm { color: #00F } /* Name.Function.Magic */
.cgcode .vc { color: #19177C } /* Name.Variable.Class */
.cgcode .vg { color: #19177C } /* Name.Variable.Global */
.cgcode .vi { color: #19177C } /* Name.Variable.Instance */
.cgcode .vm { color: #19177C } /* Name.Variable.Magic */
.cgcode .il { color: #666 } /* Literal.Number.Integer.Long */
body.tw-dark pre { line-height: 125%; }
body.tw-dark td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body.tw-dark span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
body.tw-dark td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body.tw-dark span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
body.tw-dark .cgcode .hll { background-color: #6e7681 }
body.tw-dark .cgcode { background: #0d1117; color: #E6EDF3 }
body.tw-dark .cgcode .c { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .err { color: #F85149 }
body.tw-dark .cgcode .esc { color: #E6EDF3 }
body.tw-dark .cgcode .g { color: #E6EDF3 }
body.tw-dark .cgcode .k { color: #FF7B72 }
body.tw-dark .cgcode .l { color: #A5D6FF }
body.tw-dark .cgcode .n { color: #E6EDF3 }
body.tw-dark .cgcode .o { color: #FF7B72; font-weight: bold }
body.tw-dark .cgcode .x { color: #E6EDF3 }
body.tw-dark .cgcode .p { color: #E6EDF3 }
body.tw-dark .cgcode .ch { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .cm { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .cp { color: #8B949E; font-weight: bold; font-style: italic }
body.tw-dark .cgcode .cpf { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .c1 { color: #8B949E; font-style: italic }
body.tw-dark .cgcode .cs { color: #8B949E; font-weight: bold; font-style: italic }
body.tw-dark .cgcode .gd { color: #FFA198; background-color: #490202 }
body.tw-dark .cgcode .ge { color: #E6EDF3; font-style: italic }
body.tw-dark .cgcode .ges { color: #E6EDF3; font-weight: bold; font-style: italic }
body.tw-dark .cgcode .gr { color: #FFA198 }
body.tw-dark .cgcode .gh { color: #79C0FF; font-weight: bold }
body.tw-dark .cgcode .gi { color: #56D364; background-color: #0F5323 }
body.tw-dark .cgcode .go { color: #8B949E }
body.tw-dark .cgcode .gp { color: #8B949E }
body.tw-dark .cgcode .gs { color: #E6EDF3; font-weight: bold }
body.tw-dark .cgcode .gu { color: #79C0FF }
body.tw-dark .cgcode .gt { color: #FF7B72 }
body.tw-dark .cgcode .g-Underline { color: #E6EDF3; text-decoration: underline }
body.tw-dark .cgcode .kc { color: #79C0FF }
body.tw-dark .cgcode .kd { color: #FF7B72 }
body.tw-dark .cgcode .kn { color: #FF7B72 }
body.tw-dark .cgcode .kp { color: #79C0FF }
body.tw-dark .cgcode .kr { color: #FF7B72 }
body.tw-dark .cgcode .kt { color: #FF7B72 }
body.tw-dark .cgcode .ld { color: #79C0FF }
body.tw-dark .cgcode .m { color: #A5D6FF }
body.tw-dark .cgcode .s { color: #A5D6FF }
body.tw-dark .cgcode .na { color: #E6EDF3 }
body.tw-dark .cgcode .nb { color: #E6EDF3 }
body.tw-dark .cgcode .nc { color: #F0883E; font-weight: bold }
body.tw-dark .cgcode .no { color: #79C0FF; font-weight: bold }
body.tw-dark .cgcode .nd { color: #D2A8FF; font-weight: bold }
body.tw-dark .cgcode .ni { color: #FFA657 }
body.tw-dark .cgcode .ne { color: #F0883E; font-weight: bold }
body.tw-dark .cgcode .nf { color: #D2A8FF; font-weight: bold }
body.tw-dark .cgcode .nl { color: #79C0FF; font-weight: bold }
body.tw-dark .cgcode .nn { color: #FF7B72 }
body.tw-dark .cgcode .nx { color: #E6EDF3 }
body.tw-dark .cgcode .py { color: #79C0FF }
body.tw-dark .cgcode .nt { color: #7EE787 }
body.tw-dark .cgcode .nv { color: #79C0FF }
body.tw-dark .cgcode .ow { color: #FF7B72; font-weight: bold }
body.tw-dark .cgcode .pm { color: #E6EDF3 }
body.tw-dark .cgcode .w { color: #6E7681 }
body.tw-dark .cgcode .mb { color: #A5D6FF }
body.tw-dark .cgcode .mf { color: #A5D6FF }
body.tw-dark .cgcode .mh { color: #A5D6FF }
body.tw-dark .cgcode .mi { color: #A5D6FF }
body.tw-dark .cgcode .mo { color: #A5D6FF }
body.tw-dark .cgcode .sa { color: #79C0FF }
body.tw-dark .cgcode .sb { color: #A5D6FF }
body.tw-dark .cgcode .sc { color: #A5D6FF }
body.tw-dark .cgcode .dl { color: #79C0FF }
body.tw-dark .cgcode .sd { color: #A5D6FF }
body.tw-dark .cgcode .s2 { color: #A5D6FF }
body.tw-dark .cgcode .se { color: #79C0FF }
body.tw-dark .cgcode .sh { color: #79C0FF }
body.tw-dark .cgcode .si { color: #A5D6FF }
body.tw-dark .cgcode .sx { color: #A5D6FF }
body.tw-dark .cgcode .sr { color: #79C0FF }
body.tw-dark .cgcode .s1 { color: #A5D6FF }
body.tw-dark .cgcode .ss { color: #A5D6FF }
body.tw-dark .cgcode .bp { color: #E6EDF3 }
body.tw-dark .cgcode .fm { color: #D2A8FF; font-weight: bold }
body.tw-dark .cgcode .vc { color: #79C0FF }
body.tw-dark .cgcode .vg { color: #79C0FF }
body.tw-dark .cgcode .vi { color: #79C0FF }
body.tw-dark .cgcode .vm { color: #79C0FF }
body.tw-dark .cgcode .il { color: #A5D6FF }

.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; ul {
  color: inherit !important;
}

body.tw-dark div[style*="background:#eeeeee"] {
  background-color: #22272e !important;
  border-color: #444c56 !important;
  color: #adbac7 !important;
}
body.tw-dark div[style*="background:#eeeeee"] strong { color: #adbac7 !important; }
body.tw-dark div[style*="background:#eeeeee"] a { color: #6cb6ff !important; }
body.tw-dark div[style*="background:#eeeeee"] code {
  color: inherit !important;
  background-color: transparent !important;
}





/* cg-gist chrome -- matches canonical rendering on
   https://www.coingecko.com/learn/how-to-track-new-tokens-onchain (computed-style verified) */
.cg-gist { background: transparent; }
.cgcode.cg-gist-body { background: transparent !important; }
body.tw-dark .cgcode.cg-gist-body { background: transparent !important; }
.cg-gist-inner { display: flex; overflow-x: auto; padding: 0; }
.cg-gist-linenos {
  margin: 0; color: #6e7681; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 16px; text-align: right; padding: 12px 10px 12px 16px; user-select: none;
}
.cg-gist-body {
  margin: 0; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 16px; padding: 12px 16px 12px 10px;
}
.cg-gist-footer {
  border-top: 1px solid #d0d7de; padding: 8px 16px; font-size: 16px; color: #64748b;
  display: flex; justify-content: space-between; margin-top: 4px; font-family: -apple-system, sans-serif;
}
.cg-gist-footer a { color: #334155; text-decoration: none; }
.cg-gist-footer a:hover { text-decoration: underline; }
body.tw-dark .cg-gist-linenos { color: #6e7681 !important; }
body.tw-dark .cg-gist-body { color: #e6edf3 !important; }
body.tw-dark .cg-gist-footer { border-top-color: #30363d !important; color: #9eb0c7 !important; }
body.tw-dark .cg-gist-footer a { color: #f8fafc !important; }
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR&lt;/h2&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #000000; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;CoinGecko API's &lt;a href="https://docs.coingecko.com/demo/reference/rwas-list" target="_blank"&gt;RWA list&lt;/a&gt; and &lt;a href="https://docs.coingecko.com/demo/reference/rwas-markets" target="_blank"&gt;RWA market data&lt;/a&gt; endpoints let you screen live RWAs, including stocks, commodities, ETFs, and pre-IPO assets tokenized by multiple issuers, such as OpenAI and SpaceX.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;Use the &lt;a href="https://docs.coingecko.com/demo/reference/rwas-id" target="_blank"&gt;RWA by ID&lt;/a&gt; endpoint to verify the underlying asset, then compare prices and liquidity across centralized and decentralized exchanges with the &lt;a href="https://docs.coingecko.com/reference/rwas-id-tickers" target="_blank"&gt;RWA tickers&lt;/a&gt; endpoint.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;Build a repeatable, scriptable RWA watchlist with RWA markets data and use the &lt;a href="https://docs.coingecko.com/demo/reference/exchange-rates" target="_blank"&gt;exchange rates&lt;/a&gt; endpoint to track premiums and discounts for tokenized commodities.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;Tokenized real-world assets (RWAs) are moving beyond a niche use case in crypto and digital finance. Onchain tokenized stocks crossed $1 billion in aggregate value in March 2026 and reached roughly $2.3 billion by July 2026. Nasdaq secured &lt;a href="https://www.nasdaq.com/newsroom/qa-how-tokenization-can-modernize-capital-markets" rel="nofollow noopener" target="_blank"&gt;SEC approval to list tokenized securities&lt;/a&gt;, while DTCC conducted &lt;a href="https://www.dtcc.com/news/2026/july/15/dtcc-turns-tokenization-into-reality" rel="nofollow noopener" target="_blank"&gt;production trades&lt;/a&gt; with BlackRock, J.P. Morgan, and Goldman Sachs. Robinhood also &lt;a href="https://robinhood.com/us/en/newsroom/robinhood-accelerates-global-expansion-robinhood-chain-mainnet-stock-tokens-agentic-trading/" rel="nofollow noopener" target="_blank"&gt;launched its own blockchain for issuing tokenized shares&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A "tokenized" label alone does not tell you who backs an asset, whether it is redeemable, or whether multiple platforms represent the same underlying asset through different contracts. The issuer, contract, and supporting documentation provide the details needed to understand what each token represents.&lt;/p&gt;

&lt;p&gt;In this guide, we'll use CoinGecko's RWA API endpoints with the same API and key used for crypto price and market data across 44M+ assets. You'll learn how to find tokenized real-world assets including stocks, commodities, and ETFs, check for assets offered by multiple issuers, verify what they represent, and compare prices and liquidity across CEX and DEX venues.&lt;/p&gt;

&lt;p&gt;&lt;img alt="RWA Data API Guide: How to Find, Compare &amp;amp; Analyze Real-World Assets" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136381/content_RWA_Data_API_Guide__How_to_Find__Compare___Analyze_Real-World_Assets.webp" style="width: 1200px; height: 629px;"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Prerequisites &amp;amp; Setup&lt;/h2&gt;

&lt;p&gt;You'll need a CoinGecko API key. If you don't have a key yet, &lt;a href="https://support.coingecko.com/hc/en-us/articles/21880397454233-User-Guide-How-to-sign-up-for-CoinGecko-Demo-API-and-generate-an-API-key" target="_blank"&gt;sign up for a free Demo API key&lt;/a&gt; to get started. The free Demo plan covers finding RWAs, screening pre-IPO stocks, and verifying what a token represents. To compare liquidity across exchanges and analyze historical RWA data, you'll need a paid API plan.&lt;/p&gt;

&lt;p&gt;You'll also need Python 3.9+ and the requests library.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
requests==2.32.3
python-dotenv==1.0.1
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/requirements.txt" rel="noopener" target="_blank"&gt;requirements.txt&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/requirements.txt" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;dotenv&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;load_dotenv&lt;/span&gt;

&lt;span class="n"&gt;load_dotenv&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"COINGECKO_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Use the Demo base URL if you have a free Demo key.&lt;/span&gt;
&lt;span class="c1"&gt;# Switch to the Pro base URL once you upgrade to a paid plan.&lt;/span&gt;
&lt;span class="n"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"https://api.coingecko.com/api/v3"&lt;/span&gt;
&lt;span class="c1"&gt;# BASE_URL = "https://pro-api.coingecko.com/api/v3"&lt;/span&gt;

&lt;span class="n"&gt;HEADERS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"accept"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"application/json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s2"&gt;"x-cg-demo-api-key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# Swap the header above for "x-cg-pro-api-key" if you switch to the Pro base URL.&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/config.py" rel="noopener" target="_blank"&gt;config.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/config.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div dir="ltr" style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;💡 &lt;strong&gt;Prefer less setup?&lt;/strong&gt; You can call these endpoints with CoinGecko's official &lt;a href="https://docs.coingecko.com/docs/sdk-python" target="_blank"&gt;Python SDK&lt;/a&gt; or &lt;a href="https://docs.coingecko.com/docs/sdk-typescript" target="_blank"&gt;TypeScript SDK&lt;/a&gt; instead of raw HTTP requests. The SDK handles the base URL, headers, and authentication for you, so there is less boilerplate to write.&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;How to Discover Tokenized Real-World Assets in Real-Time&lt;/h2&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/demo/reference/rwas-list" target="_blank"&gt;RWA list&lt;/a&gt; endpoint gives you a complete view of its tracked RWAs in a single call, with no pagination required. It returns the ID, symbol, name, and asset type for each tokenized stock, commodity, and ETF, providing the identifiers needed for the next steps.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_rwa_list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;asset_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/list"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;asset_type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# asset_type accepts "stock", "commodity", or "etf"&lt;/span&gt;
        &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"asset_type"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;asset_type&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_rwa_markets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;asset_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;price_change_percentage&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"24h,7d"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/markets"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"price_change_percentage"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;price_change_percentage&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ids"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;ids&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;asset_type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"asset_type"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;asset_type&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;rwas&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_rwa_list&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Total RWAs tracked: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwas&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Screen a mix of tokenized stocks, a leveraged ETF, and a tokenized commodity&lt;/span&gt;
    &lt;span class="n"&gt;sample&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_rwa_markets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"amazon"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"adobe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"2x-bitcoin-strategy-etf"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"gold"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;sample&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"asset_type"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"current_price"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"market_cap"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/find_rwas.py" rel="noopener" target="_blank"&gt;find_rwas.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/find_rwas.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here's what the response looks like:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="color:#0F172A !important;background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;Total RWAs tracked: 647
gold commodity 4372.67 5191355414
amazon stock 258.39 17034367
adobe stock 292.15 984006
2x-bitcoin-strategy-etf etf 17.32 5182.87&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;For price, market cap, and trading volume, CoinGecko's &lt;a href="https://docs.coingecko.com/demo/reference/rwas-markets" target="_blank"&gt;RWA market data&lt;/a&gt; endpoint provides up to 250 results per page. Use the ids, names, symbols, or issuer filters to narrow the results. You can also browse the same RWA data without code on &lt;a href="https://www.coingecko.com/en/real-world-assets" target="_blank"&gt;CoinGecko's Real World Assets page&lt;/a&gt;.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Find and Track Pre-IPO Stock Prices in Real-Time&lt;/h2&gt;

&lt;p&gt;CoinGecko lets you find tokenized pre-IPO stocks through the &lt;a href="https://docs.coingecko.com/demo/reference/coins-markets" target="_blank"&gt;Coin Markets endpoint&lt;/a&gt; by filtering for the &lt;a href="https://www.coingecko.com/en/categories/tokenized-pre-ipo-stocks" target="_blank"&gt;Tokenized Pre-IPO Stocks&lt;/a&gt; category. Each tokenized pre-IPO share is returned as an individual coin, regardless of which platform issued it. To compare tokens representing the same company, use the &lt;a href="https://docs.coingecko.com/demo/reference/rwas-id" target="_blank"&gt;RWA by ID endpoint&lt;/a&gt;, which groups them into a single aggregated view where available.&lt;/p&gt;

&lt;p&gt;Pre-IPO assets can also be identified through the RWA endpoints without using the category filter. Call &lt;a href="https://docs.coingecko.com/demo/reference/rwas-list" target="_blank"&gt;RWA List&lt;/a&gt; endpoint, then filter the results for names containing "(Pre-IPO)". As of writing, this returns Anduril, Anthropic, Kalshi, OpenAI, Polymarket, SpaceX, and xAI. Each result includes an RWA ID that you can use with the &lt;a href="https://docs.coingecko.com/demo/reference/rwas-id" target="_blank"&gt;RWA Data by ID&lt;/a&gt; endpoint.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_pre_ipo_stocks&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/coins/markets"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"vs_currency"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"usd"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s2"&gt;"category"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"tokenized-pre-ipo-stocks"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s2"&gt;"order"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"market_cap_desc"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s2"&gt;"per_page"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s2"&gt;"page"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_rwa_by_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;coins&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_pre_ipo_stocks&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"Tokenized pre-IPO stocks live: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;coins&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;coins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"symbol"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"market_cap"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_rwa_by_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"openai-pre-ipo"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; aggregate price: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'tokenized_market_data'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'current_price'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;" -"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="s2"&gt;"issued by"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"issuer_details"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/find_pre_ipo.py" rel="noopener" target="_blank"&gt;find_pre_ipo.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/find_pre_ipo.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Running this script produces output like the following:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="color:#0F172A !important;background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;Tokenized pre-IPO stocks live: 13
openai-republic-pre-ipo preopai OpenAI (Republic Pre-IPO) 22058404
spacex-republic-pre-ipo prespcx SpaceX (Republic Pre-IPO) 13527865
anthropic-prestocks-2 anthropic Anthropic PreStocks 6692073
spacex-prestocks-2 spacex SpaceX PreStocks 4523886
openai-prestocks-2 openai OpenAI PreStocks 1915965
anduril-prestocks-2 anduril Anduril PreStocks 1678669
kalshi-prestocks kalshi Kalshi PreStocks 1189298
polymarket-prestocks polymarket Polymarket PreStocks 665296
tessera-spacex-tokenized-share tspacex SpaceX (Tessera Pre-IPO) 665058
tessera-kalshi-tokenized-share tkalshi Kalshi (Tessera Pre-IPO) 652143
openai-tessera-pre-ipo topenai OpenAI (Tessera Pre-IPO) 579310
xai-prestocks-2 xai xAI PreStocks 155923
openai-gate-pre-ipo openai OpenAI (Gate Pre-IPO) 0.0

OpenAI (Pre-IPO) aggregate price: 1214.36
 - OpenAI (Republic Pre-IPO) issued by Republic
 - OpenAI PreStocks issued by PreStocks
 - OpenAI (Tessera Pre-IPO) issued by Tessera Tokenized Pre-IPO Assets
 - OpenAI (Gate Pre-IPO) issued by Gate&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;OpenAI appears multiple times in the first block, once per issuing platform. Each entry represents a different token issued on a different platform, with its own coin ID, symbol, and market cap. Looking at all the tokens gives you a complete view of the market for that asset.&lt;/p&gt;

&lt;p&gt;The second block shows CoinGecko's aggregated RWA view. OpenAI is tracked as a single RWA with asset_type set to stock, combining its issuer tokens into one price and market cap. This provides a single view of the market for tokenized OpenAI shares.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Find Other Assets Tokenized by an Issuer&lt;/h2&gt;

&lt;p&gt;A "tokenized" label does not guarantee that an asset is genuinely backed. Some tokens provide only tokenization infrastructure, exist only on a testnet, claim partnerships without holding the underlying asset, or synthetically track an asset's price without holding it. Every RWA listed on CoinGecko has passed &lt;a href="https://www.coingecko.com/en/api/rwa-classification-methodology" target="_blank"&gt;CoinGecko's published three-step classification methodology&lt;/a&gt;:&lt;/p&gt;

&lt;ol style="margin-top: 16px;"&gt;
	&lt;li&gt;
	&lt;p&gt;Identify the real-world asset it represents.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Verify that the asset is backed and redeemable.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Confirm that token holders can redeem the token for the asset rather than only gain or lose value as its price changes.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tokens are excluded if they:&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
	&lt;p&gt;Only supply tokenization infrastructure, with no real asset behind them&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Exist only on a test network&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Claim a partnership without their own asset backing&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Synthetically track an asset's price without holding the real asset&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll use OpenAI as an example. Its RWA record shows the tokens representing the company. From there, follow a token to its issuer through the &lt;a href="https://docs.coingecko.com/demo/reference/rwas-issuers-id" target="_blank"&gt;RWA issuer data&lt;/a&gt; endpoint to see the other assets that issuer has tokenized.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_rwa_by_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="c1"&gt;# tokens and tokenized_market_data default to false.&lt;/span&gt;
    &lt;span class="c1"&gt;# Leave either one out and you will only get bare metadata back.&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_issuer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;issuer_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/issuers/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;rwa&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_rwa_by_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"openai-pre-ipo"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; is tracked as &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'tokens'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; separate tokens:"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;token&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rwa&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="c1"&gt;# Not every token lists a platform yet, so only add the clause when one exists&lt;/span&gt;
        &lt;span class="n"&gt;platform&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;iter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"platforms"&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;platform_note&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;" on &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;platform&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;platform&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;" - &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; (&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'symbol'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;upper&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;platform_note&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, issued by &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'issuer_details'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;issuer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_issuer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"republic-tokenized-pre-ipo-assets"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; has tokenized &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'tokens'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; assets worth $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'market_cap'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.0f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; total"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;issuer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;" -"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/analyze_rwa.py" rel="noopener" target="_blank"&gt;analyze_rwa.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/analyze_rwa.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here's what the response looks like:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="color:#0F172A !important;background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;OpenAI (Pre-IPO) is tracked as 4 separate tokens:
 - OpenAI (Republic Pre-IPO) (PREOPAI) on solana, issued by Republic
 - OpenAI PreStocks (OPENAI) on solana, issued by PreStocks
 - OpenAI (Tessera Pre-IPO) (TOPENAI) on solana, issued by Tessera Tokenized Pre-IPO Assets
 - OpenAI (Gate Pre-IPO) (OPENAI), issued by Gate

Republic has tokenized 2 assets worth $42,507,662 total
 - OpenAI (Republic Pre-IPO)
 - SpaceX (Republic Pre-IPO)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;&lt;img alt="Scale your project with RWA market data across 700+ assets " loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136382/content_Subcribe_to_CoinGecko_API_CTA_-_rwa.webp" style="width: 1200px; height: 235px;"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Compare RWA Token Liquidity Across CEXs and DEXs&lt;/h2&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/reference/rwas-id-tickers" target="_blank"&gt;RWA tickers&lt;/a&gt; endpoint gives you a detailed view of an RWA's liquidity across exchanges. It returns centralized and decentralized exchange listings with price, volume, and bid-ask spread for each venue. An optional order-book depth check shows how much it takes to move the venue's price.&lt;/p&gt;

&lt;div dir="ltr" style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;
&lt;strong&gt;Note:&lt;/strong&gt; The endpoint requires the &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;paid API plan&lt;/a&gt;.&lt;/div&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_rwa_tickers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"volume_desc"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/tickers"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"order"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"depth"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;depth&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;tickers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_rwa_tickers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"openai-pre-ipo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tickers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tickers"&lt;/span&gt;&lt;span class="p"&gt;][:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="n"&gt;spread&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"bid_ask_spread_percentage"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'market'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'converted_last'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; USD, spread &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;spread&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;%, volume &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'converted_volume'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'usd'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/compare_liquidity.py" rel="noopener" target="_blank"&gt;compare_liquidity.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/compare_liquidity.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The script returns the following output:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;margin-bottom:1rem;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="color:#0F172A !important;background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;Meteora: 1625.91 USD, spread 0.605413%, volume 3452228
Meteora: 1628.68 USD, spread 0.625411%, volume 1748664
Bitget: 962.45 USD, spread 0.027003%, volume 1270445
Gate: 959.84 USD, spread 0.259875%, volume 389365
Meteora: 885.32 USD, spread 0.603285%, volume 281689&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div dir="ltr" style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;💡 &lt;strong&gt;Pro Tip:&lt;/strong&gt; Use &lt;code&gt;exchange_ids&lt;/code&gt; to focus on specific exchanges. For example, &lt;code&gt;exchange_ids=gate,bitget&lt;/code&gt; lets you compare the two CEX listings shown above. For DEX pairs, add &lt;code&gt;dex_pair_format=symbol&lt;/code&gt; to show readable tickers like SOL/USDC instead of raw contract addresses.&lt;/div&gt;

&lt;h3&gt;How to Compare Tokenized Real-World Assets for Premiums or Discounts&lt;/h3&gt;

&lt;p&gt;CoinGecko API can show whether a tokenized commodity trades above or below its spot price. For gold and silver, the &lt;a href="https://docs.coingecko.com/demo/reference/exchange-rates" target="_blank"&gt;exchange rates&lt;/a&gt; endpoint tracks their spot prices in BTC, providing the reference price needed to measure the premium or discount.&lt;/p&gt;

&lt;p&gt;This method works for tokenized commodities, which have spot price data available through the exchange rates endpoints. For tokenized equities, you'll need a reference price of the underlying stock from a third-party provider, such as the Finnhub API, to compare against the tokenized asset data from CoinGecko API.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_implied_spot_price&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;commodity_code&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# commodity_code is "xau" for gold or "xag" for silver&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/exchange_rates"&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;rates&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s2"&gt;"rates"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="c1"&gt;# Both rates are quoted against BTC, so dividing USD by the commodity&lt;/span&gt;
    &lt;span class="c1"&gt;# rate gives you the implied USD spot price for one troy ounce&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;rates&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"usd"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;rates&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;commodity_code&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_tokenized_price&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"true"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"current_price"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="s2"&gt;"gold"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"xau"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"silver"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"xag"&lt;/span&gt;&lt;span class="p"&gt;)]:&lt;/span&gt;
        &lt;span class="n"&gt;tokenized&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_tokenized_price&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;spot&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_implied_spot_price&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;premium&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tokenized&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;spot&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;spot&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;
        &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"premium"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;premium&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s2"&gt;"discount"&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;: tokenized $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;tokenized&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; vs implied spot $&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;spot&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;,.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, a &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;premium&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;% &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/premium_discount.py" rel="noopener" target="_blank"&gt;premium_discount.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/premium_discount.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Running this script produces output like the following:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="color:#0F172A !important;background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;gold: tokenized $4401.50 vs implied spot $4401.98, a 0.01% discount
silver: tokenized $66.39 vs implied spot $66.65, a 0.39% discount&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;How to Get Historical RWA Market Data&lt;/h2&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/reference/rwas-id-market-chart" target="_blank"&gt;RWA historical chart data&lt;/a&gt; endpoint provides historical price, market cap, and volume for an RWA as time-series arrays. History varies by asset type: stocks and ETFs go back to July 2025, and commodities to September 2019.&lt;/p&gt;

&lt;div dir="ltr" style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;"&gt;
&lt;strong&gt;Note:&lt;/strong&gt; The endpoint requires the &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;paid API plan&lt;/a&gt;. Basic covers up to two years of history; Analyst and above unlocks the full available range.&lt;/div&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_market_chart&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/market_chart"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"days"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;chart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_market_chart&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"openai-pre-ipo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;days&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'tokenized_prices'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; price points over the last 30 days"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"First point:"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_prices"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Last point:"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_prices"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/rwa_market_history.py" rel="noopener" target="_blank"&gt;rwa_market_history.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/rwa_market_history.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here's what the response looks like:&lt;/p&gt;

&lt;p&gt;&lt;img alt="OpenAI (Pre-IPO) tokenized price chart showing a 46.1% increase over 30 days, from about $1,006 to $1,470." height="711" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136380/content_pre-ipo_chart.webp" style="max-width:100%;height:auto;" width="1200"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How to Build an RWA Watchlist&lt;/h2&gt;

&lt;p&gt;CoinGecko's &lt;a href="https://docs.coingecko.com/demo/reference/rwas-markets" target="_blank"&gt;RWA markets&lt;/a&gt; endpoint lets you turn a list of vetted asset IDs into an RWA watchlist. Query those IDs on a schedule to monitor selected assets.&lt;/p&gt;

&lt;div class="cg-gist"&gt;
&lt;div class="cg-gist-inner"&gt;
&lt;pre class="cg-gist-linenos"&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25&lt;/pre&gt;

&lt;pre class="cgcode cg-gist-body"&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;config&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;HEADERS&lt;/span&gt;

&lt;span class="n"&gt;WATCHLIST&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"openai-pre-ipo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"spacex-pre-ipo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"gold"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"silver"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;get_watchlist_snapshot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/rwas/markets"&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"ids"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;","&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="s2"&gt;"price_change_percentage"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"24h"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;snapshot&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_watchlist_snapshot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;WATCHLIST&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c1"&gt;# The markets endpoint can only sort by market cap, volume, or id,&lt;/span&gt;
    &lt;span class="c1"&gt;# so sorting by biggest mover has to happen client-side after the fetch&lt;/span&gt;
    &lt;span class="n"&gt;snapshot&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"price_change_percentage_24h_in_currency"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;reverse&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;'Asset'&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;20&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="s1"&gt;'Price'&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;12&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="s1"&gt;'24h %'&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;10&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="s1"&gt;'Market Cap'&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;18&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;rwa&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;snapshot&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rwa&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tokenized_market_data"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;change&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"price_change_percentage_24h_in_currency"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rwa&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;20&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'current_price'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;12,.2f&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="n"&gt;change&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;+9.2f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;%&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'market_cap'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;gt;18,.0f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="cg-gist-footer"&gt;
&lt;span&gt;&lt;a href="https://github.com/cg-growth/content/blob/main/tokenized-rwa-data-api-guide/build_watchlist.py" rel="noopener" target="_blank"&gt;build_watchlist.py&lt;/a&gt; hosted with ❤ by GitHub&lt;/span&gt;&lt;a href="https://raw.githubusercontent.com/cg-growth/content/main/tokenized-rwa-data-api-guide/build_watchlist.py" rel="noopener" target="_blank"&gt;view raw&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here's what the response looks like:&lt;/p&gt;

&lt;div class="output-block" style="background:#F1F5F9;border:1px solid #E2E8F0;border-radius:12px;padding:16px 20px;overflow-x:auto;"&gt;
&lt;pre style="margin:0;"&gt;
&lt;code style="color:#0F172A !important;background:transparent !important;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums;"&gt;Asset                      Price     24h %        Market Cap
spacex-pre-ipo            136.46  +11.91%         20,538,126
openai-pre-ipo          1,441.55   +1.83%         31,283,335
silver                     66.39   +0.75%        260,526,463
gold                    4,401.50   +0.19%      5,271,132,459&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Run this script on a schedule with cron or a GitHub Action to maintain a live watchlist without building a dashboard. Once you have the data flowing, the &lt;a href="https://www.coingecko.com/learn/crypto-portfolio-dashboard-python" target="_blank"&gt;crypto portfolio dashboard in Python&lt;/a&gt; guide shows how to use it to build a portfolio dashboard.&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;CoinGecko's RWA API gives you the core data needed to find vetted RWAs, identify assets tokenized by multiple issuers, and compare liquidity across exchanges. These are the building blocks for an RWA tracker, screener, or research tool.&lt;/p&gt;

&lt;p&gt;The liquidity comparison in this guide uses snapshot ticker data. If you need real-time streaming prices for tokenized stocks, CoinGecko also supports &lt;a href="https://www.coingecko.com/learn/track-tokenized-stocks-rwa-data" target="_blank"&gt;WebSocket streaming of tokenized real-world assets&lt;/a&gt;. For those new to RWAs, the &lt;a href="https://www.coingecko.com/learn/what-are-real-world-assets-exploring-rwa-protocols" target="_blank"&gt;primer on real-world asset protocols&lt;/a&gt; is a good place to start.&lt;/p&gt;

&lt;p&gt;Ready to start building? Sign up for a &lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;free Demo API plan&lt;/a&gt; to start working with RWA data. When you need exchange-level liquidity or deeper historical data, a &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;paid API plan or above&lt;/a&gt; gives you access to the RWA tickers and market chart endpoints, with more API credits, higher rate limits, and a commercial license included.&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/tokenized-rwa-data-api-guide?locale=en</url>
    <summary>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent;...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135768</id>
    <published>2026-09-09T07:01:59Z</published>
    <updated>2026-10-14T02:37:10Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/kaiko-api-alternatives?locale=en"/>
    <title>Top 5 Kaiko API Alternatives for Crypto Data (2026)</title>
    <content type="html">&lt;style type="text/css"&gt;.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &gt; ul {
  color: inherit !important;
}
&lt;/style&gt;
&lt;div aria-label="Definition" class="cg-tldr-box" role="region" style="background-color: #e8fcc9; border-radius: 8px; padding: 1.5rem 1.75rem; margin: 2rem 0; border-left: 5px solid #34af00;"&gt;
&lt;h2 style="margin: 0px 0px 1rem; font-size: 1.25rem; color: rgb(25, 65, 45); font-weight: 700;"&gt;TL;DR&lt;/h2&gt;

&lt;ul style="margin: 0; padding-left: 1.5rem; color: #000000; font-size: 0.95rem;"&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api" target="_blank"&gt;CoinGecko API&lt;/a&gt; is the best overall Kaiko alternative for most teams, offering broader CEX, DEX, and onchain coverage alongside an aggregated RWA API for tokenized stocks, ETFs, and commodities.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;Kaiko remains the stronger choice for teams that specifically need regulated benchmark rates, tick-level trade data, or deep order-book history back to 2010.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li style="margin-bottom: 0.5rem;"&gt;
	&lt;p&gt;CoinDesk and CoinAPI offer institutional market data and tick-level execution, while Glassnode and Bitquery focus on specialized onchain analytics and monitoring.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;Kaiko is a crypto market data provider focused on institutional market and exchange data. It is SOC 2 Type II certified and an EU BMR-registered benchmark administrator. Its key strength is granular market data, including tick-level trades and L1/L2 order-book data, with history dating back to 2010 for some markets.&lt;/p&gt;

&lt;p&gt;Its offering is more specialized around market and exchange data, which can be a limitation if you need broader coverage across assets, exchanges, and onchain data. Pricing is also not publicly listed and requires a custom quote, while there is no published SLA or public uptime commitment to reference during procurement.&lt;/p&gt;

&lt;p&gt;This guide compares five Kaiko alternatives: CoinGecko, CoinDesk, CoinAPI, Glassnode, and Bitquery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full disclosure:&lt;/strong&gt; CoinGecko API is one of the alternatives in this guide. We built the CoinGecko API and understand the crypto data landscape well. We also recognize where other providers excel and the use cases they best serve. The comparison covers pricing, market data coverage, historical data, and developer experience to help you find the right fit.&lt;/p&gt;

&lt;p&gt;&lt;img alt="Top Kaiko Alternatives, covering crypto data API comparisons." src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136374/content_Kaiko_API_Alternatives.webp" style="max-width: 100%; height: 629px; width: 1200px;"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2&gt;How We Evaluated These API Alternatives&lt;/h2&gt;

&lt;p&gt;We evaluated each provider across 10 dimensions that matter when choosing a crypto data API:&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Data coverage&lt;/strong&gt;: Number of coins, tokens, chains, and exchanges&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Endpoint breadth&lt;/strong&gt;: Range of data products, including market data, order books, derivatives, and indices&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Free tier details&lt;/strong&gt;: Whether one exists and what it includes&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Paid tier entry price&lt;/strong&gt;: Starting price and whether pricing is publicly available&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Data latency and delivery methods&lt;/strong&gt;: How real-time the data is and whether delivery methods such as REST, WebSocket, Webhook, flat-file, or cloud data-sync fit your integration&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;CEX data&lt;/strong&gt;: Depth and breadth of centralized exchange coverage&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Onchain and DEX data&lt;/strong&gt;: Depth and breadth of decentralized exchange and onchain coverage&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Developer experience&lt;/strong&gt;: Documentation quality, SDK availability, and ease of integration&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Compliance and regulatory credentials&lt;/strong&gt;: Certifications, registrations, and other relevant attestations, including SOC 2, and EU BMR&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Strengths and limitations&lt;/strong&gt;: Where each provider stands out and where it may fall short&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;Quick Comparison of Kaiko API Alternatives&lt;/h2&gt;

&lt;div class="rgt-wrapper" style="--rgt-bg-odd: transparent; --rgt-bg-even: transparent; --rgt-text-color: inherit; --rgt-header-bg: transparent; --rgt-header-text: inherit; --rgt-border-color: currentColor; --rgt-accent-color: inherit; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.5rem 0;"&gt;
&lt;table class="rgt-table" style="width:100%; min-width:1500px; border-collapse:collapse; table-layout:fixed; font-size:15px; line-height:1.45; color:var(--rgt-text-color); border:1px solid var(--rgt-border-color); background-color:var(--rgt-bg-odd);"&gt;
	&lt;colgroup&gt;
		&lt;col style="width:8%;"&gt;
		&lt;col style="width:9%;"&gt;
		&lt;col style="width:8%;"&gt;
		&lt;col style="width:6%;"&gt;
		&lt;col style="width:8%;"&gt;
		&lt;col style="width:13%;"&gt;
		&lt;col style="width:10%;"&gt;
		&lt;col style="width:20%;"&gt;
		&lt;col style="width:18%;"&gt;
	&lt;/colgroup&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Provider&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Entry Pricing&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Assets&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Chains&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;CEX &amp;amp; DEX Data&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;RWA Data&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Data Delivery&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Compliance &amp;amp; Enterprise Support&lt;/span&gt;&lt;/th&gt;
			&lt;th class="rgt-th" scope="col" style="padding:13px 16px; vertical-align:middle; background-color:rgb(1, 87, 92); color:var(--rgt-header-text); font-weight:700; border:1px solid var(--rgt-border-color); white-space:nowrap; overflow-wrap:break-word; text-align:center;"&gt;&lt;span style="color:#ffffff;"&gt;Best For&lt;/span&gt;&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;CoinGecko&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;From $29/mo&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;48M+ assets&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;360+&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;Yes&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;Yes — Stocks, ETFs &amp;amp; commodities&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;REST, WebSocket, Webhook&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;ul style="margin:0; padding-left:1.1rem; margin-top: 16px;"&gt;
				&lt;li style="margin-bottom:4px;"&gt;SOC 2 Type II&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Auditable Price Methodology&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Trust Score &amp;amp; GT Score&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Verifiable data supporting MiCA, CARF &amp;amp; CLARITY&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;24/7 Slack support + dedicated CSM&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Institutional funds, exchanges, fintechs &amp;amp; compliance teams needing broad, auditable market data across crypto and tokenized RWAs&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;CoinDesk&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;Sales-led (no free tier)&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;7,000+ assets&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;10+&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;Yes&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;No — Research reports only&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;REST, WebSocket, Flat-file, Cloud&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;ul style="margin:0; padding-left:1.1rem; margin-top: 16px;"&gt;
				&lt;li style="margin-bottom:4px;"&gt;SOC 2 Type II&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;ISO 27001&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;EU BMR benchmarks&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;24/7 Slack support + dedicated CSM&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Asset managers &amp;amp; index providers needing regulated benchmarks and TradFi distribution&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;CoinAPI&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;From $79/mo&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;19,000+ assets&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;50+&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;Yes&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;Partial — Tokenized-stock trades only&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;REST, WebSocket, FIX&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;ul style="margin:0; padding-left:1.1rem; margin-top: 16px;"&gt;
				&lt;li style="margin-bottom:4px;"&gt;SOC 2-aligned (unattested)&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Slack support + dedicated Customer Success&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Market makers &amp;amp; algo trading firms needing tick-level CEX history and FIX connectivity&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-even" style="background-color:var(--rgt-bg-even);"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;Glassnode&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;From ~$999/mo&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;1,700+ assets&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;10+&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;Yes&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;Partial — Tokenized-stock tokens listed as regular assets&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;REST, Snowflake&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;ul style="margin:0; padding-left:1.1rem; margin-top: 16px;"&gt;
				&lt;li style="margin-bottom:4px;"&gt;No published certifications or support details&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Point-in-time data&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;AML-style wallet clustering via Cense&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;Institutional &amp;amp; macro researchers needing advanced entity-adjusted metrics&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="rgt-tr-odd"&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; font-weight:600; text-align:center;"&gt;&lt;strong&gt;Bitquery&lt;/strong&gt;&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;From $49/mo&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;1M+ tokens&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;40+&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:middle; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:center;"&gt;DEX only&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;Partial — Onchain transfer / compliance monitoring&lt;/td&gt;
			&lt;td class="rgt-td" style="padding: 13px 16px; vertical-align: middle; border: 1px solid var(--rgt-border-color); overflow-wrap: break-word; text-align: left;"&gt;GraphQL, WebSocket, Kafka, gRPC&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;
			&lt;ul style="margin:0; padding-left:1.1rem; margin-top: 16px;"&gt;
				&lt;li style="margin-bottom:4px;"&gt;No published certifications or support details&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Sanctions screening &amp;amp; wallet risk scoring&lt;/li&gt;
				&lt;li style="margin-bottom:4px;"&gt;Fund-flow tracing via Coinpath&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/td&gt;
			&lt;td class="rgt-td" style="padding:13px 16px; vertical-align:top; border:1px solid var(--rgt-border-color); overflow-wrap:break-word; text-align:left;"&gt;MEV bots &amp;amp; teams needing raw onchain and mempool data&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2&gt;The Best Kaiko API Alternatives&lt;/h2&gt;

&lt;h3&gt;CoinGecko: The Best All-in-One, Cost-Effective Alternative&lt;/h3&gt;

&lt;p&gt;&lt;img alt="CoinGecko: The Best All-in-One, Cost-Effective Alternative" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136080/content_CG.webp" style="max-width: 100%; height: 408px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;CoinGecko API is the &lt;a href="https://www.coingecko.com/learn/best-crypto-data-api-ranked" target="_blank"&gt;most trusted and widely used crypto data API&lt;/a&gt;, and the largest independent crypto data aggregator by asset coverage. It is trusted by major platforms including MetaMask, Coinbase, Etherscan, Deblock, and Statista, making it a strong alternative to Kaiko for teams that need broad coverage across crypto markets and tokenized real-world assets.&lt;/p&gt;

&lt;p&gt;Selected plans also support &lt;a href="https://docs.coingecko.com/docs/crypto-payment" target="_blank"&gt;crypto and stablecoin payments&lt;/a&gt; across 6 networks and 90+ assets, giving crypto-native teams more flexibility in how they pay.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Broadest coverage&lt;/strong&gt;: 22,000+ coins, 48M+ onchain tokens, 360+ networks, and 1,900+ exchanges across CEXs and DEXs.&lt;/li&gt;
	&lt;li&gt;
&lt;a href="https://docs.coingecko.com/reference/rwa-overview" target="_blank"&gt;&lt;strong&gt;RWA API&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;for tokenized assets&lt;/strong&gt;: Live coverage of tokenized stocks, ETFs, and commodities through the same API for crypto and onchain data. It’s the only aggregated RWA product among the alternatives here.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Flat credit model&lt;/strong&gt;: Every REST call costs 1 credit, regardless of pagination, batching, or multi-currency conversion.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Commercial license from the entry tier&lt;/strong&gt;: Commercial use starts at $29/month, with WebSocket and Webhook access included.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Independent &lt;a href="https://www.coingecko.com/en/api/price-aggregation-methodology" target="_blank"&gt;price methodology&lt;/a&gt;&lt;/strong&gt;: A published 5-step aggregation methodology designed to provide independently verifiable market data for compliance and reporting workflows.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Enterprise-grade service&lt;/strong&gt;: SOC 2 Type II, 99.9% uptime SLA, dedicated CSM, and support for custom data and API requirements.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Flexible data access:&lt;/strong&gt; &lt;a href="https://docs.coingecko.com/docs/sdk" target="_blank"&gt;SDKs&lt;/a&gt;, &lt;a href="https://docs.coingecko.com/ai-integration/mcp-server" target="_blank"&gt;MCP server&lt;/a&gt;, &lt;a href="https://docs.coingecko.com/ai-integration/agent-skill" target="_blank"&gt;Agent Skill&lt;/a&gt;, &lt;a href="https://www.coingecko.com/en/api/cli" target="_blank"&gt;CLI&lt;/a&gt;, Spreadsheet add-ins (&lt;a href="https://docs.coingecko.com/docs/google-sheets" target="_blank"&gt;Google Sheets&lt;/a&gt; &amp;amp; &lt;a href="https://docs.coingecko.com/docs/excel" target="_blank"&gt;Microsoft Excel&lt;/a&gt;) for both technical and non-technical users.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No raw tick-level data:&lt;/strong&gt; Aggregates and normalizes CEX data rather than providing per-exchange tick feeds or L2/L3 order-book replay.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Freshness varies by plan:&lt;/strong&gt; Demo starts at 60-second data freshness, while real-time data starts at the Analyst plan ($129/month).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Free (Demo):&lt;/strong&gt; 10K credits/month, 1 year of historical data&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Lowest paid ($29/month):&lt;/strong&gt; 100K credits/month, 2 years of historical data, commercial license, WebSocket and Webhook access.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Highest paid ($2,398/month):&lt;/strong&gt; Up to 15M credits/month, 10 years of historical data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Enterprise:&lt;/strong&gt; Custom pricing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;CoinDesk: Regulated Benchmark Specialist&lt;/h3&gt;

&lt;p&gt;&lt;img alt="CoinDesk: Regulated Benchmark Specialist" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102135840/content_SCR-20260611-ufrb.webp" style="max-width: 100%; height: 479px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;CoinDesk Data (formerly CryptoCompare and CCData) is an alternative for institutional users seeking exchange-level market data, regulated benchmark rates, and deep historical coverage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Institutional-grade tick data:&lt;/strong&gt; Nanosecond timestamps and Level 2 order-book snapshots.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Regulated benchmarks &amp;amp; certified compliance:&lt;/strong&gt; FCA-regulated and EU BMR-compliant reference rates and indices, plus SOC 2 Type II and ISO 27001 certification.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Market &amp;amp; benchmark data:&lt;/strong&gt; Derivatives, order-book, onchain, and regulated benchmark products.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No public pricing:&lt;/strong&gt; CoinDesk does not offer a free API plan, and pricing requires a sales conversation.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Narrower chain coverage&lt;/strong&gt;: 10+ chains, limiting coverage across newer and emerging networks.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Less self-serve delivery:&lt;/strong&gt; REST and WebSocket are available, but cloud and custom delivery are geared toward enterprise data workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;All tiers require a sales conversation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;CoinAPI: Tick-Level &amp;amp; FIX Connectivity&lt;/h3&gt;

&lt;p&gt;&lt;img alt="CoinAPI: Tick-Level &amp;amp; FIX Connectivity" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136084/content_coinAPI.webp" style="max-width: 100%; height: 567px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;CoinAPI is focused on trading infrastructure for developers who need institutional-grade CEX data, with deep tick-level history, normalized order books, and FIX connectivity for execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Deep tick-level CEX history&lt;/strong&gt;: Normalized order books, trade feeds, and OHLCV across 405+ exchanges.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;FIX connectivity&lt;/strong&gt;: Built for execution and HFT infrastructure, but only available on the Pro plan at $599/month.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Additional trading infrastructure:&lt;/strong&gt; Flat Files for bulk historical exports, including Exchange Rates, Index, Metrics, and EMS Trading APIs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Limited DEX data:&lt;/strong&gt; Covers fewer than 10 DEX venues, with no unified cross-chain index.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;No SOC 2 or ISO 27001 certification&lt;/strong&gt;: Controls are aligned with these standards, but not independently certified.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Free (Pay As You Go):&lt;/strong&gt; $25 in free credits, followed by metered usage&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Lowest paid ($79/month):&lt;/strong&gt; 1,000 REST credits/day, 32 GiB/day of trade, quote, and order-book data&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Highest paid ($599/month):&lt;/strong&gt; 100,000 REST credits/day, up to 576 GiB/day of trade, quote, and order-book data, with FIX connectivity included&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Enterprise:&lt;/strong&gt; Custom pricing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Glassnode: Onchain Research&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Glassnode: Onchain Research" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136375/content_image_1123.webp" style="max-width: 100%; height: 525px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Glassnode is an onchain analytics provider focused on entity-adjusted metrics for institutional and macro researchers. Its platform combines onchain data with market and macro indicators, with deeper analytical metrics for teams researching onchain activity and market behavior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Wallet and entity analysis:&lt;/strong&gt; Groups wallet activity to identify internal transfers, exchange flows, and known entities.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Point-in-time historical data:&lt;/strong&gt; Preserves data as it was recorded, helping prevent backtests from being affected by later corrections.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Compliance analytics via Cense:&lt;/strong&gt; Wallet clustering and risk analytics for compliance and monitoring.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Snowflake access:&lt;/strong&gt; Connects data directly to analysts’ data warehouses.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No free API tier:&lt;/strong&gt; Full API access starts at ~$999/month, while lower-priced plans only include limited API access.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Limited exchange and market data:&lt;/strong&gt; Focuses on onchain metrics and macro research, rather than broad CEX and DEX coverage, order books, and tick-level data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Free:&lt;/strong&gt; Dashboard access only, with no API access&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Lowest paid ($49/month):&lt;/strong&gt; Limited access with 40+ market and 270+ onchain metrics, daily resolution, capped at 50 calls/day&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Highest paid (999/month):&lt;/strong&gt; 180+ market and 570+ onchain metrics, resolutions down to 10 minutes, 15+ years of history&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Enterprise:&lt;/strong&gt; Custom pricing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bitquery: Onchain Forensics &amp;amp; Mempool Data&lt;/h3&gt;

&lt;p&gt;&lt;img alt="Bitquery: Onchain Forensics &amp;amp; Mempool Data" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136376/content_image_1124.webp" style="max-width: 100%; height: 598px; width: 1200px;"&gt;&lt;/p&gt;

&lt;p&gt;Bitquery focuses on onchain data, with APIs for token flows, wallet activity, and mempool data. It is suited to teams working on onchain forensics, transaction monitoring, and surveillance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Broad onchain and mempool coverage:&lt;/strong&gt; One GraphQL API covers token transfers, DEX trades, smart-contract events, calls, traces, and transactions before confirmation, with RWA data for tokenized-asset transfers.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Onchain compliance tools:&lt;/strong&gt; Sanctions screening, risk scoring, and Coinpath for tracing money flows across wallets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;No CEX data:&lt;/strong&gt; Focuses on onchain and DEX data only.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Limited access on lower tiers:&lt;/strong&gt; The $49/month tier is non-commercial and excludes streaming. Commercial DEX streaming starts at $99/month.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Less predictable costs&lt;/strong&gt;: Usage is measured in compute units based on query complexity and data volume, so the same integration can consume different amounts of credits depending on how a query is structured.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/p&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Free trial:&lt;/strong&gt; 7 days, capped evaluation sandbox with WebSocket streaming&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Lowest paid ($49/month):&lt;/strong&gt; Personal plan, non-commercial, no streaming, 100k API points/month&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Highest paid ($299/month):&lt;/strong&gt; Full onchain and mempool streams, with up to 1,000 concurrent streams&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Enterprise:&lt;/strong&gt; Custom pricing&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;Which Kaiko API Alternative Should You Choose?&lt;/h2&gt;

&lt;p&gt;Every crypto application has different data requirements, and the right API depends on what you are building. Here is how to match your use case to the most suitable provider.&lt;/p&gt;

&lt;h3&gt;CoinGecko: Broad market data for most use cases&lt;/h3&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Crypto and fintech app development&lt;/strong&gt;: Broad coverage across 22,000+ coins, 48M+ tokens, and 360+ networks, combined with a documented pricing methodology and commercial licensing from $29/month.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Tokenized stock, ETF, and RWA market tracking&lt;/strong&gt;: The RWA API brings tokenized stocks, ETFs, and commodities across issuers, chains, and venues into one view, making it useful for teams that need aggregated RWA coverage alongside crypto data.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Exchange and counterparty risk assessment&lt;/strong&gt;: CoinGecko’s proprietary &lt;a href="https://www.coingecko.com/en/exchanges" target="_blank"&gt;Exchange Trust Score&lt;/a&gt; provides a 1–10 exchange risk signal based on factors including liquidity and regulatory status.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Compliance, tax, and regulatory reporting&lt;/strong&gt;: A documented aggregation methodology and 10+ years of historical data support fair-market-value reconstruction and reporting workflows.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Crypto treasury tracking:&lt;/strong&gt; Dedicated &lt;a href="https://www.coingecko.com/en/treasuries" target="_blank"&gt;Crypto Treasuries&lt;/a&gt; data covering public company and government digital-asset holdings by entity, with historical charts and transaction history to track accumulation and distribution over time.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Crypto exchange listings&lt;/strong&gt;: Per-asset metadata, including name, symbol, logo images, contract addresses, and categories, enables exchanges to populate complete asset listing pages for new listings.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;DeFi dashboard and DEX analytics development:&lt;/strong&gt; Onchain data covers pools across 360+ networks, with the &lt;a href="https://docs.coingecko.com/reference/pools-megafilter" target="_blank"&gt;Pools Megafilter&lt;/a&gt; and honeypot detection for deeper DEX and token analysis.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;AI model training&lt;/strong&gt;: 10+ years of historical data, with a &lt;a href="https://www.coingecko.com/en/api/enterprise/data-license" target="_blank"&gt;commercial AI-training licensing&lt;/a&gt; add-on available.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.coingecko.com/en/api/enterprise" target="_blank"&gt;&lt;img alt="CoinGecko Enterprise API: enterprise-grade crypto data built to scale with reliability." loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136378/content_Subcribe_to_CoinGecko_API_CTA_-_Enterprise_%283%29.webp" style="max-width: 100%; height: 235px; width: 1200px;"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;CoinAPI: Tick-level execution and quant workflows&lt;/h3&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;HFT and execution engines&lt;/strong&gt;: Deep tick-level CEX history, order-book data, and FIX connectivity for execution workflows.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;AI model training on tick-level microstructure:&lt;/strong&gt; 14+ years of raw, per-exchange tick history for models that require order-flow and microstructure data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;CoinDesk: Regulated benchmarks and institutional market data&lt;/h3&gt;

&lt;ul style="margin-top: 16px;"&gt;
	&lt;li&gt;
&lt;strong&gt;Regulated benchmark rates for derivatives and ETF/fund NAV settlement:&lt;/strong&gt; FCA-regulated and EU BMR-compliant reference rates and indices for teams that need regulated pricing for settlement and issuance.&lt;/li&gt;
	&lt;li&gt;
&lt;strong&gt;Tick-level order-book history and market surveillance:&lt;/strong&gt; Nanosecond-timestamped tick data and Level 2 order-book snapshots for teams that need deep per-exchange history, with Kaiko offering deeper order-book history back to 2010.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;For most teams evaluating Kaiko, CoinGecko is the strongest overall alternative. It brings CEX and DEX market data, onchain coverage, historical data, and real-time access together in one API, with self-serve pricing starting at $29/month. REST, WebSocket, and Webhook access are available from the paid entry plan, while RWA endpoints add coverage for tokenized stocks, ETFs, and commodities. For teams building products, researching markets, or supporting compliance workflows, that breadth makes it a practical foundation for crypto and onchain data.&lt;/p&gt;

&lt;p&gt;Kaiko remains a strong choice for teams that specifically need deep tick-level trade data, per-exchange order books, or regulated benchmark products. CoinDesk and CoinAPI cover institutional market data and tick-level trading workflows, Glassnode focuses on onchain and entity analytics, while Bitquery focuses on onchain transaction analysis, transaction monitoring, and surveillance.&lt;/p&gt;

&lt;p&gt;Ultimately, the best provider depends on the data you need and how you plan to use it. For teams looking for broad coverage, flexible delivery, transparent pricing, and crypto and RWA data in one place, CoinGecko is a strong place to start. If you’re considering an alternative to Kaiko, try the &lt;a href="https://www.coingecko.com/en/api/pricing" target="_blank"&gt;free CoinGecko API Demo plan&lt;/a&gt; to explore crypto market and onchain data, test the API, and see if it fits your use case before moving to a paid plan.&lt;/p&gt;
</content>
    <author>
      <name>Ru Jun Ang</name>
    </author>
    <url>https://www.coingecko.com/learn/kaiko-api-alternatives?locale=en</url>
    <summary>.tw-dark .cg-tldr-box {
  background-color: rgba(52, 175, 0, 0.12) !important;
}
.tw-dark .cg-tldr-box h2 {
  color: inherit !important;
}
.tw-dark .cg-tldr-box &amp;amp;gt; ul {
  color: inherit !importan...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135761</id>
    <published>2026-09-08T06:46:33Z</published>
    <updated>2026-09-08T07:15:21Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/korean-stock-perpetual-futures-offshore-liquidity?locale=en"/>
    <title>KRW 307 Trillion Traded Offshore: Korean Stock Trading Crosses Borders</title>
    <content type="html">&lt;div&gt;&lt;img alt="Korean stock trading goes offshore" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136373/content_Korean_stock_trading_goes_offshore.webp" style="width: 1200px; height: 628px;"&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Crypto exchanges are expanding into traditional assets through perpetual futures. Korean stock-linked perpetual futures have already reached KRW 307 trillion in trading volume within months. This report by Tiger Research looks at the rise of offshore liquidity and what Korea needs to participate in this market.&lt;/em&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h3&gt;Key Takeaways&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;p&gt;Crypto exchanges are rapidly expanding into stocks, commodities, and other traditional assets through perpetual futures.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Korean stock-linked perpetual futures reached KRW 307 trillion in trading volume within months, increasing the importance of offshore markets.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Korea needs corporate access to domestic crypto exchanges, a formal derivatives framework, and KRW stablecoin infrastructure.&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2&gt;1. Crypto Exchanges Are Expanding into Traditional Markets&lt;/h2&gt;

&lt;p&gt;Crypto exchanges are expanding beyond digital assets and into traditional markets. Bitcoin and Ethereum once dominated trading on these platforms. Today, exchanges are rapidly adding products linked to stocks, commodities, and other traditional assets.&lt;/p&gt;

&lt;div&gt;&lt;img alt="Crypto exchanges expanding beyond crypto" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136325/content_1.webp" style="width: 1200px; height: 720px;"&gt;&lt;/div&gt;

&lt;p&gt;Hyperliquid, a leading decentralized exchange, has seen a growing share of trading in traditional asset-linked products in 2026. More users are also trading these products. &lt;strong&gt;Infrastructure originally built for crypto is now emerging as a new venue for traditional financial markets.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Perpetual futures are driving this shift. These derivatives let investors gain exposure to price movements without owning the underlying asset. Unlike traditional futures, they have no expiration date and do not require physical delivery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This structure allows exchanges to launch products linked to stocks and commodities with relative ease. It also gives crypto exchanges a practical way to expand beyond digital assets and into traditional markets.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;2. Korea Is No Exception: Korean Stock Trading Moves Offshore&lt;/h2&gt;

&lt;p&gt;Korea is already at the center of this shift. Offshore crypto exchanges actively trade perpetual futures linked to major Korean stocks such as Samsung Electronics and SK hynix. &lt;strong&gt;These products trade at night and on weekends. They also offer high leverage. As a result, they give both Korean and global investors a new way to gain exposure to Korean stocks.&lt;/strong&gt; An offshore market is rapidly emerging where investors can trade Korean stock price movements regardless of domestic market hours.&lt;/p&gt;

&lt;div&gt;&lt;img alt="Korean CEX vs Offshore Korean Equity Perps" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136326/content_2.webp" style="width: 1200px; height: 720px;"&gt;&lt;/div&gt;

&lt;p&gt;The market is growing rapidly. &lt;strong&gt;From February through August 2026, cumulative trading volume in perpetual futures linked to Korean stocks reached about KRW 307 trillion. In August alone, trading volume reached KRW 166 trillion. This was nearly four times the KRW 42 trillion traded on Korea’s five largest crypto exchanges over the same period.&lt;/strong&gt; In just a few months, offshore perpetual futures linked to Korean stocks have grown to a scale that exceeds Korea’s major domestic crypto market.&lt;/p&gt;

&lt;div&gt;&lt;img alt="KORU ETF and Perpetual Futures Volume" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136327/content_3.webp" style="width: 1200px; height: 720px;"&gt;&lt;/div&gt;

&lt;p&gt;For some products, perpetual futures trading already far exceeds trading in the underlying ETF. &lt;strong&gt;In August 2026, perpetual futures linked to KORU, a U.S.-listed 3x leveraged Korea ETF, recorded about USD 24.1 billion in trading volume. KORU ETF itself recorded USD 8.9 billion. The perpetual futures volume was about 2.7 times that of the ETF.&lt;/strong&gt; More trading took place in the derivative than in the ETF itself. If derivatives trading exceeds the underlying market, offshore venues could play a larger role in price discovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More importantly, offshore derivatives markets can also affect the spot market.&lt;/strong&gt; Market makers that provide liquidity for perpetual futures hedge their exposure by buying and selling related stocks or ETFs. Higher derivatives volume can increase these hedging trades. Sharp price moves can also increase them. These flows can then affect prices in the spot market.&lt;/p&gt;

&lt;div&gt;&lt;img alt="SK Hynic KOSPI vs Offshore Perps" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136328/content_4.webp" style="width: 1200px; height: 703px;"&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;This structure can create a “tail-wags-the-dog” effect, where derivatives drive spot prices rather than simply follow them.&lt;/strong&gt; The impact may remain limited for large-cap stocks such as SK hynix because spot trading volume is still much larger. However, the gap between derivatives and spot trading volumes is narrowing quickly. This trend warrants close attention.&lt;/p&gt;

&lt;h2&gt;3. Liquidity Shifts Offshore as Global Markets Evolve&lt;/h2&gt;

&lt;div&gt;
&lt;img alt="Liquidity shifting offshore" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136329/content_5.webp" style="width: 1200px; height: 540px;"&gt;&lt;br&gt;
Source: Trade.xyz&lt;/div&gt;

&lt;p&gt;Offshore trading in Korean stocks is not unique to Korea. Perpetual futures are rapidly expanding across stocks and indices in markets such as Korea, Japan, and China. Their reach now extends beyond listed securities. Offshore venues already offer perpetual futures linked to private companies such as Anthropic. They also offer products linked to Chinese memory chipmaker CXMT ahead of its stock market debut. &lt;strong&gt;Assets that were once difficult to trade through traditional securities markets are now entering the perpetual futures market. This is rapidly blurring the traditional boundaries of what investors can trade.&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;&lt;img alt="Diversifying Asset Classes" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136330/content_6.webp" style="width: 1200px; height: 720px;"&gt;&lt;/div&gt;

&lt;p&gt;The participants in this market are changing too. &lt;strong&gt;Among Hyperliquid accounts with more than USD 10 million in assets, the share that trades traditional assets such as stocks and commodities has risen rapidly.&lt;/strong&gt; The&lt;a href="https://www.wsj.com/finance/currencies/this-crypto-trading-platform-is-emerging-as-wall-streets-convenience-store-012e050c"&gt; &lt;/a&gt;&lt;strong&gt;&lt;a href="https://www.wsj.com/finance/currencies/this-crypto-trading-platform-is-emerging-as-wall-streets-convenience-store-012e050c" rel="nofollow noopener" target="_blank"&gt;Wall Street Journal (WSJ)&lt;/a&gt;&lt;/strong&gt; has also reported that professional Wall Street traders use perpetual futures after regular market hours and on weekends. A market that once centered on crypto investors now attracts professional traders and investors that manage large pools of capital.&lt;/p&gt;

&lt;div&gt;&lt;img alt="Slippage within and outside market hours" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136331/content_7.webp" style="width: 1200px; height: 720px;"&gt;&lt;/div&gt;

&lt;p&gt;Liquidity in the perpetual futures market also deserves attention. Based on the latest 15-day average, a USD 1 million trade in SK hynix perpetual futures results in only single-digit basis-point slippage. &lt;strong&gt;Slippage remains relatively low even outside regular market hours.&lt;/strong&gt; This means the market has enough depth to absorb large orders even when the Korean stock market is closed. &lt;strong&gt;Perpetual futures are moving beyond simply extending traditional market hours. They are becoming markets with liquidity of their own.&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;&lt;img alt="USYC inflows" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136332/content_8.webp" style="width: 1200px; height: 720px;"&gt;&lt;/div&gt;

&lt;p&gt;The capital used for trading is changing as well. Some global exchanges now accept tokenized U.S. Treasury assets as collateral. These include BlackRock’s BUIDL and Hashnote’s USYC. &lt;strong&gt;Over the past year, cumulative transfers of USYC to exchanges reached about USD 2.75 billion.&lt;/strong&gt; Not all of this amount served as derivatives margin. Still, institutions can hold familiar U.S. Treasury-backed assets and use them as trading collateral when needed. &lt;strong&gt;Traditional financial assets now serve as collateral in these new markets. This creates a new channel for capital to move between traditional finance and the new trading market.&lt;/strong&gt;&lt;/p&gt;

&lt;div&gt;
&lt;img alt="Perps and global finance" loading="lazy" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136333/content_9.webp" style="width: 1200px; height: 894px;"&gt;&lt;br&gt;
&lt;span style="font-size:11px;"&gt;Source: Tiger Research&lt;/span&gt;
&lt;/div&gt;

&lt;p&gt;What we are seeing is more than crypto markets expanding into traditional assets. &lt;strong&gt;An offshore market that offers exposure to Korean stock prices is growing rapidly without going through the Korean won, domestic brokerages, or Korean exchanges.&lt;/strong&gt; Tokenized U.S. Treasuries serve as collateral in this market. Professional traders and investors that manage large pools of capital also participate. &lt;strong&gt;The shift now extends beyond the assets being traded. The market participants and the capital they use are changing as well.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Korean stock-linked perpetual futures recorded KRW 307 trillion in trading volume in just a few months. That figure shows how quickly this shift is unfolding. But KRW 307 trillion does not represent the size of a mature market. It reflects the current scale of a market that is still taking shape. If more assets become tradable and institutional capital enters at scale, offshore liquidity could grow further. &lt;strong&gt;This could reshape market structures that have long been divided by national borders and trading hours. It could also change how capital moves across markets.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;4. Offshore Markets Grow: What Role Can Korea’s Financial Industry Play?&lt;/h2&gt;

&lt;p&gt;Korea can restrict Korean investors from trading these products, but it cannot easily stop offshore markets from growing. Some global exchanges, including Binance, restrict perpetual futures trading for users identified as Korean through KYC. But Korean stock-linked markets can continue to grow through overseas investors and global capital. &lt;strong&gt;In practice, Korean regulation limits the participation of Korean investors and financial institutions more than the offshore market itself. Even if Korea restricts local demand, trading and liquidity can still develop overseas.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Korea therefore needs to look beyond simply blocking this trend. It should also turn the growth of these new markets into an opportunity for its financial industry. &lt;strong&gt;Korea already has a starting point: its crypto exchanges. They cannot launch stock-linked perpetual futures right away. But they have experience operating 24-hour digital asset markets and already have a large user base. These strengths could support expansion into new markets.&lt;/strong&gt; Global crypto exchanges are rapidly expanding into traditional assets. Korea should also review the rules and market structure needed to support this shift.&lt;/p&gt;

&lt;p&gt;Trading infrastructure alone is not enough. &lt;strong&gt;Korea also needs corporate access to the market, a regulatory framework for derivatives, and KRW-based payment and settlement infrastructure.&lt;/strong&gt; Corporate accounts would bring in professional capital for market making, hedging, and arbitrage. They would also add liquidity. A formal framework for derivatives such as perpetual futures would support products linked to a wider range of assets. KRW-based payment and settlement tools, such as a KRW stablecoin, could improve access for overseas investors and ease capital flows. &lt;strong&gt;These are not separate regulatory issues. They are all necessary for the market to function.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Korea should build a framework that allows these elements to work together rather than address them one by one.&lt;/strong&gt; This would allow Korean crypto exchanges to move beyond crypto trading and connect a wider range of assets with global liquidity. Trading linked to Korean assets is already growing rapidly offshore. The challenge is not simply to stop that growth. &lt;strong&gt;What matters more is how large a role Korea’s financial industry can play in this market.&lt;/strong&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="https://reports.tiger-research.com/subscribe?utm_source=coingecko&amp;amp;utm_medium=post&amp;amp;utm_campaign=" target="_blank"&gt;Dive deep into Asia’s Web3 market with Tiger Research.&lt;br&gt;
Be among the 23,000+ pioneers who receive exclusive market insights.&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h3&gt;Disclaimer&lt;/h3&gt;

&lt;p&gt;This report has been prepared based on materials believed to be reliable. However, we do not expressly or impliedly warrant the accuracy, completeness, and suitability of the information. We disclaim any liability for any losses arising from the use of this report or its contents. The conclusions and recommendations in this report are based on information available at the time of preparation and are subject to change without notice. All projects, estimates, forecasts, objectives, opinions, and views expressed in this report are subject to change without notice and may differ from or be contrary to the opinions of others or other organizations.&lt;/p&gt;

&lt;p&gt;This document is for informational purposes only and should not be considered legal, business, investment, or tax advice. Any references to securities or digital assets are for illustrative purposes only and do not constitute an investment recommendation or an offer to provide investment advisory services. This material is not directed at investors or potential investors.&lt;/p&gt;

&lt;h3&gt;Terms of Usage&lt;/h3&gt;

&lt;p&gt;Tiger Research allows the fair use of its reports. ‘Fair use’ is a principle that broadly permits the use of specific content for public interest purposes, as long as it doesn’t harm the commercial value of the material. If the use aligns with the purpose of fair use, the reports can be utilized without prior permission. However, when citing Tiger Research’s reports, it is mandatory to 1) clearly state ‘Tiger Research’ as the source, 2) include the Tiger Research &lt;a href="https://drive.google.com/drive/folders/1wDipGyey04EqFO6yZU90ZIe-jsKCDaqR"&gt;logo&lt;/a&gt;. If the material is to be restructured and published, separate negotiations are required. Unauthorized use of the reports may result in legal action.&lt;/p&gt;
</content>
    <author>
      <name>Tiger Research</name>
    </author>
    <url>https://www.coingecko.com/learn/korean-stock-perpetual-futures-offshore-liquidity?locale=en</url>
    <summary>

Crypto exchanges are expanding into traditional assets through perpetual futures. Korean stock-linked perpetual futures have already reached KRW 307 trillion in trading volume within months. This...</summary>
  </entry>
  <entry>
    <id>tag:www.coingecko.com,2005:Post/102135767</id>
    <published>2026-09-08T06:33:01Z</published>
    <updated>2026-09-08T06:34:57Z</updated>
    <link rel="alternate" type="text/html" href="https://www.coingecko.com/learn/memecoin-launchpad-wars-pumpfun-stonkfun-ponsfamily?locale=en"/>
    <title>Memecoin Launchpad Wars: Is Pumpfun's Reign As Market Leader Over?</title>
    <content type="html">&lt;div dir="ltr"&gt;&lt;img alt="launchpad wars main chart" src="https://assets.coingecko.com/coingecko/public/ckeditor_assets/pictures/102136372/content_launchpad_wars_september_2026.webp" style="width: 1200px; height: 1200px;"&gt;&lt;/div&gt;

&lt;p dir="ltr"&gt;Pumpfun’s market leader status is being challenged once more, with new entrants Ponsfamily and Stonkfun overtaking Pumpfun in daily launchpad revenue. Pons, which was launched only two months ago on July 14, 2026 overtook Pumpfun in daily protocol revenue on September 2, 2026 with $1.1M in revenue. More impressively, Stonkfun, which was only launched last month on August 3, overtook Pumpfun in daily protocol revenue on September 6, 2026 with $1.5M in revenue.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;The Last Time Pumpfun was Challenged&lt;/h3&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://www.coingecko.com/learn/letsbonk-fun-solana-memecoin-launchpad-guide" target="_blank"&gt;The last time&lt;/a&gt; Pumpfun faced a serious market competitor was in July 2025 when LetsBONK.fun, launched by the BONK community, overtook Pumpfun in Solana launchpad activity. At that time, BONKfun had a 78% market share while Pumpfun’s collapsed from 80% down to 13%. BONKfun’s market dominance was due to its unique positioning at the time of token buybacks and community support. The rivalry ultimately ended when Pumpfun introduced its own buyback program, dedicating a huge portion of its protocol revenue to buyback its &lt;a href="https://www.coingecko.com/en/coins/pump-fun" target="_blank"&gt;PUMP&lt;/a&gt; token, a move which they have continued till this day.&lt;/p&gt;

&lt;h3 dir="ltr"&gt;What’s Different This Time: The Stonks Movement&lt;/h3&gt;

&lt;p dir="ltr"&gt;The memecoin market is shifting toward stocks-themed memecoins and both of Pumpfun’s fastest growing rivals are at the center of this new movement. The stonks market trend is the recent phenomenon of memecoin traders creating stock-themed memecoins or memecoins paired with tokenized stocks as the main liquidity pool.&lt;/p&gt;

&lt;p dir="ltr"&gt;&lt;a href="https://www.coingecko.com/en/coins/pons" target="_blank"&gt;PONS&lt;/a&gt; is the leading launchpad on Robinhood Chain, Robinhood’s own L2 network built specifically for RWA, which went live on July 1, 2026. Stonkfun by contrast is based in Solana with the unique selling point of being able to launch memecoins with any token pairings (most often stocks).&lt;/p&gt;

&lt;p dir="ltr"&gt;The market remains unclear as the memecoin sector heats up, visit &lt;a href="https://www.coingecko.com/en/stonks" target="_blank"&gt;our Stonks page&lt;/a&gt; to see what the top Stonk memecoins are!&lt;/p&gt;

&lt;h2 dir="ltr"&gt;Current Standings&lt;/h2&gt;

&lt;table&gt;
	&lt;colgroup&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
		&lt;col&gt;
	&lt;/colgroup&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Rank (by latest-day revenue)&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Launchpad&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;Sep 7 Revenue&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;30-Day Total Revenue&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;&lt;strong&gt;30-Day Revenue Share&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;1&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Pons&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$1,471,401&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$15,616,951&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;28.21%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;2&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Stonkfun&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$1,198,984&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$4,198,246&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;7.58%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;3&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;Pumpfun&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$934,270&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;$35,535,426&lt;/p&gt;
			&lt;/td&gt;
			&lt;td&gt;
			&lt;p dir="ltr"&gt;64.20%&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;p dir="ltr"&gt;Ranked here by latest-day revenue. By 30-day cumulative revenue the order flips entirely: Pumpfun leads with 64.20% of the combined total, followed by Pons (28.21%) and Stonkfun (7.58%).&lt;/p&gt;

&lt;h3 dir="ltr"&gt;Methodology&lt;/h3&gt;

&lt;p dir="ltr"&gt;Daily protocol revenue for pumpfun and pons is sourced from DefiLlama. Stonkfun revenue is sourced from &lt;a href="https://dune.com/adam_tehc/stonkfun" rel="nofollow noopener" target="_blank"&gt;Adam_tehc’s dune dashboard&lt;/a&gt; on Stonkfun. All figures cover August 9 to September 7, 2026 (30 days).&lt;/p&gt;

&lt;p dir="ltr"&gt;If you cite these insights, we would appreciate a link credit to this article on CoinGecko, which allows us to keep supplying you with useful data-led content.&lt;/p&gt;

&lt;p dir="ltr"&gt;This study is for illustrative and informational purposes only, and is not financial advice.&lt;/p&gt;
</content>
    <author>
      <name>Loke Choon Khei</name>
    </author>
    <url>https://www.coingecko.com/learn/memecoin-launchpad-wars-pumpfun-stonkfun-ponsfamily?locale=en</url>
    <summary>

Pumpfun’s market leader status is being challenged once more, with new entrants Ponsfamily and Stonkfun overtaking Pumpfun in daily launchpad revenue. Pons, which was launched only two months ago...</summary>
  </entry>
</feed>
