Skip to content

Public API · v1

API for terminals and bots

JSON over HTTPS, no key for reads, CORS open. Show the bounced log, stream live events over WebSocket (/v1/live), or run the pre-trade check before routing an order. Rate limit: 10 requests per second per IP (planned).

https://api.bouncerpad.funDraft

Coins

The board, one coin, its candles and holders. Live events stream on WebSocket /v1/live.

GET/v1/coinslist coins.

query

sort
new | mcap | vol | graduation
pair
SOL | USDC | BOUNCER
preset
fairLaunch | maxWallet | antiDump | creatorLock
q
search name, ticker or mint prefix
limit
1–100, default 50
curl https://api.bouncerpad.fun/v1/coins

response

[{ "mint": "7xKc…bncr", "ticker": "GOOSE", "pair": "SOL", "mcapUsd": 18420.5,
   "curveProgress": 0.31, "realHoldersScore": 82, "bounced24h": 14,
   "rules": { "programVersion": 1, "presets": 3, "sniperFee": "standard", "params": { … } },
   "tradesOn": ["bouncerpad","axiom","gmgn","dflow","okx","phantom"] }]
GET/v1/coins/:mintone coin, with its locked rules and params.

query

none

curl https://api.bouncerpad.fun/v1/coins/<mint>

response

{ "mint": "…", "ticker": "GOOSE", "graduated": false, "poolAddress": null, "rules": { … } }
GET/v1/coins/:mint/candlesohlcv candles.

query

interval
1m | 5m | 1h
curl https://api.bouncerpad.fun/v1/coins/<mint>/candles

response

[{ "time": 1793150400, "open": 1.8e-5, "high": 2.1e-5, "low": 1.7e-5, "close": 2.0e-5, "volume": 412.2 }]
GET/v1/coins/:mint/holderstop holders with funding-cluster flags.

query

none

curl https://api.bouncerpad.fun/v1/coins/<mint>/holders

response

[{ "wallet": "…", "pct": 2.4, "real": false, "cluster": "cluster-b3" }]

Bounced

Every refused transfer, with the rule that refused it.

GET/v1/bouncedplatform-wide bounced log, newest first. scope to a coin with /v1/coins/:mint/bounced.

query

after
unix ms, for polling
code
6000–6004
limit
1–200
curl https://api.bouncerpad.fun/v1/bounced

response

[{ "sig": "5Ht…", "mint": "…", "ticker": "GOOSE", "code": 6002, "side": "buy",
   "wallet": "…", "attemptedSol": 3.2, "venue": "axiom", "slot": 381022931, "ts": 1793151250000 }]
GET/v1/tradesrecent trades, platform-wide or per coin (/v1/coins/:mint/trades).

query

after
unix ms
limit
1–200
curl https://api.bouncerpad.fun/v1/trades

response

[{ "sig": "…", "side": "buy", "amountSol": 0.5, "feeBps": 100, "venue": "gmgn", "ts": … }]

Pre-trade check

Would this trade bounce? Same logic the hook runs, simulated, with the most that passes.

POST/v1/checksimulate a buy or sell for a wallet. returns ok, or the code and reason it would bounce.

body

mint
string
side
buy | sell
amountSol
number
wallet
base58 owner
curl -X POST https://api.bouncerpad.fun/v1/check \
  -H 'content-type: application/json' \
  -d '{"mint":"…","side":"buy","amountSol":1,"wallet":"…"}'

response

{ "ok": false, "code": 6002,
  "message": "this buy would be bounced: wallet would hold more than the max-wallet limit. limit right now is 1.42% of supply. try about 0.71 sol.",
  "feeBps": 100, "expectedOut": 0, "priceImpact": 0.021 }

Ledger

Burns, revenue and $BOUNCER.

GET/v1/burnsbuyback and burn ledger.

query

mint
optional
limit
1–500
curl https://api.bouncerpad.fun/v1/burns

response

[{ "sig": "…", "kind": "burn_bouncer", "tokensBurned": 912003.1, "solSpent": 0, "ts": … }]
GET/v1/revenuefee split (bps) and 30 daily rows.

query

none

curl https://api.bouncerpad.fun/v1/revenue

response

{ "split": { "meteoraBps": 2000, "creatorBps": 1000, "keptBps": 1250, … }, "days": [ … ] }
GET/v1/token$bouncer supply, burned, price.

query

none

curl https://api.bouncerpad.fun/v1/token

response

{ "mint": "…", "totalSupply": 1000000000, "burned": 41870212, "circulating": 958129788 }
GET/v1/statsthe home-page counters.

query

none

curl https://api.bouncerpad.fun/v1/stats

response

{ "coinsLive": 69, "snipersBounced": 15622, "solBurned": 597.5, "bouncerBurned": 41870212, "feesToCreatorsSol": 103.9 }