Docs
How PIXL works
What a launch creates, where the money sits, what a trade costs, and the contracts behind it on Robinhood Chain.
Overview#
PIXL launches a coin against an NFT collection. The coin trades from its first block in two Uniswap V4 pools at once: one against ETH, and one against that collection’s reserve, an on-chain contract that holds ETH and buys real NFTs from the collection off the floor.
- Supply
- 1,000,000,000, fixed. All of it goes into the pools at launch
- Pools
- Two Uniswap V4 pools: coin/ETH and coin/collection reserve
- Liquidity
- Initial launch positions, locked permanently (scope)
- Trade fee
- 1% standard rate. Individual pools can differ (details)
- Creator share of fees
- 70% of the fee
- Custody
- Your wallet signs every transaction. Each reserve has an admin key that posts its floor price and can pause the reserve and pull its NFTs, but cannot withdraw its ETH (details)
Launching#
A launch mints a fixed-supply ERC20 and opens its pools in the same transaction. There is no bonding curve, no presale and no graduation step: the coin trades on public Uniswap V4 pools from its first block, at the address any explorer or aggregator reads.
For an NFT pair the supply is split half into the ETH pool and half into the collection pool. The creator names one opening valuation in dollars, and each pool’s opening price is derived from it and that side’s own dollar price (see pricing), so the two pools open at the same price and there is no gap for an arbitrageur to take out of the locked liquidity.
The standard token has no owner, no mint function, no burn and no pause. Nothing can be added to the supply after launch, and no key can freeze a holder’s balance, because the code to do it does not exist in the contract.
Creating a launch costs a flat 0.0005 ETH launch fee, read live from the factory, paid to the treasury, plus gas. At the contract level a single launch can open pools against up to 7 assets.
Collection reserves#
Each pairable collection has one reserve, the CollectionReserve contract. The coin’s second pool is priced in its units, and one unit is exactly one wei of ETH put in. Units are minted one-for-one against ETH, and every NFT the reserve owns was bought with that ETH, so issued units always match the capital put in.
How it buys NFTs
When the reserve holds enough ETH to buy one NFT at the posted floor and still keep its cash floor, anyone can call acquire with a listing. Three conditions must hold: the marketplace adapter is one the owner approved, the price is at or below the posted floor, and the purchase leaves the cash floor intact. The caller earns nothing; the NFT goes to the reserve. At most 5 NFTs come into a reserve per hour, bought or deposited.
Getting out
- ETH, at par.
redeemETHburns units for ETH one wei each, as far as cash on hand allows, first come first served. The purchase cash floor limits NFT spending; it does not reserve an ETH exit for every holder. - An NFT.
redeemNFTburns the reserve’s ask: the higher of the posted floor and what it paid, plus 10%, the same price as buying that item with ETH. While the floor is stale the ask still uses the last posted floor. Redemption still requires an available NFT and a successful collection transfer. Whatever an NFT fetches above what the reserve paid is swept to buy back and burn the reserve’s paired coin. - Through the pools. Selling the coin never requires touching the reserve yourself. A sell pays out through the coin’s pools, subject to liquidity and the quote.
Who sets the floor
The floor is posted by an oracle key, not read from a marketplace on chain. A drop applies at once, since a lower floor only makes the reserve pay less. A rise is limited to 25% per post and one post an hour. It goes stale after 8 hours, and purchases and NFT deposits pause until the next post. The reserve’s owner sets the oracle and the approved marketplace adapters. That is a trusted role, listed under risks.
Emergency switch
Besides choosing the oracle and the marketplace adapters, the reserve’s owner has an emergency path. Pause stops the reserve buying or taking in NFTs. Once a reserve is paused, the owner can pull its NFTs to any address, with no delay. The first NFT pulled ends that reserve’s NFT buying for good: it can never be unpaused. Every step emits an event.
No function lets the owner withdraw the reserve’s ETH. Cash only leaves through redeemETH (1:1, first come first served, while it lasts), NFT sales and redemptions, and the buyback sweep, and pausing does not block ETH redemptions. Every NFT the owner pulls was still bought with reserve ETH, and holders lose that backing, so the owner key is a trusted role.
Pairable collections (10)
| Collection | Reserve |
|---|---|
| StonkBrokersSTONK | 0x4DF0963BFc546257f0FFb2b09A159d67ec068B7DExplorer ↗ |
| Chain MancersMANCERS | 0xC065c6d601a4DB2f441BDde40C8E28269612d3D3Explorer ↗ |
| HashcatsHCAT | 0xF4E443e78D4a2c27044ef03Ce4309D68602E8faAExplorer ↗ |
| Rekt TradooorREKT | 0xE922D2f3aa248aaadA7eacbAEC598DBBFcfB325cExplorer ↗ |
| PitBoysPITBOY | 0xE7D0DD007E60B3c2c32d947D9fa910b5e8Ad3613Explorer ↗ |
| WIF OutlawsWIFO | 0xE1BB5590A582eeB3f3Bc163cc8EC2Ea0Df80e511Explorer ↗ |
| Gremlin CartelGREMLIN | 0x4bc2aB1149f6BDcC26aadD1653566d36AdcDBCb5Explorer ↗ |
| The Oil RigsOIL | 0xf4F02246fe3Ec816b6a389E83fd4fB14E75179B9Explorer ↗ |
| Script KiddiesKIDDIES | 0xA5Ad220d80997E0e47Acfdc163aC262806e00d48Explorer ↗ |
| NTRPYNTRPY | 0xf8E653B5dd8c30d0E251342bf98F3b4B0314f880Explorer ↗ |
Two pools, one price#
One coin in two pools is two markets for one asset. Left alone, every buy on the ETH pool opens a gap the collection pool does not have, and a bot closes it in the same block. The spread comes out of the buyer’s price.
So the fee hook does the split itself. On an exact-input buy in the ETH pool it routes half the trade through the collection pool and credits the coin to the buyer, inside the same swap. Sells mirror in reverse, so both pools move together. If the mirrored half cannot fill completely, the whole trade settles through the ETH pool instead of failing.
Opening prices come from the price oracle: Chainlink ETH/USD for the ETH side, and the reserve’s posted floor times ETH/USD for the collection side. A missing or stale price is refused, and the launch reverts instead of opening at a bad price.
Liquidity lock#
Each initial launch LP position is minted directly to the liquidity locker, which checks it owns the position. The locker has no transfer, no withdraw, no remove-liquidity path, no owner and no upgrade path. Nothing in the code can remove those positions. You can verify the locker bytecode at the linked address.
This lock covers the initial launch positions only. Anyone adding liquidity later may own a removable position, including a buyer-owned supply range. Check each position’s owner, range and withdrawal rights separately; a price range does not guarantee execution or timing.
The one thing the locker can do is collect, and on V4 that means removing zero liquidity from the position, which leaves it untouched. Anyone may trigger collection. Since launch pools charge no LP fee (the hook takes the trade fee instead, see fees), nothing normally accrues to the position itself.
Locker0xf5d0373F6CC5DF60AaAF7ebA3936D9D0808f3cD1Explorer ↗
Fees#
The standard trading fee is 1%, on buys and sells. Individual pools can use an override; gas is separate. At the standard rate, a trade pays 1%: 0.7% to the creator (or to buy & burn, if they chose that at launch) and 0.3% to the protocol. The PIXL flagship is planned at 2% on both pools, with the same 70% creator / 30% protocol split of fees. Confirm the pool’s rate before trading.
- Trade fee
- 1% default on every launch pool
- Charged in
- The pool’s quote asset: ETH in the ETH pool, reserve units in the collection pool
- Creator share
- 70% of the fee
- Per-pool maximum
- 5%, enforced by the hook
- Launch fee
- 0.0005 ETH, flat, to the treasury
Pools can be set higher than the default
1% is the default. The protocol’s fee admin key can set an individual pool higher, up to a hard cap of 5% that the hook enforces. Creators cannot change it. Market pages read the rate from the hook and show it as unknown when that read fails.
Why a hook and not the pool
A Uniswap pool charges its fee in whatever was paid in, so a sell would pay the fee in the coin, which then has to be sold back into the same pool, moving the price. The hook charges both sides in the quote asset instead, so the coin is never taken as a fee. That is why the pool’s own LP fee reads zero: the 1% is charged by the hook.
Where the fee goes
The creator’s share is paid to them or used to buy and burn the coin, as chosen once at launch and recorded by the locker; the rest goes to the treasury.
The planned PIXL routing splits the protocol’s 30% share of fees equally: half for flagship NFT purchases and half for flagship coin buybacks and burns. This needs the reserve and the burner configured. The status below shows what could be verified.
Current treasury wiring could not be verified. Its reserve and buyback status are unknown; retry this page later.
A failed buyback-contract read does not prove that buybacks are disabled. Verify the destination and target before relying on them.
Token contract & screening#
Creators may bring their own token contract. It is screened on chain at launch, and the factory refuses anything that is not an ERC20, delegates calls, can self-destruct, or can mint. Other findings are recorded on chain and shown to buyers on the market page.
How screening works when custom contracts are enabled: the screener reads the contract’s bytecode for mint authority, transfer taxes, blocklists, delegatecall, and functions that can destroy a balance the caller does not own. Four findings block the launch outright; the rest are recorded on chain and shown to buyers. A screen that could not be read is reported as unknown rather than clean. Screening flags known dangerous patterns. It is not an audit and cannot prove a contract safe. Supply held back from the pool for a custom launch is capped at 20% by the factory and can only go to a contract deployed in the same transaction.
Token screener0xB87857dAcdAd5D8E84a6392Ce8c75b707B295810Explorer ↗
Risks#
Transactions cannot be reversed. Tokens and NFTs can lose all their value. Nothing here is financial advice, and PIXL makes no warranties.
- The floor is a trusted input. Each reserve’s floor is posted by an oracle key. Rises are limited to 25% an hour and drops apply at once. It caps what the reserve pays for an NFT and prices NFT redemptions and opening prices. A wrong post is possible, and at most 5 NFTs an hour can come into a reserve at it.
- Reserve owners have admin powers. The owner chooses the oracle and which marketplace adapters the reserve may buy through. It runs the floor oracle, which caps what a reserve pays for an NFT. It can pause a reserve and pull all of its NFTs with no delay, which ends that reserve’s NFT buying for good, and holders lose the backing those NFTs were bought with. It has no function to withdraw the reserve’s ETH, which stays redeemable 1:1 while it lasts. Whoever holds that key is trusted with the NFTs.
- Collection owners can freeze reserve NFTs. Most Robinhood collections run a creator transfer policy. If a collection’s owner tightens it, NFTs its reserve holds may become impossible to buy, redeem or even rescue, with no action from PIXL. Reserve ETH is not affected. The keeper stops buying a collection the moment its policy, implementation or blacklist changes, but it cannot undo the change.
- Reserve cash is finite. ETH redemptions are first come, first served, up to the cash on hand. NFT redemption or a pool sale may be alternatives, subject to NFT availability, transfer rules and liquidity.
- Fees can rise per pool. The protocol can set a pool above the 1% default, up to 5%. Market pages show the verified pool rate or identify it as unknown.
- Thin pools. Trading more than a pool can absorb moves its price sharply against you. Splitting supply across two pools makes each shallower.
- Locked liquidity is not a price floor. Liquidity that cannot be withdrawn still cannot stop a price falling.
- Launches from other interfaces. The factory also accepts permissionless pairs against arbitrary tokens. Those are marked as unverified quote assets; check the pair before trading one.
- No external audit. The contracts are tested and the liquidity lock is verifiable from the bytecode, but no third-party firm has reviewed them.
Contracts#
Read live from the factory, so this list always matches the deployment. Robinhood Chain, chain id 4663. Launches recorded: 4.
| Contract | Address |
|---|---|
| Launch factoryCreates every launch and its pools | 0xE08bc0C516544999AaFfdb406d20586A33DD07DBExplorer ↗ |
| Fee hookTakes the per-pool trade fee (1% standard); mirrors ETH-pool trades | 0x32ECb34A3557e6Ae9558E08dB47c0e132EA880CcExplorer ↗ |
| Liquidity lockerHolds the initial launch LP positions permanently | 0xf5d0373F6CC5DF60AaAF7ebA3936D9D0808f3cD1Explorer ↗ |
| Treasury (fee splitter)Receives the protocol's fees | 0x060c469790d0f47b3408f7ddCd666CEF7842C683Explorer ↗ |
| Price oracleOpening prices: Chainlink ETH/USD × reserve floor | 0xe10Cc68c04F56979F1DEc783a924e1c65f5e2EE9Explorer ↗ |
| NFT quote routerRoutes trades into collection pools | Could not be read |
| Uniswap V4 PoolManagerThe singleton every pool lives in | 0x8366a39cc670b4001a1121b8f6a443a643e40951Explorer ↗ |
| Uniswap V4 PositionManagerMints the LP positions the locker holds | 0x58daec3116aae6D93017bAAea7749052E8a04fA7Explorer ↗ |
You sign every transaction from your own wallet, and PIXL never holds your funds. Each collection reserve has an admin key that posts its floor price and can pause the reserve and pull its NFTs in an emergency. It cannot withdraw the reserve's ETH. See also the Terms of Use and Privacy Policy.