apiton blog
Where a username, number or domain price comes from
When apiton.org shows "for sale — 1,250 💎" or "auction, bid 99.5 💎", the number is not typed in by anyone at apiton. It is read from one of three sources, and knowing which one tells you how far to trust it and how to buy.
1. An auction inside the NFT
Telegram usernames and +888 numbers are telemint NFTs: the auction logic lives in the item
contract itself. When an item is on auction, two get-methods on the NFT answer everything:
get_telemint_auction_config— beneficiary, starting minimum bid, "buy now" maximum, minimum bid step (percent), extension time and duration;get_telemint_auction_state— the last bid (amount, bidder, time), the next minimum bid and the end time.
This is the most direct source: the contract that will transfer the NFT is the one you read. On apiton it appears as On auction with the current bid and the end time. Details of the bidding rules are in What anonymous +888 numbers are.
.ton domains have their own auction in the DNS item (used for new names and for expired ones —
see How .ton domains expire).
2. A fixed-price sale contract
To sell at a fixed price on-chain, the owner transfers the NFT to a sale contract deployed by a
marketplace. The contract holds the NFT and releases it to whoever sends the full price; the
seller, the price and the fees are stored in the contract and readable with a get-method
(get_sale_data, or get_fix_price_data_v4 for the newest contract version).
Two consequences:
- While listed, the NFT's owner on-chain is the sale contract, not the seller. apiton reads the contract and shows the seller as the owner, with the contract address alongside.
- Some sale contracts are priced in a jetton such as USD₮ instead of TON. apiton then shows the price in that currency, not converted.
This is also an authoritative source: the price shown is exactly what the contract will accept.
3. An off-chain Fragment listing
Fragment lets owners of numbers and usernames list them without moving the NFT: the item stays
in the owner's wallet and Fragment brokers the deal. There is nothing on-chain to read, so apiton
takes the asking price from the public Fragment page and labels it "per fragment.com" (in the
API: price_source: "fragment").
Treat these prices as an indication: they depend on the page being up to date, and the purchase happens on Fragment.
How apiton decides
For each item, apiton tries the sources in order:
- an auction in the NFT itself;
- if the owner is a sale contract — the price in that contract;
- for numbers and usernames only — the Fragment page.
Only when all three come back empty is the item Not listed. On-chain reads use liteservers (the network's own nodes), not a third-party index, so the result reflects the current blockchain state at the time of the read.
Freshness
Prices on apiton.org hubs come from the catalog, which re-reads items in the background; item pages add a live read. What the statuses mean explains the timing. Before you pay, open the item in @apitonBot — the card is a live read — and watch it to be told when the price changes.
Browse current prices: usernames for sale, numbers for sale, domains for sale.