v1.1.0

5 Star API

Pump.fun wallet intelligence — PnL tracking, leaderboards, token analytics, and wallet enrichment for Solana traders.

Base URL https://api.join5star.xyz

Authentication

All endpoints except GET /v1/health require an API key passed as a Bearer token.

Authorization: Bearer j5s_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Keys are single-use read tokens. They never expire but can be revoked. Store yours securely — it cannot be recovered once issued.

Example

curl https://api.join5star.xyz/v1/me \
  -H "Authorization: Bearer j5s_your_key_here"

Errors

All errors return a consistent shape:

{
  "error": {
    "code":    "rate_limited",
    "message": "Too many requests. Retry after 30s.",
    "retryAfter": 30
  }
}
CodeHTTPMeaning
unauthorized401Missing or invalid API key
key_revoked403Key has been revoked
forbidden403Endpoint not in your key's scopes
not_found404Wallet or token not in database
rate_limited429Rate limit exceeded — check Retry-After header
invalid_request400Bad or missing parameters
internal_error500Server error — safe to retry

Rate Limits

PlanRateDaily Quota
free10 req/min1,000
starter60 req/min10,000
pro200 req/min100,000
whale200 req/minUnlimited

When rate limited, the response includes a Retry-After header with seconds to wait.


Data Freshness

DataUpdated
Wallet PnL & rankEvery 20 minutes
Wallet positionsEvery 20 minutes
PnL daily historyEvery 4 hours
LeaderboardEvery 1 hour
Token DEX dataEvery 1 hour
Wallet X / pump.fun profileEvery 20 minutes

GET /v1/health No Auth

Check if the API is online. Use this to verify connectivity before making authenticated requests.

Response

{
  "ok":      true,
  "version": "1.1.0",
  "time":    1791916786866
}

GET /v1/me Auth Required

Returns your API key details, plan, scopes, and today's usage.

Example

curl https://api.join5star.xyz/v1/me \
  -H "Authorization: Bearer j5s_your_key"

Response

{
  "customer_id":    "cust_xxx",
  "plan":           "pro",
  "scopes":         ["wallet:read", "token:read", "leaderboard:read"],
  "key": {
    "id":               "key_xxxx",
    "rate_limit_per_min": 200,
    "daily_quota":       100000
  },
  "usage_today":    42,
  "quota_remaining": 99958
}

GET /v1/wallet/:address Auth Required

Returns PnL, rank, trade stats, and identity (pump.fun username, X handle) for a wallet. Add ?include=pnl for daily PnL history, or ?include=enrich for X follower data.

Parameters

ParameterTypeRequiredDescription
:addresspathYesSolana wallet address (base58, 32–44 chars)
includequeryNoComma-separated: pnl, enrich

Example

# Basic wallet lookup
curl https://api.join5star.xyz/v1/wallet/6ATnpbwa43DtscAWjiR3uh5bEfpc4mhFpF42F5a5f68T \
  -H "Authorization: Bearer j5s_your_key"

# With PnL history and X enrichment
curl "https://api.join5star.xyz/v1/wallet/6ATnpbwa43DtscAWjiR3uh5bEfpc4mhFpF42F5a5f68T?include=pnl,enrich" \
  -H "Authorization: Bearer j5s_your_key"

Response

{
  "address":      "6ATnpbwa43DtscAWjiR3uh5bEfpc4mhFpF42F5a5f68T",
  "rank":         1,
  "pnl_usd":      37103.87,
  "win_rate":     0.72,
  "trades":       214,
  "pump_username": "pumphandle",
  "x_username":   "traderxyz",
  "x_followers":  4200,
  "updated_at":   1791900000000,
  // present when ?include=pnl
  "pnl_history": [
    { "day": "2026-10-13", "pnl_board": 37103.87, "pnl_1d": 2100.00, "pnl_7d": 8400.00 }
  ]
}
Note: win_rate and pnl_history.pnl_7d may be null for wallets with less than 7 days of history in the database.

GET /v1/token/:mint/stats Auth Required

Token metadata and trade summary — name, creator, graduation status, volume, and unique trader count.

Parameters

ParameterTypeRequiredDescription
:mintpathYesToken mint address (base58, 32–44 chars)

Example

curl https://api.join5star.xyz/v1/token/ztkLqdndQbgxLD9hJjxRnq2NvjhPihrHscYqowkpump/stats \
  -H "Authorization: Bearer j5s_your_key"

Response

{
  "mint":           "ztkLqdndQbgxLD9hJjxRnq2NvjhPihrHscYqowkpump",
  "name":           "My Token",
  "symbol":         "MTK",
  "creator":        "walletAddress...",
  "created_at":     1791800000000,
  "graduated_at":   null,
  "image_uri":      "https://...",
  "twitter_handle": "@handle",
  "trade_count":    42,
  "buy_count":      28,
  "sell_count":     14,
  "total_volume_sol": 12.5,
  "unique_traders": 18
}

GET /v1/token/:mint/top-traders Auth Required

Wallets with the most volume on a given token, with their profile data. Use this to see which tracked traders are active on a token.

Parameters

ParameterTypeRequiredDescription
:mintpathYesToken mint address
limitqueryNo1–50, default 10

Example

curl "https://api.join5star.xyz/v1/token/ztkLqdndQbgx.../top-traders?limit=5" \
  -H "Authorization: Bearer j5s_your_key"

Response

[
  {
    "wallet":      "walletAddress...",
    "total_sol":   5.2,
    "buys":        3,
    "sells":       2,
    "rank":        4,
    "x_username":  "traderxyz",
    "pump_username": "pumphandle"
  }
]

GET /v1/token/:mint/first-buyers Auth Required

The earliest wallets to buy a token in our database — ranked by trade timestamp. Useful for identifying early callers and insider wallets.

Parameters

ParameterTypeRequiredDescription
:mintpathYesToken mint address
limitqueryNo1–50, default 10

Example

curl "https://api.join5star.xyz/v1/token/ztkLqdndQbgx.../first-buyers?limit=10" \
  -H "Authorization: Bearer j5s_your_key"

Response

[
  {
    "wallet":       "walletAddress...",
    "sol_amount":   0.5,
    "mc_at_trade":  12000,
    "ts":           1791800000000,
    "rank":         1,
    "x_username":   null
  }
]

GET /v1/top-performers Auth Required

Current pump.fun PnL leaderboard — top 100 wallets ranked by total PnL with win rates and social handles.

Parameters

ParameterTypeRequiredDescription
limitqueryNo1–100, default 20
sortqueryNopnl_usd (default) or win_rate

Example

curl "https://api.join5star.xyz/v1/top-performers?limit=10&sort=pnl_usd" \
  -H "Authorization: Bearer j5s_your_key"

Response

[
  {
    "address":       "walletAddr...",
    "rank":          1,
    "pnl_usd":       154072.62,
    "win_rate":      0.81,
    "trades":        412,
    "x_username":    "toptrader",
    "x_followers":   12000,
    "pump_username": "pumptop",
    "updated_at":    1791900000000
  }
]

GET /v1/enrich Auth Required

Given a wallet address, returns the linked pump.fun username, X (Twitter) handle, and follower count.

Parameters

ParameterTypeRequiredDescription
walletqueryYesSolana wallet address (base58)

Example

curl "https://api.join5star.xyz/v1/enrich?wallet=6ATnpbwa43DtscAWjiR3uh5bEfpc4mhFpF42F5a5f68T" \
  -H "Authorization: Bearer j5s_your_key"

Response

{
  "wallet":        "6ATnpbwa43DtscAWjiR3uh5bEfpc4mhFpF42F5a5f68T",
  "pump_username": "pumphandle",
  "x_username":   "xhandle",
  "x_followers":  5400,
  "x_verified":   false,
  "source":       "pumpfun"
}

GET /v1/tracked-wallets Auth Required

Returns your saved watchlist of wallets.

Example

curl https://api.join5star.xyz/v1/tracked-wallets \
  -H "Authorization: Bearer j5s_your_key"

Response

[
  {
    "wallet":   "walletAddr...",
    "label":    "Alpha Whale",
    "added_at": 1791800000000
  }
]

POST /v1/tracked-wallets Auth Required

Add a wallet to your watchlist with an optional label.

Requires tracked:write scope. Read-only keys cannot use this endpoint.

Body

{
  "wallet": "walletAddress...",
  "label":  "Alpha Whale"
}

Example

curl -X POST https://api.join5star.xyz/v1/tracked-wallets \
  -H "Authorization: Bearer j5s_your_key" \
  -H "Content-Type: application/json" \
  -d '{"wallet":"walletAddr...","label":"Alpha Whale"}'

Response

// HTTP 201
{ "ok": true }