Twenty-five currencies, onchain
Every market on Pips is quoted in a currency token. Start there.
- USDpUS Dollar
- EURpEuro
- JPYpJapanese Yen
- GBPpBritish Pound
- CNYpChinese Yuan
- CHFpSwiss Franc
- AUDpAustralian Dollar
- CADpCanadian Dollar
- NZDpNew Zealand Dollar
- INRpIndian Rupee
- RUBpRussian Ruble
- KRWpSouth Korean Won
- HKDpHong Kong Dollar
- AEDpUAE Dirham
- ILSpIsraeli Shekel
- TRYpTurkish Lira
- SEKpSwedish Krona
- MXNpMexican Peso
- BRLpBrazilian Real
- ARSpArgentine Peso
- ZARpSouth African Rand
- THBpThai Baht
- VNDpVietnamese Dong
- LBPpLebanese Pound
- ZWLpZimbabwean Dollar
- open slot
The list is read from the chain. A currency listed tomorrow appears here without a new build.
The dollar is the unit everything else is priced in, so USDp sits 1:1 with USDG, a dollar token. Every other currency token follows its real exchange rate, published on chain and kept by its own peg.
When you launch a token here, you pick one. From then on your token and that currency token share one pool: buyers pay with it, your price and market cap show in it, the reserve behind your token is made of it, and your share of every trade arrives in it. A creator who launched against EURp earns euros.
- buys pay in it
- price is quoted in it
- market cap shows in it
- the reserve is made of it
- the 1% tax is taken in it
- the creator is paid in it
How a currency holds its rate
One contract holds all the liquidity and keeps it around the live rate.
A channel is a pool with one liquidity provider: the channel itself. It keeps two ranges either side of the live rate: an ask of currency tokens just above it, and a bid of USDG just below it. Buy, and you fill on the ask. Sell, and you fill on the bid. Either way you trade within a fraction of a percent of the real exchange rate.
10 · 20 ticksThe deploy geometry: each side starts 10 ticks from the rate and spans 20, so the whole inventory sits within about 0.3% of it. On every reprice the keeper withdraws both sides, walks the empty pool to the new rate, and re-places them.
When the rate moves, the keeper moves both sides with it. The pool address stays the same, so the token is always tradeable at one address.
- liquidity provider
- the channel
- ask
- currency tokens, 0.10% to 0.30% above the rate
- bid
- USDG, 0.10% to 0.30% below the rate
- repriced
- by the keeper as the rate moves
- pool address
- always the same
| Event | Currency tokens | USDG |
|---|---|---|
| Someone buys | leave the ask into their wallet | enter the channel, deepening the bid |
| Someone sells | return to the channel, back into the ask | leave the bid into their wallet |
| The rate rises | the same ask, placed higher | the same bid, placed higher |
| The rate falls | the same ask, placed lower | the same bid, placed lower |
Live rates, published on chain
A keeper publishes every rate on chain, and every channel reads it.
Every rate on Pips is written on chain by a keeper: a small script that reads a live rates table, spots what moved, and pushes it into QuoteFeed, the on-chain feed every channel reads. Every push is a public transaction, and the quotes page lists each one with its time and hash.
- 60 sread the rates
one request for the whole rates table, every minute; the dollar is pinned at exactly one
- 0.05% · 15 mindecide what to write
a rate is written when it has moved, or when it is due a routine refresh
- 25.5k gas / assetpush one batch
every currency that moved goes into a single transaction
- 0.10%reprice what moved
a channel is moved once the rate has walked far enough from where it last placed its two sides
measuredPushing fifty rates in one batch costs about 25,500 gas each. Batching is what makes twenty-five currencies affordable to keep fresh.
The keeper checks rates every minute and writes when a currency has moved, or when a rate is due a routine refresh. Everything that moved goes into one batched transaction, which is what makes twenty-five currencies cheap to keep current.
Launching against one
One signature, and a market that is open the moment it confirms.
A launch is a single transaction. The form asks for seven things, and the chain does the rest:
- Name and ticker. What shows in launches and in wallets. Each name-and-ticker pair is yours alone on Pips.
- One line about it. Optional, stored on chain with the token.
- An image. Optional. Paste a link, or upload a file and it is stored on chain inside the token itself, so it lives with the token for good.
- A website and an X link. Optional, stored on chain alongside the image.
- The currency it’s quoted in. Any listed currency token.
- Your cut of the supply. 0 to 10% of the billion, sent to your wallet before the market opens. Everything else goes in the pool for people to buy.
- The opening market cap. The same for every launch. The form shows it, and the opening price it implies in your currency, so you see exactly what you are signing.
- 1 txyou sign once
one transaction carries your choices: the currency, the name, the keep
- 1,000,000,000the supply exists
every token is minted in the same moment through the chain's token factory, once and in full
- 0 to 10%your keep leaves first
whatever share you chose lands in your wallet before the market opens
- $4,000the pool opens
the rest of the supply is placed single-sided in a pool against the currency token, priced so the whole billion is worth the standard opening cap
- foreverthe liquidity is locked
the pool's position goes into the locker for good, with your address registered to receive your half of every trade tax
if any step failsthe whole launch cancels itself. There is no half-launched state.
You bring no capital. The pool opens holding your tokens, priced so the whole billion is worth $4,000. The first currency tokens in the market come from buyers, and from then on the reserve behind your token grows with every buy.
Priced in dollars, quoted in the currency
Your opening cap is set in dollars. Everything after that reads in the currency you chose.
A currency token’s own dollar price is read live from its channel. At launch the app takes that number and sets your opening price so that all 1,000,000,000 tokens together are worth $4,000, whether one unit of your currency is worth a dollar and change or a fraction of a cent. Every launch starts on the same footing, and a token quoted in yen opens at a price with several more digits in it than one quoted in pounds, for the same reason a coffee does.
the same for every launch
minted once, in full
read from the currency's own channel
set by trading in your market, the way any price is
from the channel, refreshed every ten seconds on the site
and, times a billion, the dollar market cap
two numbersEvery token page shows the price in its currency and what that is in dollars right now. Both can move: your token against the currency, and the currency against the dollar.
After that, your token’s price and market cap are quoted in the currency token from the first trade on: so many EURp per token, so many EURp of market cap. The dollar figure next to it is the same number times the currency’s live rate. Both can move: your token against the currency, and the currency against the dollar.
Every trade pays 1%
Flat, in the currency token, split in half the moment it is paid. Half of it is the creator's, for as long as the token trades.
Buying a token here means paying currency tokens into its pool. Selling brings them back out. The pool charges no liquidity fee; instead every trade, buy or sell, pays 1% in the currency token.
Always in the currency token, never in the launched token. Taken by the pool’s hook in the same moment the trade happens and paid out in the same transaction: no claiming, no dashboard, no way to redirect it.
| Who | Gets |
|---|---|
| Creator | Up to 10% of the tokens at launch, plus half of every 1% trade tax, in the currency token |
| Launchpad | The other half of every trade tax |
| Holders | A market whose liquidity stays locked, always |
The creator’s half is paid by the pool in the same transaction as the trade: nothing to claim, no dashboard to visit. The dashboard simply shows what has arrived, in the currency each token is quoted in.
6.1Getting out
Selling is a plain swap: your token back into the currency token, in the same block you sign. The currency token then trades against USDG in its own channel, so a position can be walked all the way back to dollars in two swaps, and you can stop at the currency if that is what you wanted.
- your tokenwhat you hold
- its launch poolone swap, 1% tax in the currency token
- the currency tokenEURp, JPYp, whichever it was quoted in
- the currency's channelone swap against the bid, at the live rate
- USDGa dollar token, in your wallet
the second hopBoth hops are plain swaps that settle in the block you sign them.
Liquidity that stays
Locked at launch, and it stays that way.
Every launch position goes into a locker the moment the pool opens, and it stays there for the life of the token. The reserve only ever moves through trades.
A creator keeps at most 10% of the supply, so the overwhelming share of every token sits in the locked market from day one. The exact number a creator kept is public on every token's page.
The 1% tax, the 50/50 split and the payout wallets are fixed when the pool opens, so every token keeps trading and paying out exactly the way it launched.
A currency added later is launchable straight away, and every token already launched keeps trading exactly as before.
Under all of this sits Uniswap v4’s audited infrastructure and the chain’s own token factory and launcher. Pips’ own contracts are small, source-verified on the chain explorer, and open for anyone to read.
Key numbers
The whole product on one plate.
- token supply
- 1,000,000,000, minted once
- quoted in
- any listed currency token, 25 as shipped
- opening market cap
- $4,000, every launch
- creator keep
- 0 to 10% of supply
- liquidity fee
- 0%
- trade tax
- 1% per trade, in the currency token
- tax split
- 50 / 50 creator / launchpad, automatic
- liquidity lock
- permanent
- peg geometry
- spread 10 ticks, width 20, within 0.3% of the rate
- reprice threshold
- 0.10% move
- dollar token
- USDp, pinned 1:1 to USDG
- chain
- Robinhood Chain
The currency tokens
Every token a launch can be quoted in, with its live rate and where it lives.
| Token | Currency | Rate | Updated | Address |
|---|---|---|---|---|
USDp | US Dollar | — | set by deployment | set by deployment |
EURp | Euro | — | set by deployment | set by deployment |
JPYp | Japanese Yen | — | set by deployment | set by deployment |
GBPp | British Pound | — | set by deployment | set by deployment |
CNYp | Chinese Yuan | — | set by deployment | set by deployment |
CHFp | Swiss Franc | — | set by deployment | set by deployment |
AUDp | Australian Dollar | — | set by deployment | set by deployment |
CADp | Canadian Dollar | — | set by deployment | set by deployment |
NZDp | New Zealand Dollar | — | set by deployment | set by deployment |
INRp | Indian Rupee | — | set by deployment | set by deployment |
RUBp | Russian Ruble | — | set by deployment | set by deployment |
KRWp | South Korean Won | — | set by deployment | set by deployment |
HKDp | Hong Kong Dollar | — | set by deployment | set by deployment |
AEDp | UAE Dirham | — | set by deployment | set by deployment |
ILSp | Israeli Shekel | — | set by deployment | set by deployment |
TRYp | Turkish Lira | — | set by deployment | set by deployment |
SEKp | Swedish Krona | — | set by deployment | set by deployment |
MXNp | Mexican Peso | — | set by deployment | set by deployment |
BRLp | Brazilian Real | — | set by deployment | set by deployment |
ARSp | Argentine Peso | — | set by deployment | set by deployment |
ZARp | South African Rand | — | set by deployment | set by deployment |
THBp | Thai Baht | — | set by deployment | set by deployment |
VNDp | Vietnamese Dong | — | set by deployment | set by deployment |
LBPp | Lebanese Pound | — | set by deployment | set by deployment |
ZWLp | Zimbabwean Dollar | — | set by deployment | set by deployment |
The rate is the currency’s USD reference as last published by the keeper, and the time is how long ago that was.
The contracts
What each one does, and where this deployment's copies live.
| Contract | Role | Address |
|---|---|---|
LaunchpadRouter | launch entrypoint | set by deployment |
LaunchTaxHook | the 1% tax | set by deployment |
QuoteRegistry | the currency list | set by deployment |
QuoteFeed | the rates | set by deployment |
PoolManager | Uniswap v4 | 0x8366a39CC670B4001A1121B8F6A443A643e40951 |
LiquidityLauncher | the chain's launcher | 0x0000FffFBE8efE702c8703aE3477FF5dE3d319C0 |
UERC20Factory | the chain's token factory | 0x000000e200088D55C39a11F609E5F667729ad49b |
Every currency’s own token and channel address is in appendix B and on the quotes page. The whole set is source-verified on the explorer, and the ten contracts below are the entire protocol.
| Contract | What it does |
|---|---|
QuoteFeed | The on-chain price feed every channel reads. |
QuoteChannel | The peg: an ask above the rate, a bid below, moved by the keeper. One per currency. |
QuoteToken | The ERC-20 for one currency, minted once. |
QuoteRegistry | The list of currencies a launch can be quoted in, and each one's art. |
QuoteFactory | Ticker list in, quote tokens and channels out. |
PegMath | A USD rate to a pool price to a tick, in both currency orderings. |
LaunchpadStrategyQ | The launch: mints the supply, pays the keep, opens the pool, locks it. |
LaunchpadRouter | The single entrypoint for a launch. |
LaunchTaxHook | 1% of every swap in the currency, split 50/50 to creator and launchpad in the same transaction. |
LaunchpadFeeLocker | Holds every launch position, permanently. |