API reference
Every route the backend serves today, with its authentication and response.
Gateway
Copy the model namepad/JPX is ready for any client
Example dataBase the gateway URL from GET /api/v1/config. Key as Authorization: Bearer or x-api-key.
/v1/chat/completionsAPI keyOpenAI chat completion (JSON or SSE)/v1/messagesAPI keyAnthropic message (JSON or SSE)max_tokens is required/v1/modelsnoneOpenAI model list: endpoints, then raw modelsPublic REST
Open Explore and tap $JPXIts market and service open
Example dataNo authentication. Pagination uses ?cursor=&limit= and returns { items, nextCursor }.
/api/v1/confignoneConfig (cached 60 s)/api/v1/stats/globalnoneGlobalStats (cached 5 s)/api/v1/modelsnoneModelInfo[]: context, max output, list prices, supports (tools, images, files, structured output, reasoning, streaming), status/api/v1/toolsnone{ id, label, phase }[]/api/v1/endpointsnonePage<EndpointSummary>kind, sort, model, graduated, maxOut, q, cursor, limit/api/v1/endpoints/{ticker}noneEndpointDetail404 launching while its launch runs/api/v1/endpoints/{ticker}/launchnonePublic launch log once the coin exists/api/v1/endpoints/{ticker}/callsnonePage<CallEvent>, newest first/api/v1/endpoints/{ticker}/closesnonePage<DailyClose>/api/v1/endpoints/{ticker}/burnsnonePage<BurnEvent>/api/v1/endpoints/{ticker}/versionsnoneVersionInfo[] incl. pending/api/v1/endpoints/{ticker}/holdersnonePage of holders, excluded accounts last/api/v1/endpoints/{ticker}/seriesnone{ t, calls, paidMicro, burnedMicro }[]range 24h, 7d or 30d/api/v1/endpoints/{ticker}/tradesnonePage<TradeEvent>, newest firstfrom the chain index, about 30 s behind/api/v1/endpoints/{ticker}/candlesnone{ interval, stepMs, candles, change24h }interval 1m, 5m, 1h, 6h, 7D or All; 96 buckets from the trade index/api/v1/calls/feednoneCallEvent[] (limit default 40)/api/v1/closesnoneDailyClose[] for one day/api/v1/receipts/rootsnonePage<{ hour, root, leafCount, memoTx }>/api/v1/receipts/{id}noneReceipt with leafFields and proof/api/v1/launch/ticker/{ticker}none{ status: available | taken | reserved | invalid }/api/v1/proof/walletsnone{ wallets, checkedAt }operating wallets, their balances and whether one runs low/api/v1/meta/routesnone{ routes: { method, path }[] }every route this backend serves/api/v1/media/{key}noneCoin image bytesSign in
Sign the messageSigned in. No transaction was sent
Example data/api/v1/auth/noncenone{ nonce, message }30 per minute per IP/api/v1/auth/verifysignatureMe, sets ec_session30 per minute per IP/api/v1/auth/logoutsession204, clears ec_session/api/v1/mesessionMeMe and endpoints you launched
Open My endpointsStatus, royalty and refund progress
Example dataWebsite session (ec_session cookie). Launcher routes answer 403 to anyone else.
/api/v1/me/usagesessionPage<CallEvent & { keyId }>from, to, funding, cursor/api/v1/me/usage/seriessession30 days of cost, fee, markup/api/v1/me/receiptssessionPage<Receipt>q = receipt id prefix/api/v1/me/launchedsessionLauncherEarnings[]/api/v1/me/endpoints/{ticker}/promptlauncher{ version, prompt }/api/v1/me/endpoints/{ticker}/versionslauncherVersionInfo (pending)/api/v1/me/endpoints/{ticker}/fileslauncher{ sha256, name, bytes }multipart file for the next version; not for route endpoints/api/v1/me/endpoints/{ticker}/versions/testlauncherOpenAI SSE, x-ec-test-left/api/v1/me/endpoints/{ticker}/versions/{version}launcher204/api/v1/me/endpoints/{ticker}/pauselauncherEndpointDetail/api/v1/me/endpoints/{ticker}/resumelauncherEndpointDetail/api/v1/me/endpoints/{ticker}launcherEndpointDetaildescription, socials, demo/api/v1/me/session-keysession{ key, expiresAt } (12 h, site only)Console
Read the key rowPrefix, limits, funding and spend
Example data/api/v1/me/keyssessionApiKey[]/api/v1/me/keyssessionApiKey + key (shown once)/api/v1/me/keys/{id}sessionApiKeyany field, plus disabled/api/v1/me/keys/{id}session204/api/v1/me/balancesession{ availableMicro, heldMicro }/api/v1/me/deposits/intentsessionDepositIntent (unsigned tx, Solana Pay URL)/api/v1/me/deposits/{id}/submitsessionDeposit (pending)/api/v1/me/depositssessionPage<Deposit>Launch
Watch each checkpointpad/JPX is live
Example data/api/v1/launch/draftssessionLaunchDraftup to 20 open drafts/api/v1/launch/draftssessionLaunchDraft[] (not live)/api/v1/launch/drafts/{id}sessionLaunchDraft/api/v1/launch/drafts/{id}sessionLaunchDraft with live issues/api/v1/launch/drafts/{id}/filessessionLaunchDraftmultipart, one file/api/v1/launch/drafts/{id}/files/{sha256}sessionLaunchDraft/api/v1/launch/drafts/{id}/imagesessionLaunchDraftmultipart image/api/v1/launch/drafts/{id}/testsessionOpenAI SSE, x-ec-test-left/api/v1/launch/drafts/{id}/preparesessionLaunchPrepare (one unsigned transfer, 90 s)/api/v1/launch/drafts/{id}/submitsessionLaunchStatus/api/v1/launch/drafts/{id}/statussessionLaunchStatus/api/v1/launch/drafts/{id}session204 (draft or refunded only)Stream
Open ActivityEach finished call arrives as a row
Example data/api/v1/streamnone; session for me and launch:{draftId}{ ch, type, data, at } eventsChecked against the backend
Copy the model namepad/JPX is ready for any client
Example dataThis list is compared with GET /api/v1/meta/routes when the page opens. A route the backend serves and this page does not describe yet shows up here.