Docs
Everything about how pegged.app works — for creators, traders, and the bots and aggregators that want to integrate it.
Overview
pegged.app is a memecoin launchpad on Arc — Circle's L1 where USDC is the gas token (chain id 5042, sub-second finality). Every coin launches directly into a canonical Uniswap V3 pool quoted in USDC, so every price, market cap and fee on the platform is natively denominated in dollars.
- No bonding curve, no graduation step — a real, tradeable pool from block one
- Starting market cap ≈ $4,200 · fixed 1B supply
- Liquidity locked forever by contract design
- Creation fee: $1 (USDC), optional initial buy in the same transaction
Launching a coin
Go to Create a coin, pick a launch mode, fill in name, ticker and image, and confirm. One transaction does everything: deploys the token, creates and initializes the Uniswap V3 pool (1% fee tier), mints the full supply as single-sided liquidity, stores your metadata on-chain, and — if you add an initial buy — makes you the first buyer before anyone else can snipe it.
You need USDC on Arc for the $1 creation fee plus whatever you want to spend on the initial buy. Gas is paid from the same USDC balance (Arc has one ledger: the native balance and the ERC-20 view are the same money) and costs fractions of a cent. Bridge USDC in with Circle's CCTP from any supported chain.
Fee split
The 1% pool fee on every trade is split 50/50 between the coin's creator and the protocol. Every collected fee is converted to USDC first, then the creator half is routed by the split the creator locked in at launch (percentages that add up to 100):
Paid straight to the creator's wallet in USDC on every collect. Never in tokens.
USDC dividends streamed to holders pro-rata via an on-chain accumulator — hold the coin, earn dollars, claim any time. Pool, dead address and launchpad are excluded; selling stops future accrual but keeps what you already earned.
Market-buys the coin from its own pool with the dead address as recipient. Public and atomic — anyone can trigger it from the coin's page.
Market-buys the coin and streams the tokens to holders pro-rata, claimable alongside dividends.
A keeper calls collectFees() every ~5 minutes; it is permissionless, so anyone can trigger a payout round at any time.
Trade tax
Every trade pays the 1% Uniswap pool fee. At launch the creator can add an extra tax on top — 2%, 3% or 5% all-in. Uniswap V3 has no fee tier above 1%, so the extra is collected by the coin itself: on buys it comes out of what the buyer receives, on sells it is charged on top from the seller (the pool always receives the full amount). Buybacks, airdrops and claims are exempt.
Tax accumulates in tokens inside the coin and is converted to USDC on every collect, then routed 100% by the creator's fee split. The protocol never takes a cut of the tax. The trade panel shows the all-in fee and adjusts MAX on sells for you.
Launch for an account
A coin can be launched foran X, TikTok, Instagram or GitHub account — or any website. Paste the link on the launch page: the coin takes the account's name and picture, and its creator share of fees is reserved in USDC inside the CreatorVault instead of going to the wallet that launched it.
- The account owner claims without a wallet connection: request a one-time code, put it in the bio (or a
<meta name="pegged-verify">tag //.well-known/pegged-verify.txtfor websites), verify, withdraw to any Arc wallet. - Codes are tied to the browser that requested them, so a code read off a public bio cannot be reused by someone else. Verifying consumes every code for that account.
- Every payout into the vault is a public
FeesCollectedevent; the creator page lists them.
Token standard
Every coin launched on pegged.app is the same audited-by-reading shape:
- Fixed supply: 1,000,000,000 (18 decimals) — no mint function exists
- No owner, no pause, no blacklist. The only transfer logic is the optional trade tax chosen at launch (immutable).
logo(),contractURI()(ERC-7572) andowner()(always zero) for explorers and terminals- Metadata stored on-chain in the token contract itself —
image(),description(),website(),twitter(),telegram() - Every coin is verified on Sourcify (exact bytecode match)
Liquidity & fees
The full supply is minted as a single-sided Uniswap V3 position owned by the launchpad contract. The contract has no function to withdraw, decrease or transfer liquidity — locking is a property of the code, not a promise. The only thing that can ever leave the position is the accrued 1% swap fee, via the permissionless collectFees().
- Pool fee: 1% per swap (Uniswap V3 fee tier 10000)
- Split: 50% creator (per launch mode) / 50% protocol
- Creation fee: $1 flat, in USDC
Contracts
All launchpad contracts are verified (exact match) on Sourcify. Chain: Arc mainnet, id 5042, RPC https://rpc.mainnet.arc.io.
Security model
The core security property of pegged.app: no wallet — ours included — can touch your coins or their liquidity. That is not a policy, it is bytecode, and every contract is verified on Arcscan so you can check it yourself.
What each piece can and can't do
Worst-case analysis
- Keeper key compromised:attacker can pay our gas bill. Payouts don't even stop —
collectFees()is permissionless, anyone can trigger it. - Website or API down: coins keep trading — pools are canonical Uniswap V3, reachable from any bot, terminal or the Uniswap interface directly.
- Team disappears: nothing changes on-chain. No upgradeable proxies, no admin keys, no pause switches anywhere in the system.
Reward reserves (holder dividends, airdropped tokens) live inside each coin's own verified contract and are only movable by claim() from the earner. Keeper runs are visible on-chain from the keeper address, and keys are rotated periodically. Found something? DM @peggedmeme — fast.
Integrate pegged.app
For trading bots, terminals and aggregators. Launches are detected by watching the launchpad contract for one event:
event TokenCreated(
address indexed token,
address indexed creator,
address pool, // Uniswap V3 pool (token / USDC, 1% tier)
uint256 positionId, // NPM position holding the liquidity
bool isToken0,
Split split, // (creator, holders, traders, burn, airdrop) in bps — traders unused
uint16 taxBps, // extra trade tax on top of the 1% pool fee (0..400)
string name,
string symbol,
string metadataURI
);Routing needs no special handling — pools are canonical Uniswap V3 (1% tier) quoted in USDC.
REST API
GET https://api.pegged.app/api/tokens?sort=new|trending|mcap|volume
GET https://api.pegged.app/api/token/{address} // incl. image, socials, mode
GET https://api.pegged.app/api/token/{address}/ohlc?interval=60
GET https://api.pegged.app/api/token/{address}/tradesTypeScript SDK
Everything above, typed and ready: github.com/ciberneticatradingdev/pegged-sdk — launch watcher, on-chain metadata reads, market data, believer dividends and wagmi/viem-compatible trade call builders. Point it at Arc with createPeggedClient({ apiUrl: "https://api.pegged.app" }).
npm i viem github:ciberneticatradingdev/pegged-sdk
import { createPeggedClient } from "pegged-sdk";
const pegged = createPeggedClient();
const unwatch = pegged.watchLaunches((l) => console.log(l.symbol, l.pool));Notes: token images are served from the API (/api/uploads/…) and mirrored on-chain via each token's image() getter. Need a custom feed or webhook? Reach out — we ship integrations fast.