Find and index Hartii tokens
Use this page when building a token catalog, market monitor or venue integration for Hartii launches. The read-only API is the simplest source. It returns every token the Hartii event indexer knows, including new launches as the indexer catches up. If your system scans the chain itself, use the factory registry and event below.
Quainance is an independent Quai launch and trading venue. Its Trade Zone has its own listing, factory and implementation checks; HartiiLabs can publish the complete Hartii launch feed and market history, but cannot add a factory to Quainance's registry from our site. Quainance's public docs describe venue usage. This page documents the complementary feed/indexer integration from HartiiLabs.
Fast path: page through the catalog
GET https://hartiilabs.com/api/tokens?venue=hartii&sort=new&limit=100&cursor=0 returns the newest
page of native Hartii token records. nextCursor is an offset; send it unchanged in the next request
until it is null. Do not stop after the first 100 rows or treat a 503 as an empty catalog.
async function* hartiiTokens() {
let cursor = '0';
do {
const url = new URL('https://hartiilabs.com/api/tokens');
url.search = new URLSearchParams({
venue: 'hartii',
sort: 'new',
limit: '100',
cursor,
}).toString();
const response = await fetch(url);
if (!response.ok) throw new Error(`token catalog unavailable: HTTP ${response.status}`);
const page = await response.json();
if (page.partial) throw new Error('token catalog is incomplete; retry the request');
for (const token of page.items) yield token;
cursor = page.nextCursor;
} while (cursor !== null);
}
for await (const token of hartiiTokens()) {
console.log(token.address, token.symbol, token.status, token.curveAddress);
}The filter is venue=hartii for Hartii launches and venue=quainance for tokens launched on
Quainance. Omit venue to read both lists. Every catalog item includes address, curveAddress,
launchBlock, source, venue, and the current summary fields. Address is the identity: symbols
are not guaranteed to be unique. See the API response reference for the full
field table and failure shapes.
Market history and chart data
Use the token address from the catalog:
GET /api/token/:address
GET /api/token/:address/trades?limit=100
GET /api/token/:address/candles?tf=5m&limit=576- A Quainance token detail response has
source: "quainance-launchpad",venue: "quainance",venueMarket,venueLauncher, andvenuePoolafter its launcher emitsGraduated. - Each trade row carries
venue. Keep it on stored rows and charts; never merge a Quainance trade into Hartii-native volume or activity totals. - Candles have unix-second
bucketStartand decimal-stringopen,high,low,closeandvolumeQuai. The indexer stores1m,5m,15m,1h,4hand1dcandles for both venues. Quainance candles are rebuilt idempotently from saved trade rows. Older indexed markets without candle buckets are repaired three tokens per indexer pass. - A newly mined event is not immediately an indexed row. Retry transient
503responses and only move to the next page when the previous response suppliednextCursor.
Indexed Quainance token pages in HartiiLabs use the same candles, line/area choices, timeframes, indicators, log scale, measure tool, expansion and share chart as native token pages. The chart reads the API history. It does not estimate a price when a venue has no indexed trades.
Factory registry for direct indexers
This registry and the catalog endpoint below are the HartiiLabs side of token discovery. A Quainance integration can consume the feed to discover Hartii assets, then independently apply its own contract verification, listing and liquidity rules. Reading the feed does not create a Trade Zone listing.
All live Hartii launch generations share this event signature:
event TokenLaunched(
address indexed token,
address indexed curve,
address indexed creator,
string name,
string symbol,
bytes32 metadataHash
);address on the log is the factory. The indexer must scan every deployed factory and deduplicate
events by (transactionHash, logIndex). TokenFactoryV2 was never deployed.
| Generation | Factory | Start block | Current Quainance Trade Zone support |
|---|---|---|---|
| V1 | 0x001AF1BbB40807fcb99C9Eeaa49dF5E91e7Efd42 | 8,872,955 | Present in current bundle |
| V3 | 0x00249722868732Ee678b88Db668EAf7cC75Ae12A | 10,356,575 | Present in current bundle |
| V4 | 0x005566187b52313e03978C2caF4BE1a0A88eb90A | 10,407,724 | Present in current bundle |
| V5 | 0x003fb8428777cDFED5de367519818D4240b08A12 | 10,608,789 | Not present in the current bundle |
The addresses and launch floors come from Hartii's committed factory registry and the current Quainance Trade Zone bundle (checked 2026-10-17). Quainance validates factory and implementation bytecode, so adding V5 requires registering and verifying its factory and implementation on the Quainance side; adding its address to a Hartii page alone cannot change Quainance's listing. The Hartii feed above already includes launches from all four deployed generations.
Quainance-launched catalog
To list tokens launched on Quainance rather than Hartii, request
/api/tokens?venue=quainance&sort=new&limit=100&cursor=0. The Labs indexer discovers launches from
Quainance's original and revenue launchers, tags them venue: "quainance", records market
history, graduation pools and candles, and exposes those rows through the same API. The venue is
not a Hartii contract and HartiiLabs takes no fee or custody for trades routed there. See the
indexer reference for scan, provenance and candle
repair behavior, plus the buy and sell guide for the visitor's
Quainance token page and chart behavior.