Hartii developer docs

HartiiLabs

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.

js
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:

text
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, and venuePool after its launcher emits Graduated.
  • 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 bucketStart and decimal-string open, high, low, close and volumeQuai. The indexer stores 1m, 5m, 15m, 1h, 4h and 1d candles 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 503 responses and only move to the next page when the previous response supplied nextCursor.

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:

solidity
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.

GenerationFactoryStart blockCurrent Quainance Trade Zone support
V10x001AF1BbB40807fcb99C9Eeaa49dF5E91e7Efd428,872,955Present in current bundle
V30x00249722868732Ee678b88Db668EAf7cC75Ae12A10,356,575Present in current bundle
V40x005566187b52313e03978C2caF4BE1a0A88eb90A10,407,724Present in current bundle
V50x003fb8428777cDFED5de367519818D4240b08A1210,608,789Not 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.

Quai Network mainnet · chain 9 · Cyprus-1. Figures marked "read on" a date were read from the chain that day; re-read before relying on them.