Pairbase turns an idea into a tradeable asset on Robinhood Chain in one transaction: a fixed-supply token, an ETH pool, optional ETH backing with a redemption floor, and compatibility with every tool that speaks Uniswap V2.
Pairbase is a launchpad and a liquidity marketplace on Robinhood Chain, an Ethereum layer 2. It solves one problem: a brand-new asset has no market. With Pairbase, creating the asset and opening its market are the same step.
Choose Create an asset anywhere in the app. The flow has three steps.
| Field | What it does |
|---|---|
| Name and ticker | Stored on the token contract. Ticker: 1 to 16 capital letters or digits. Name: up to 64 bytes. |
| Total supply | Minted once, in full, at launch. There is no way to mint more later. |
| Description and link | Optional. Stored with the token as a small JSON document so any interface can show it. The creator can update it later; nothing else about the token can change. |
| Field | What it does |
|---|---|
| Tokens to put in the pool | The part of the supply that opens the market. The rest goes to your wallet. |
| ETH to seed | The other side of the pool. Tokens ÷ ETH sets the opening price. |
| Backed asset | Lock extra ETH in the vault as a redemption floor. See Backed assets. |
| Lock your launch liquidity | Holds your LP tokens in the launchpad contract for 30 days, 90 days, or a year. Traders can see the lock on the pool. You claim the LP tokens from Your liquidity once the lock ends. |
Review the numbers, confirm in your wallet, and one transaction does all of it: deploys the token, creates the pool, seeds both sides, locks backing if chosen, and sends the remaining supply to you. When it confirms, the pool appears on the pairing floor and is tradeable by anyone.
A plain launched token has a market price and nothing else. A backed asset also has a floor: ETH locked in the Pairbase vault that every holder can claim.
What it is not: a peg to an external price. A backed token is redeemable for ETH, not for a stock, a commodity, or a dollar. Tracking an outside price would need an oracle or a custodian, and Pairbase does not promise either.
Open any pool and use Buy or Sell. Pairbase quotes across every pool and takes the best route. Because every asset is paired with ETH, a trade between two assets is two hops through ETH in one transaction.
Choose Add on a pool. You deposit both assets in the pool's current ratio and receive LP tokens that represent your share. Every swap through the pool pays 0.30% to liquidity providers, and it accrues inside the pool, so your share is worth more when you withdraw.
| Item | Amount | Who receives it |
|---|---|---|
| Swap fee | 0.30% of every trade | Liquidity providers of that pool |
| Protocol fee | Off by default. If enabled on the factory, one sixth of the swap fee growth | Protocol fee address, visible on chain |
| Launch fee | Shown on the contracts page and before you confirm. Capped at 0.05 ETH by the contract | Launchpad owner |
| Gas | A launch is roughly 3 to 4 million gas; a swap far less. Robinhood Chain gas is a fraction of a gwei | The network |
Backed assets are redeemable for ETH. Synthetics go further: they track an external price. Lock ETH in the synth engine, mint sTSLA, sSPY, sBTC or another market, and the token's value follows the Chainlink feed for that asset. Robinhood Chain uses Chainlink as its official oracle, with live feeds for ETH, major crypto, and Robinhood's tokenized equities and ETFs.
Below the liquidation ratio, anyone can repay part or all of your debt and take ETH worth the repayment plus an 8% bonus. Partial liquidations are allowed, and a position that recovers above the ratio cannot be liquidated further. Liquidators are usually bots; the SDK ships one.
| Parameter | Default | Meaning |
|---|---|---|
| Mint ratio | 150% | Minimum collateral value ÷ debt value to mint or withdraw |
| Liquidation ratio | 125% | Below this, anyone can liquidate |
| Liquidation bonus | 8% | Extra collateral paid to the liquidator |
| Staleness bound | 25 h | Max feed age before price actions pause |
| Mint fee | 0% | Owner-settable, capped at 1%, taken in ETH |
Everything the website does is available as a JavaScript package, the same code the site runs, with ethers v6 as a peer dependency.
npm install pairbase-sdk ethers
import { loadNetworks, PairbaseClient, SynthClient, ethers } from 'pairbase-sdk';
const net = (await loadNetworks()).find(n => n.chainId === 4663);
const synth = new SynthClient(net);
const markets = await synth.loadMarkets(); // prices, ratios, ceilings, staleness
const positions = await synth.loadPositions(addr); // ratio, liquidatable, maxMintable
PairbaseClient: pools, best-route quotes and swaps, liquidity, launches, backed-asset redemption.SynthClient: markets, positions, deposit/mint/burn/withdraw, liquidation previews and calls, keeper helpers (knownUsers, scanLiquidatable).getAmountOut, bestRoute, SynthClient.capacity, SynthClient.ratioAfter) that mirrors the contracts, bigint in and out.describeError() for readable reverts.The SDK ships examples/liquidator.mjs: it scans every market for positions under the liquidation ratio and liquidates them with the synth the keeper holds, earning the 8% bonus. Run it with a funded key and some synth inventory:
PRIVATE_KEY=0x... CHAIN=4663 node sdk/examples/liquidator.mjs
Keepers are what make the system safe; anyone can run one, and several running at once is the healthy state.
Treat Pairbase as a Uniswap V2 fork. Everything below is standard V2 behaviour unless noted.
getPair(tokenA, tokenB), allPairs(i), allPairsLength(), feeTo(), feeToSetter().PairCreated(address indexed token0, address indexed token1, address pair, uint), the V2 signature.INIT_CODE_PAIR_HASH() for CREATE2 lookups: keccak256(0xff ++ factory ++ keccak256(token0 ++ token1) ++ initCodeHash). The live value is on the contracts page.getReserves(), token0(), token1(), price0CumulativeLast(), kLast(), LP token with EIP-2612 permit.swap(amount0Out, amount1Out, to, data) with the uniswapV2Call flash-swap callback when data is non-empty.997 / 1000 math is exact.Swap, Sync, Mint, Burn with V2 signatures.Router02 function signatures: addLiquidity, addLiquidityETH, removeLiquidity, removeLiquidityETH, swapExactTokensForTokens, swapTokensForExactTokens, swapExactETHForTokens, swapExactTokensForETH, swapETHForExactTokens, swapTokensForExactETH, getAmountsOut, getAmountsIn. Fee-on-transfer variants are not implemented.
AssetLaunched(token, pair, creator, totalSupply, poolAmount, ethAmount, liquidity, unlockAt, index) on every launch; AssetBacked(token, vault, collateralAmount) when backed.allAssets(i), getAsset(token) return the pair, creator, LP lock, and whether the asset is backed.floorPrice(token), redeemValue(token, amount), redeem(token, amount, minOut), deposit(token, amount), and Redeemed / Deposited events.getPairs, getAssets, getPositions, getBalances return everything the interface needs in a few calls. Read-only, safe to use from any indexer.0xdead instead of the zero address.You can launch a token with that name and narrative, and it will trade. It will not track the external price. Backing makes a token redeemable for ETH, nothing else. Tracking an outside price needs an oracle or a custodian, which Pairbase does not provide.
ETH is the hub. Every asset is one hop from ETH, so any asset can reach any other in two hops, and routers and trading tools that already handle ETH pairs work immediately.
A creator who holds their LP tokens can withdraw the liquidity they added, like any provider. That is why the LP lock exists and is shown on the pool. Backing is different: vault ETH cannot be withdrawn by anyone.
Redeemed tokens are burned, so total supply falls and every remaining token keeps the same floor.
No.
Contract sources are verified on the explorer, linked from the contracts page. The interface is plain HTML and JavaScript with no build step.