API
Everything the site shows, as JSON. Read only, free, no key. Every response below is fetched live when you press the button.
Basics
| What | How it works |
|---|---|
| Price and key | Free. No key, no sign in. |
| Methods | GET only. Nothing here can change anything. |
| CORS | Open. Any site can call it from the browser. |
| Cache | Responses are cached for 15 to 30 seconds, the rules for 5 minutes. Asking more often returns the same answer. |
| Amounts | In lamports, as whole numbers. 1 SOL = 1,000,000,000 lamports. Fields that are in SOL or dollars say so. |
| Times | Unix time in milliseconds. |
| Unknown values | null. Nothing is guessed or filled in. |
| Errors | JSON with one field, error, a plain sentence. The status is 400, 404, 500 or 503. |
Endpoints
/api/v1/rules
cached 5 minThe rules every launch follows. These are the same constants the launch engine enforces.
- venue string
- Where coins are launched. Always pump.fun.
- pairedWith string
- What coins are paired with. Always SOL.
- feeRecipient string
- Who gets the creator fees, in words.
- splitLockedAtLaunch boolean
- Always true. The split is locked in the launch.
- maxRecipients number
- Most GitHub accounts one coin can pay.
- minSharePercent number
- Smallest share an account can have. Shares are whole percents that add up to 100.
- platformFeePercent number
- Percent of creator fees Merged keeps.
- curveCreatorFeePercent number
- pump.fun's creator fee per trade before graduation, in percent.
- poolCreatorFeePercentRange number[2]
- Lowest and highest creator fee per trade after graduation, in percent.
- firstBuyMaxSol number
- Largest optional first buy, in SOL.
- memo string
- The memo text written in each launch.
/api/v1/stats
cached 30 sTotals across every coin on Merged, the per day amounts behind the contribution grid, and the ten GitHub accounts that were sent the most.
- stats.coins number
- Coins on Merged.
- stats.accounts number
- Different GitHub accounts those coins pay.
- stats.sentLamports number
- Lamports sent to GitHub accounts so far, all coins.
- stats.sentUsd number | null
- That amount in dollars at the current SOL price. null when the price is unknown.
- stats.solUsd number | null
- The SOL price in dollars used for it.
- stats.days object
- Lamports sent per UTC day, keyed by date such as 2026-11-14.
- top[].account
- The account.
- top[].coins number
- Coins on Merged that pay it.
- top[].sent number
- Lamports: its share of what those coins have sent.
/api/v1/coins
cached 15 sEvery coin on Merged, newest first, each with its locked split, market figures and fees.
- coins
- The coins. An empty list before the first coin.
- at number
- When this answer was built, unix milliseconds.
/api/v1/coins/{mint}
cached 15 sOne coin by its address, with its latest sends to GitHub accounts.
- coin
- The coin.
- sends object[]
- Up to 30 sends, newest first.
- sends[].mint string
- The coin's address.
- sends[].ticker string
- The coin's ticker.
- sends[].lamports number
- Lamports sent in this send, all accounts together.
- sends[].at number
- When, unix milliseconds.
- sends[].sig string
- The transaction signature.
- sends[].to[].login string
- GitHub login that was paid.
- sends[].to[].lamports number
- Lamports that account got.
404 with an error sentence when the coin isn't on Merged.
The coin's address. Mints of listed coins are in /api/v1/coins.
/api/v1/accounts/{login}
cached 30 sAny GitHub user or organization, whether or not a coin on Merged pays it: what pump.fun holds for it on chain, and the Merged coins that pay it.
- account
- The account, from GitHub.
- chain object | null
- What pump.fun holds for the account. null when the chain could not be read.
- chain.pda string
- pump.fun's fee account for this GitHub id.
- chain.exists boolean
- False when nobody has pointed fees at this account yet.
- chain.waiting number
- Lamports in the fee account, not claimed yet. Covers every pump.fun coin that pays the account.
- chain.claimed number
- Lamports the account has claimed so far.
- coins
- Coins on Merged that pay this account.
- sentViaMerged number
- Lamports: this account's share of what those coins have sent.
404 with an error sentence when there is no such GitHub account. 400 when GitHub is limiting lookups.
A GitHub user or organization name, without the @.
Objects
The shapes that appear in more than one response.
Coin
A coin with its locked split and its live figures.
- mint string
- The coin's address (CA).
- name string
- Coin name.
- ticker string
- Ticker, without the $.
- desc string
- Description. Empty for added coins.
- image string | null
- Picture. A path on this site for coins launched here, the coin's own picture link for added coins.
- launcher string
- Wallet that launched it. Empty for added coins.
- createdAt number
- When Merged recorded the coin, unix milliseconds.
- sig string | null
- Signature of the launch transaction. null for added coins.
- source "merged" | "added"
- Launched here, or an existing pump.fun coin that was added.
- recipients
- The GitHub accounts that get the creator fees.
- repo string | null
- Repository the coin was launched for, as owner/name. For display only: fees go to the accounts.
- config string
- The fee sharing config account that holds the locked split.
- market
- Market figures. null when they could not be read.
- sent
- Fees sent to the GitHub accounts so far.
- waiting number | null
- Lamports of creator fees in the coin, not sent yet. null when not read.
Recipient
A GitHub account in a coin's split. It has every field of a GitHub account, plus these two.
- pda string
- pump.fun's fee account for this GitHub id. The fees wait here.
- bps number
- Its share in basis points. 10,000 is 100%, so 2,500 is 25%.
GitHub account
An account as GitHub reports it.
- id string
- GitHub's numeric id. pump.fun keys fees on this, not on the login.
- login string
- The account name.
- name string | null
- Display name, when set.
- type "User" | "Organization"
- Any public member of an organization can claim for it.
- avatar string
- Picture link.
- url string
- Profile link on GitHub.
Market
Read from pump.fun before graduation and from public market data after.
- mcapSol number
- Market cap in SOL. This one is SOL, not lamports.
- mcapUsd number | null
- Market cap in dollars.
- progress number
- Progress to graduation, from 0 to 1.
- graduated boolean
- True once the coin has left the bonding curve.
Sent
Counted from pump.fun's own distribute events on the coin's fee sharing config account.
- lamports number
- Lamports sent to the coin's GitHub accounts so far.
- count number
- Number of sends.
- lastAt number | null
- Time of the latest send, unix milliseconds.
- days object
- Lamports sent per UTC day, keyed by date such as 2026-11-14.
Check it on chain
You don't need Merged to verify the facts that matter. Both are pump.fun accounts on Solana that anyone can read with any RPC.
| Fact | Account | In this API |
|---|---|---|
| Who a coin pays, and that it is locked | The coin's fee sharing config account, one per coin, found from the coin's address. It holds the shareholders with their shares, and whether the admin is revoked. | coin.config |
| What is waiting for a GitHub account, and what it claimed | pump.fun's GitHub fee account, one per GitHub numeric id. Its balance above the rent minimum is what waits, and its data holds the total claimed. | recipient.pda chain.pda |
With pump.fun's SDK, @pump-fun/pump-sdk, the two addresses come from feeSharingConfigPda(mint) and socialFeePda(githubId, Platform.GitHub). On Solscan, open solscan.io/account/ followed by either address.
How the launch, the lock and the sends work is on How it works.
Merged is an independent project. It is not affiliated with GitHub or pump.fun.