ARBSTOCK Real world assets on Arbitrum

How ARBSTOCK works

Every coin on ARBSTOCK is created the same way, in one transaction, by the same contract. Once that transaction lands, neither the creator nor we can change the supply, the liquidity or the fee split — so it is worth reading once.

What a launch is

Creating a coin mints a fixed supply of 100,000,000 tokens and puts every single one of them into a new Uniswap liquidity pool, paired against the asset the creator chose. There is no team allocation, no vesting, no treasury and no airdrop.

That means circulating supply at launch is zero. Every token that anyone will ever hold has to be bought out of the pool at a price the pool sets. The creator has no bag to dump, because the creator was never given one.

Supply
100,000,000fixed, no mint function
Into the pool
100%single-sided
Circulating at launch
0before the first buy
Creator pre-buy cap
5%optional, same transaction

The one exception is the pre-buy. In the same transaction that creates the pool, a creator may buy up to 5,000,000 tokens — 5% of supply — at the opening price, paying for them with the pair asset like anybody else. It is capped by the contract and it is shown on the coin’s page, so you can always see whether a creator took it and how much.

Creating a coin is a single transaction that deploys the contract, opens the pool, seeds it and locks the position, so it is not a cheap one — budget roughly 6.6 million gas. Everything after it (buying, selling, claiming fees) costs what an ordinary swap costs.

The coin contract itself has no owner once it exists: no mint, no burn-from, no pause, no blacklist, no transfer tax. Its name, ticker, image and links are written on-chain at creation and cannot be edited afterwards.

The price range

The pool is a concentrated-liquidity pool, so the supply is not spread evenly across every possible price. It sits inside one range, and the opening price is exactly the top of that range.

A coin therefore opens at roughly $4,000 fully diluted, and the range reaches up to about $1,000,000,000 fully diluted before the pool has no coins left to sell — a span of about 250,000×. Buying walks the price up that range; selling walks it back down.

Opens at
~$4,000fully diluted
Range ceiling
~$1Bwhere the pool runs out of coins
Span
250,000×124,300 ticks
Pool fee
1%every trade, both directions

The contract requires the opening price to equal the top of the range to the tick, not merely to sit at or above it. Above a concentrated range there is no liquidity at all, and a pool with no liquidity lets the price travel through that region for nothing — so a launch that started above its own range would advertise one valuation and trade at another. Refusing anything but exact equality is what makes the opening number on a coin’s page real.

Why the LP cannot move

The liquidity position is not burned to a dead address and it is not held by us. It is transferred, during the launch transaction, to a contract that exists only to hold it and collect its income.

What makes that a lock is not a feature the contract has. It is the list of functions the contract does not have:

transferFromThe position cannot be sent anywhere, by anyone, ever.
approveNobody can be given permission to move it later.
decreaseLiquidityThe liquidity itself can never be pulled back out of the pool.
ownerThere is no admin, so there is no admin to compromise or bribe.
upgradeToIt is not a proxy. The code it launched with is the code forever.

In a concentrated-liquidity pool the deposited tokens only become withdrawable by calling decreaseLiquidity. A contract that never implements it cannot release the principal — not for the creator, not for us, not for anyone who ever finds a key. The only value that can leave is fee income, and only to the two addresses recorded at launch.

Ten thousand years, and then still locked

Every launch locks its liquidity for more than ten thousand years. When those ten thousand years have passed, the position still cannot be released. The lock contract has no function that releases it, and no owner who could ever be given one — not on that date, not on any date after it. The timer is not what holds the liquidity; the absence of a way out is. Locked permanently.

The date is there so you do not have to take that on trust or read Solidity to check it. When a position arrives the contract records lockedUntil(tokenId), ten thousand years out, alongside isPermanentlyLocked(tokenId). Either can be called from a block explorer in a few seconds.

Be clear about what that date is and is not. Nothing in the contract consults it, because there is no release function for it to gate — delete every date and the lock would be exactly as strong. A conventional timelock, one that really opens when its clock runs out, would be weaker than this: it would mean a way out exists and is merely waiting. Here there is no way out to wait for. There is no setter either, so the date cannot be brought forward.

Fees and who gets them

Every trade pays a 1% fee to the pool, and that fee accrues to the locked position in both currencies — some in the pair asset, some in the coin itself. The two sides are treated differently:

  • The pair-asset side (WETH, USDC, whatever the coin is paired against) is split 60% to ARBSTOCK, 40% to the creator. The percentages are constants in the contract; there is no setter for them.
  • The coin’s own side is burned, sent to the dead address. Paying a platform in thousands of different launch tokens would be worthless dust, and selling them would be direct sell pressure aimed at that coin’s own holders.

You are paid in the pair asset, not in ETH. That is what the pool holds, so a USDC-paired coin pays USDC and a WETH-paired coin pays WETH — wrapped ETH, which your wallet lists on its own line. If you claim and your ETH number does not move, this is why; the money is there under a different name. My coins shows the amount and offers to unwrap it back to ETH in one click.

The contract pays a token rather than sending ETH on purpose. A creator address that rejected an incoming transfer would otherwise be able to make the 60/40 split revert for everyone involved, so the payout is an ERC-20 transfer and the last step is left to you.

Claiming is permissionless: anyone can trigger a collection, because the contract can only ever pay the platform and the recorded creator. In practice a creator claiming their 40% settles our 60% in the same transaction, which is why there is no keeper and no queue.

If a payout cannot be delivered — a creator address that rejects the token, say — the amount is credited to them inside the contract rather than reverting the whole claim, and they can withdraw it themselves later. One bad recipient cannot block the other.

What the platform share buys

The team uses 90% of the platform’s fee income to buy back the ARBSTOCK token on the open market. The platform takes 60% of the pair-asset side of every trade, so across every coin on the site the arithmetic is:

Pool fee
1%every trade, both directions
To the platform
60%of the pair-asset side
Spent on buybacks
90%of the platform share
Net buy pressure
0.54%of all pair-asset volume

The remaining 10% pays for what it costs to run the site — RPC, hosting and the image service. Fees arrive in whatever each coin is paired against, so a buyback is two steps: the team swaps the collected WETH, USDC, ARB and the rest into the token, through the same aggregator the trade panel uses.

Two things worth being exact about, because the difference decides how much you have to trust anyone:

  • The 60/40 split is a constant in the contract. It has no setter. Nobody can change where the fee goes, including us.
  • The 90% buyback is something the team does, not something the code does. The treasury is an ordinary address, not an escrow with rules in it. What makes the commitment checkable is that the address is public: 0x18b0C4750f6Bb98337e034FC4cfE5938753FECb8. Every fee that lands there and every swap that leaves it is on chain, so the ratio can be measured by anyone rather than taken on our word.

How to check it yourself. Two numbers, both public. Add up the Split events the fee lock has emitted, which is every fee the platform has ever been paid; then add up what has left the treasury to buy the token. The second should be 90% of the first. Neither number comes from us — they are on chain, and they are the only thing this commitment can be judged on.

The token is not live yet. Until it is, the platform share simply accumulates at that address, where it can be counted. The ticker, the contract address and how often buybacks run will be published here.

If Uniswap gauges the pool

The pool lives on Uniswap, and Uniswap is a vote-escrow exchange: its governance can attach a gauge to any pool, which routes that pool’s trading fees to PHAR voters. This can happen to a ARBSTOCK pool without our involvement and without the creator’s consent.

A gauged pool earns PHAR emissions instead. The lock contract claims those and splits them on the same 60/40 terms; how much arrives depends on how the pool is voted. A gauged coin shows a Gauged marker on its page and in the creator’s wallet, and the claim button switches to PHAR.

The liquidity is untouched either way. A gauge decides where a pool’s income goes. It does not reach the position, which stays locked exactly as it was.

Nothing can redirect the fees

On some exchanges it can. A vote-escrow DEX lets its governance attach a gauge to a pool, after which that pool’s trading fees go to the token holders who voted for it rather than to the position that provided the liquidity — without the creator’s involvement or consent. ARBSTOCK runs on one such exchange, on another chain, and says so there.

Uniswap is a plain concentrated-liquidity exchange. It has no governance token, no gauges and no mechanism that can send a pool’s fees anywhere but to the position that earned them. What the pool earns, the locked position earns, and the split below is the whole of it.

One thing does come off the top, and it is not ours: the exchange keeps a share of every swap fee as a protocol fee. On Uniswap that share is one sixth, so of a 1% trade the position receives about 0.833%. Measured, not quoted — every 1% pool Arbitrum’s Uniswap factory has opened reads back feeProtocol 0x66, so 5/6 of the fee reaches the locked position and the rest goes to the exchange.

Pair assets

A coin can be paired against any ERC-20 on Arbitrum that ARBSTOCK has added to its whitelist. The whitelist is governed by the platform, not open to the public: an asset with no real liquidity of its own would make every valuation derived from it meaningless.

Whitelisted assets come in two tiers, and the difference is whether a Chainlink price feed for that asset exists on Arbitrum:

Feed

Priced assets

WETH, USDC, USDT0, WBTC, ARB and others with a Chainlink USD feed. The contract reads the feed at launch, rejects a price older than 25 hours, and enforces the valuation band below. Every dollar figure shown for these coins is derived on-chain.

No feed

Unpriced assets

Most Arbitrum tokens have no oracle anywhere. These can still be paired against, and you still set the opening valuation in dollars — the rate comes from what Arbitrum DEXes actually price the asset at, read through the same aggregator that routes trades. Every figure derived that way is marked est.

What changes is the check, not the currency: a DEX price is exactly the thing somebody with enough money can move, so the contract will not accept one as the input to its anti-honeypot guard. The $3,000–$10,000 band is not applied to a pair with no feed.

Tokenized stocks

Three are listed — rAAPL (Apple), rHOOD (Robinhood) and rSPCX (SpaceX), the Reality Tokenized equities. They sit in the Stocks category on the launch form and can be paired against like anything else.

Three, and not the couple of dozen tokenized equities that exist, because a pair asset has to clear the same bar every other entry on this list cleared: real depth on Arbitrum. These three each hold about $100,000 against USDC. The others have no Uniswap pool at all — not a thin one, none — and a coin launched against an asset nobody can buy is unsellable from the moment it opens, however good the coin is. The list grows when the pools do, not before.

None of the three has a price feed, which matters for one thing only and is covered directly below: the opening valuation is set in the pair asset rather than in dollars, and the contract’s dollar band does not apply.

Every ARBSTOCK coin opens at about $4,000 with a ceiling near $1B. That is not a setting: a launchpad where creators pick their own opening number mostly gets used to open high, and then a buyer's first job is deciding whether the valuation in front of them means anything. Fixing it means the only thing separating one coin from another is what happens after it opens.

The contract enforces that choice rather than merely bracketing it: for a pair with a price feed it requires the opening fully-diluted valuation to land between $3,000 and $10,000. It is a range and not a single number because two things move underneath a launch — ticks are aligned, so the reachable valuations sit a step apart (about 1% on Arbitrum, about 2% where the fee tier is spaced wider), and the oracle can update between a price being quoted and the transaction landing. A single value would reject honest launches for arithmetic reasons.

A pair with no feed has no dollar anchor, so the check is skipped for it entirely. There is nothing on chain to compare a valuation against, and no rule the contract could apply would change that.

Six of the twenty-two listed pairs are in that category — PHAR, sAVAX, KIMBO, YAK, PNG and SPELL, the six with no Chainlink feed published on Arbitrum. The other sixteen are checked on chain — gold (XAUt0) among them, against Chainlink’s XAU/USD.

Most of the twenty-one listed pairs are in that category here, and the reason is worth stating plainly: HyperEVM has no Chainlink, so the priced pairs are the ones with a deep, actively traded HyperCore spot market to read — WHYPE, USDT0 and UETH. A HyperCore market that nobody trades keeps reporting its last price forever and the chain cannot tell the difference, so an asset is listed unpriced rather than given a feed that looks healthy and is not.

Fifteen of the thirty-two listed pairs are in that category here. Not for want of an oracle — Chainlink is deployed on Arbitrum and seventeen pairs are checked against it, including WETH, USDC, WBTC and ARB. The rest are the ones with no honest dollar feed published on this chain, and that includes all three tokenized stocks: Chainlink publishes no equity feeds here, and rSPCX is SpaceX, a private company with no public share price to feed at all.

Thirteen of the thirty listed pairs are in that category here, and unlike BNB Chain’s reputation would suggest it is not for want of an oracle: Chainlink is deployed on this chain and seventeen pairs are checked against it. The thirteen are the ones with no honest dollar feed — all ten tokenized stocks, plus USD1 and FLOKI, which have none at all.

The thirteenth is the one worth knowing about. TWT has a live Chainlink aggregator and it is still listed unpriced, because that aggregator publishes TWT / BNB — the price of TWT in BNB, not in dollars. It answers, it is fresh, and it has exactly the shape a dollar feed has. Read as one it would value a $0.56 token at $0.0008 and the launch band would quietly stop meaning anything. A feed is only a dollar feed if it says so, and this platform checks that it does.

One more detail decided by the contract rather than the creator: the coin’s address is mined so that it always sorts above the pair asset. The pool then only ever has to be reasoned about in one direction, which removes an entire class of silently-wrong maths.

The coin’s picture

Choose a file from your phone or computer. The browser shrinks it to 512×512 and re-encodes it before anything leaves the page — which also strips the EXIF data a phone camera attaches, so the coordinates of where you took the photo are not published along with your coin.

What is written on-chain is an IPFS CID: the identifier IPFS itself would give those exact bytes. ARBSTOCK serves the picture, which is why it appears instantly and needs no gateway — but the reference is not a link to ARBSTOCK. If this site were ever replaced, anyone holding the file could pin it and every coin’s picture would resolve again. Launchpads that store an id from their own database instead lose every image the day they shut down.

A CID is a name, not a promise of storage. It says what the bytes are, so anybody holding them can prove they are the right ones — it does not make them exist somewhere forever. The picture stays reachable while somebody keeps a copy: ARBSTOCK does while it runs, and after that only if you or someone else has pinned it. If a coin’s image matters to you, pin the file yourself; it costs nothing and it is the only version of this that does not depend on us.

PNG, JPEG, GIF and WebP. SVG is refused: it is a document that can carry scripts, and a coin image is not a place to accept those. If you already pinned an image yourself, you can paste its CID instead of choosing a file.

Buying with ETH

A coin trades in exactly one pool, against exactly one pair asset. Most people arriving at a coin hold ETH and nothing else, so the trade panel takes ETH as well — and works out how to get it there.

Where Uniswap has a pool deep enough to route through, that is the whole story: the router wraps your ETH and swaps it, in one transaction with no approval. Today that covers coins paired with WETH, USDC, WBTC, ARB and USDT0 — but it is decided by a live quote, not a list, so it follows the market rather than lagging it.

For every other pair asset Uniswap has no usable ETH route — several have no pool at all, and a couple have one holding a few hundred dollars, which is worse than none because a trade through it does not fail, it just fills badly. There, the panel buys the pair asset through KyberSwap, which routes across every Arbitrum exchange, and then buys the coin on Uniswap. That is two confirmations, and the panel says so before you start.

Both routes are priced every time you type an amount, and whichever actually delivers more of the coin is the one used. The single-transaction route wins ties, because a signature is worth more than a fraction of a percent.

You never grant KyberSwap an allowance: the leg it performs is paid in ETH itself, which is not a token and cannot be spent by anyone on your behalf. Its contract address is pinned in this site’s code and checked before anything is signed. And the amount bought on Uniswap is taken from what actually arrived in your wallet, never from what the quote predicted.

If you stop between the two, you are holding the pair asset — not a loss, and not a stuck transaction. Switch Pay with to that asset and the buy finishes.

Contracts

Four contracts, all non-upgradeable, deployed once on each network. Every network runs its own set; the addresses for each one are listed below, each linked to its block explorer.

  • Factory — deploys the coin, creates the pool, seeds the liquidity, hands the position to the lock and runs the optional pre-buy, in one transaction.
  • Coin — fixed supply, no owner, no mint, no tax.
  • Fee lock — holds the position forever and splits its income 60/40.
  • Pair registry — the whitelist of assets a launch may pair against, and each one’s price feed if it has one.
Not yet deployed

ARBSTOCK has no contracts on Arbitrum mainnet. Verified addresses and source links appear here once it does, and the contracts are meaningless to trust until you can read them at a real address.

What the lock promises

Exactly one thing: the liquidity stays in the pool, and fee income is split the way this page says. Everything else about a coin — whether it turns out to be worth anything — belongs to the market, and the rest of this page is here so you can weigh that with the mechanics in front of you.