Hartii developer docs

HartiiLabs

Hartii Boost (beta)

Hartii Boost lets anyone pay QUAI to put an indexed Hartii Labs token in the Promoted row on the home page, trending and the /boost board. You buy points, not tokens: points rank a token in the Promoted row and fade to zero over 24 hours.

Live at hartiilabs.com/boost — explicit beta: covered by the project's own test suite, an Orchard rehearsal and an internal review, not an independent audit.

What you get — and what you don't

  • Promoted placement only. The Promoted row is a separate, clearly labelled row. Boost never changes a token's organic rank, trending score or any Hartii analytics number.
  • Paid, not earned. A large buyer can always buy the top Promoted slot; that is the mechanism, not a quality signal. Boost is no endorsement, no guarantee of attention, volume or price, and says nothing about a token's safety.
  • No refunds. A purchase is final. Moderation can still hide a token (and its Promoted slot) after you paid — hidden or unindexed tokens never appear in Boost results.

Packages and price

PackagePointsPrice at the current on-chain price
1105 QUAI
23015 QUAI
35025 QUAI
410050 QUAI
5500250 QUAI

Price = points × pricePerPoint (currently 0.5 QUAI per point), plus network gas. The page reads packages and the quote from the contract live; the table above is the launch default.

Owner settingHard cap in code
pricePerPointMAX_PRICE_PER_POINT = 10 QUAI
Number of packagesMAX_PACKAGES = 8
Points per packageMAX_POINTS = 5,000

How ranking works

  • Each purchase adds points × (86,400 − age in seconds) / 86,400 — it decays linearly from full value to zero over 24 hours from its on-chain timestamp. No expiry transaction is needed.
  • A token's Promoted score is the sum over its active purchases. Ties go to the most recent purchase, then address.
  • A confirmed purchase appears after the indexer passes it: it waits 20 blocks for finality and usually lands within about a minute.

Paying

  1. Open /boost or a token page's Boost panel, pick an indexed token and a package, and tick the acknowledgement.
  2. The app re-reads the live quote, estimates gas, checks your balance, then asks your wallet (Pelagus or Blip) to sign boost(token, points) sending exactly the quoted QUAI.
  3. The receipt is checked for the matching Boosted event before the purchase shows as confirmed.

If the price drops between quote and mining, the surplus is refunded in the same transaction. If it rises, the transaction reverts (network gas is still spent). If your wallet cannot receive the surplus, it becomes a refund credit you can withdraw with withdrawRefund(to).

If the page reloads or the connection drops mid-payment, the panel stays locked until you check the receipt (known hash) or confirm in your wallet/explorer that nothing was sent — so you can't pay twice by accident. Never resubmit a payment blindly.

Contract

NetworkQuai Cyprus-1 (chain id 9)
HartiiBoost0x00445cdaaF747F164bFC9e474e16881b52DA478c
Deploy block10456176
Owner / fee recipientHartii admin treasury 0x00606Ee2fF3A26B20213906a41aa8CAfCB251237
solidity
function quote(uint256 points) external view returns (uint256);   // exact price in wei
function packages() external view returns (uint256[] memory);
function boost(address token, uint256 points) external payable;    // msg.value >= quote(points)
function withdrawRefund(address payable to) external;              // buyer's failed-surplus credit
function withdrawFees(address payable to) external;                // recipient's failed-push credit
event Boosted(address indexed token, address indexed buyer, uint256 points, uint256 paid, uint256 at);
  • Solidity 0.8.20, no imports, no proxy, no rescue or arbitrary-call function; reentrancy lock on every write; two-step ownership.
  • Payment to the treasury is pushed with 30,000 gas; if that push fails, it is credited to that recipient's pendingFees instead of blocking your purchase.
  • pause() stops new purchases only — quotes and both withdrawals keep working.
  • The contract does not check which token you boost; the app and every API only show indexed, visible tokens. Boosting anything else directly on-chain is a non-refundable no-op for placement.

API

All JSON, CORS-enabled, cached about five seconds. An outage returns HTTP 503 rather than an empty list. limit is 1–100; follow nextOffset to page.

EndpointReturns
GET /api/boosts/active?limit=&offset=Ranked Promoted tokens: metadata, active points, latest purchase and expiry
GET /api/boosts/recent?limit=&offset=Latest visible purchases: token, buyer, points, paid wei, tx hash, block
GET /api/token/:address/boostsOne token's active points, purchase history and decay inputs (404 if hidden/unindexed)
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.