Docs
How gitmarket works
Every public GitHub repository can have one token market on Robinhood Chain. This page explains each part, and lets you try the numbers with the same math the contracts use.
- Supply
- 1,000,000,000
- Graduates at
- 4.2 ETH raised
- Fee per trade
- 1.5%
- Listing fee
- 0.0005 ETH
01 · Overview
One repo, one market.
gitmarket turns a public GitHub repository into a token you can trade. The market is keyed to the repository's numeric id inside the contract, so each repository gets exactly one market, even after a rename or a transfer.
Markets run on the pons v2 launchpad: a bonding curve first, then a Uniswap v4 pool. Repository owners are not involved and receive no fees. Click through the four steps.
Example repository. The id is what the contract stores, so a rename never opens a second market.
02 · Bonding curve
The price follows a curve.
The curve sells about 714 million tokens. Each buy raises the price and each sell lowers it, so there is always a price both ways. Set how much ETH the curve has raised, then try a buy.
- Price now
- 0.08 (8 zeros) 283ETH
- Market cap now
- 2.83 ETH
- You get
- 33,315,012
- Share of supply
- 3.332%
- You pay
- 0.1 ETH
- Fees (1.5%)
- 0.0015 ETH
- Average price
- 0.08 (8 zeros) 296ETH
- Price impact
- 4.52%
- Price after
- 0.08 (8 zeros) 309ETH
- Refund
- 0
Same integer math as the curve contract: x · y = k with a virtual 1.68 ETH reserve, fees taken from the ETH going in. Before fees, a token starts at 0.08 (8 zeros) 168 ETH and ends at 0.07 (7 zeros) 206 ETH. Simulated at zero snipe tax.
03 · Fees
1.5% per trade.
Every trade pays 0.5% to gitmarket and 1% to pons. That is the whole fee: the same before and after graduation, and fixed when the market launches.
On the bonding curve, a buy pays the fees out of the ETH you send, before it reaches the curve. After graduation the Uniswap v4 pool charges the same 1.5%, taken from what the swap pays out. The rates are fixed when the market launches.
Breakdown
- gitmarket fee (0.5%)Paid to the gitmarket treasury.
- 0.005 ETH
- pons fee (1%)Paid to the pons launchpad.
- 0.01 ETH
- Goes into the tradeThis ETH buys your tokens.
- 0.985 ETH
- Total fees (1.5%)
- 0.015 ETH
A buy followed by a sell of the same position pays the fee twice, about 2.98% before any price movement.
04 · Graduation
From curve to pool.
When the curve has raised 4.2 ETH it stops trading and its reserves move into a Uniswap v4 pool. The pool's liquidity is locked forever. Click a phase, or play the whole sequence.
Phase 0 · Bonding curve
- Curve
- Graduating
- Pool
Trading on the bonding curve
Every market starts here. The curve holds the whole supply and always quotes a buy and a sell price. The buy that sells out the last curve token is cut to fit, the rest of its ETH is refunded, and that same transaction normally runs the graduation.
- Trading
- Buy and sell on the curve, 1.5% per trade
- Where the ETH is
- In the curve contract, 0 to 4.2 ETH
- Who can act
- Anyone can trade
Where the reserves are
Curve
Set aside
Uniswap v4 pool
05 · Listing a repo
List a repo in one transaction.
Anyone can list any public repository. Try the form below: it checks the link the same way the real form does, and shows what you would pay.
- 1
Resolve the repo id
We ask GitHub for the repository and keep its numeric id. The id stays the same after a rename or a transfer, so it is the market's key.
- 2
Check for a market
The form reads getMarket(repoId) on the gitmarket factory. If a market exists, you are sent to it instead: a repo can be listed once.
- 3
Launch in one transaction
launch() creates the token and its curve on pons. You send the launch fee plus your opening buy; any ETH the curve does not use is refunded.
- 4
Opening buy first
Your opening buy runs in the same transaction, before anyone else can trade, and it pays no snipe tax.
Anti-snipe window
For the first 3 seconds after launch, other buyers pay an extra tax that starts at 99% and halves fast. Sells are not taxed. Move the slider to see a 0.1 ETH buy from a bot.
- Snipe tax at 0s
- 97.50%
- Bot gets (vs. no tax)
- 594,883 / 55,383,750
Read from pons: start 99%, window 3s, measured in whole seconds. The curve caps the tax so the fees still fit, which is why second 0 shows 97.50%.
06 · Contracts
Contracts and addresses.
Everything runs on Robinhood Chain. Copy an address or open it in the explorer.
- Network
- Robinhood Chain
- Chain id
- 4663
- RPC
- https://rpc.mainnet.chain.robinhood.com
- Explorer
- https://robinhoodchain.blockscout.com
gitmarket factory
Launches markets and stores one per repo id (getMarket, launch).
0xa50130DEaE695846dCFAB8cCa4D87D9f107864D2pons factory
Creates tokens and curves, runs graduation (createGraduatedPool).
0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7epons fee escrow
Holds swept trading fees until they are claimed.
0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9epons hook
Uniswap v4 hook that charges the trading fee in graduated pools.
0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044Uniswap v4 PoolManager
Holds every v4 pool's state and balances.
0x8366a39CC670B4001A1121B8F6A443A643e40951Uniswap Universal Router
Executes swaps in graduated pools.
0x8876789976dEcBfCbBbe364623C63652db8C0904Uniswap v4 Quoter
Quotes pool swaps, hook fee included.
0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94Permit2
Token approvals for selling through the Universal Router.
0x000000000022D473030F116dDEE9F6B43aC78BA3Multicall3
Batches reads in one call.
0xcA11bde05977b3631167028862bE2a173976CA11
Each market also has its own token and curve address. Find them on the market page, or read them from the factory with getMarket(repoId).
07 · For developers
Read and trade with viem.
Short TypeScript examples with viem. They use the same ABIs as this site. Replace the placeholder addresses before running them.
import { createPublicClient, defineChain, http } from "viem"; export const robinhood = defineChain({ id: 4663, name: "Robinhood Chain", nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 }, rpcUrls: { default: { http: ["https://rpc.mainnet.chain.robinhood.com"] } },}); export const client = createPublicClient({ chain: robinhood, transport: http() }); export const FACTORY = "0xa50130DEaE695846dCFAB8cCa4D87D9f107864D2";export const PONS_FACTORY = "0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e";08 · FAQ
Questions.
What exactly am I buying?
A token launched for one GitHub repository. Its price is set by a bonding curve and then by a Uniswap pool. It is a market on attention and conviction, and it gives you no rights over the code.
Do the repository's owners get anything?
No. Anyone can list any public repository, and the owners are not affiliated with the token. They receive no fees and did not endorse the market.
Can the same repository be listed twice?
No. The contract stores one market per numeric repository id and rejects a second launch, even if the repository was renamed or moved to another owner.
What does it cost to list a repository?
The pons launch fee of 0.0005 ETH plus gas, and any opening buy you choose. The opening buy happens in the same transaction, so nobody can trade ahead of you.
What happens at graduation?
When the curve has sold its tradable supply (4.2 ETH raised), the launch moves into a Uniswap v4 pool and its liquidity is locked permanently. Your tokens stay the same tokens.
Has this been audited?
Not yet. gitmarket's contract is tested against the live pons stack on a fork of Robinhood Chain, and pons v2 is under review by three firms. Treat both as unaudited and only trade what you can lose.