Developer API

Mint Degen API

One REST API for Mint Degen: live market data, charts, coin calls, your PnL and wallet values, plus the paid launch & sniper engine. Authenticate with an API key from your Studio dashboard and pay as you go with API credits.

Get an API key

Quickstart

  1. Sign in to Mint Degen and open Studio → API.
  2. Create an API key and copy it once (it is shown only at creation).
  3. Top up API credits by sending SOL or ETH from a wallet linked to your account (see Credits).
  4. Call the API with Authorization: Bearer <key>.
export MINT_DEGEN_API="https://mintdegen.com"
export MINT_DEGEN_API_KEY="md_live_your_key_here"

curl "$MINT_DEGEN_API/api/v1/account" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY"

Authentication

Private endpoints accept an API key two ways:

Authorization: Bearer md_live_your_key_here
# or
X-API-Key: md_live_your_key_here

Keys are created and revoked in Studio → API, stored hashed server-side, and shown in full only once at creation. Keep them on your backend — never ship a key (or any wallet private key) in browser or mobile code. Revoke a leaked key instantly from the dashboard; a revoked key returns 401.

Public endpoints (marked No auth below) work without a key and are not billed. Everything else needs a key and a positive API-credit balance.

Credits & pricing

The API is pay-as-you-go with credits. Every billed call deducts credits by weight. When your balance hits zero, billed endpoints return 402 payment_required until you top up. Public endpoints are always free. New keys include 10,000 free credits.

Credits per call

TierCredits / callEndpoints
Light100Cached reads: token/lookup, coin-calls, leaderboard
Standard300account, chart/*, pnl summaries
Heavy1000On-demand chain scans: pnl/wallets?include_trades=1, sniper/live, sniper/cluster

Each response tells you the cost and your remaining balance:

X-Credits-Cost: 300
X-Credits-Balance: 986400

Credit packages

Buy credits from Studio → API — secure checkout (SOL, ETH or card). Bigger packs are cheaper per credit.

PackageCreditsPrice
Starter1,000,000$10
Plus5,000,000$45 −10%
Pro20,000,000$160 −20%
Whale60,000,000$420 −30%

Example: 1,000,000 credits = 10,000 light calls or 1,000 heavy calls. Credits never expire.

Account

GET /api/v1/account Standard

Returns your account, launch wallet, all linked wallets with balances, credits and subscription status.

curl "$MINT_DEGEN_API/api/v1/account" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY"
{
  "account": {
    "id": 1,
    "email": "you@example.com",
    "launch_wallet_address": "…",
    "launch_wallet_balance_sol": 0.42,
    "wallets": [ { "wallet_kind": "launch", "public_key": "…", "balance_sol": 0.42, "total_usd": 49.6 } ],
    "wallet_count": 3,
    "total_wallet_balance_sol": 7.9
  }
}

Market data

GET /api/v1/token/lookup Light

Resolve a token by contract address. Works for Solana mints and Robinhood-chain (ETH) tokens.

curl "$MINT_DEGEN_API/api/v1/token/lookup?mint=TOKEN_ADDRESS" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY"
{ "ok": true, "found": true, "chain": "solana",
  "mint": "…", "name": "…", "symbol": "…", "logo_url": "…", "market_cap_usd": 613300 }

Charts

All chart endpoints take ?mint= (required) and are built from Mint Degen's own on-chain data.

GET /api/v1/chart/candles Standard

OHLC candles. interval (default 5m), limit (20–1000, default 300).

curl "$MINT_DEGEN_API/api/v1/chart/candles?mint=TOKEN&interval=5m&limit=300" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY"

GET /api/v1/chart/markers Standard

Buy/sell markers for the token. limit (10–500, default 200).

GET /api/v1/chart/transactions Standard

Recent trades for the token. limit (10–300, default 100).

GET /api/v1/chart/traders Standard

Top traders / holders for the token.

Coin calls

GET /api/v1/coin-calls Light

The tracked caller feed. limit (1–200, default 50), include_hidden (bool).

curl "$MINT_DEGEN_API/api/v1/coin-calls?limit=50" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY"

Leaderboard

GET /api/v1/public/leaderboard No auth

Public top traders by portfolio USD. limit (1–25, default 15). No key required, not billed.

curl "$MINT_DEGEN_API/api/v1/public/leaderboard?limit=15"

GET /api/v1/public/health No auth

Service health probe. No key required, not billed.

GET /api/v1/leaderboard Light

Authenticated leaderboard with your own rank context.

PnL & wallets

GET /api/v1/pnl/wallets Standard / Heavy

Your PnL wallets and their values. Add ?include_trades=1 to also return realized trade history — this triggers a live on-chain scan and is billed at the Heavy rate.

curl "$MINT_DEGEN_API/api/v1/pnl/wallets?include_trades=1" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY"

Launches

Launches are a separate paid product from API credits: each launch charges a launch credit (or your subscription quota / launch-wallet SOL), same as the bot and Studio.

POST /api/v1/launches

Creates an async launch job and returns a job id immediately. Poll the status URL until it succeeds or fails.

curl -X POST "$MINT_DEGEN_API/api/v1/launches" \
  -H "Authorization: Bearer $MINT_DEGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "theme": "a sleep deprived frog with a golden laptop",
    "vibe": "degen",
    "dev_buy_sol": 0.5,
    "launch_wallet_private_key": "BASE58_PRIVATE_KEY"
  }'

GET /api/v1/launches/{id}

Returns job status and, when finished, name, ticker, mint address, metadata URI, generated site URL, market cap, price and total SOL spent.

Sniper

Sniper endpoints require a Pro account and the same bearer key. They mirror the Studio sniper controls: tracker management, live feed, coin blacklist, wallet-cluster scans, connection and Telegram session state. Reads are Standard-billed; on-demand scans (live, cluster) are Heavy.

GET /api/v1/sniper/trackers

Sniper connection state and all wallet/Telegram trackers.

POST /api/v1/sniper/trackers

Create/upsert a wallet or Telegram tracker (target, label, trigger mode, buy/sell rules, execution speed, snipe wallets, protocol blocks, instant-ban filters).

POST /api/v1/sniper/trackers/{tracker_id}

Update a tracker — full body or a small toggle like {"auto_snipe": true}.

DELETE /api/v1/sniper/trackers/{tracker_id}

Stop tracking and remove a tracker.

GET /api/v1/sniper/live Heavy

Recent live feed events, executions, blacklist and SOL/USD rate. ?limit=40.

POST /api/v1/sniper/coin-blacklist · DELETE /api/v1/sniper/coin-blacklist

Add/remove a mint from your sniper blacklist. Body: {"mint":"…"}.

POST /api/v1/sniper/cluster Heavy

Scan a seed wallet's latest buy and rank likely linked wallets. Body: {"wallet":"…"}.

GET/POST/DELETE /api/v1/sniper/connection

Read, create or drop the Telegram sniper-bot connection for your account.

Errors

Errors are JSON: { "error": "code", "message": "human readable" }.

  • 400 invalid_*: bad or missing parameter (e.g. invalid_mint, invalid_interval).
  • 401 unauthorized: missing, invalid or revoked API key.
  • 402 payment_required: API-credit balance is empty — top up to continue.
  • 403 pro_required: endpoint needs a Pro account (e.g. sniper).
  • 404 not_found: resource/job id not visible to your account.
  • 429 rate_limited: too many requests — slow down (see Rate limits).

Rate limits

Each API key is limited to a steady request rate (bursts allowed). Exceeding it returns 429 with a Retry-After header. Public endpoints are limited per IP. Need higher throughput? Ask in Discord.

Copied