PoC 1 — Token Verification API spec exposes the full 1000-JUP payment flow:
$ curl -s https://token-verify-api.jup.ag/openapi.json | python3 -m json.tool | head -25
{
"openapi": "3.0.3",
"info": {
"title": "Jupiter Token Verification API",
"version": "1.0.0",
"description": "API for express token verification and metadata updates"
},
"paths": {
"/express/check-eligibility": { "get": {...} },
"/payments/express/craft-txn": {
"get": {
"summary": "Craft express verification payment transaction",
"description": "Crafts an unsigned Solana transaction for a 1000 JUP express verification payment. The returned transaction and requestId are used in the execute step."
}
},
"/payments/express/execute": {
"post": {
"summary": "Execute express verification payment",
"description": "Signs and submits the crafted transaction, records payment, creates an express (premium) verification request, and optionally submits token metadata updates."
}
}
}
}
PoC 2 — Confirm host is production:
$ curl -s https://token-verify-api.jup.ag/
{"service":"Token Verification API","status":"healthy","version":"1.0.0","environment":"prod"}
PoC 3 — Prediction-market API discloses every order / position / social-graph endpoint:
$ curl -s https://prediction-market-api.jup.ag/openapi.json | python3 -c "
import json,sys
d=json.load(sys.stdin)
for p,m in d['paths'].items():
for v in m: print(v.upper().ljust(6),p)" | head -25
GET /api/v1/events/tags
GET /api/v1/events/suggested
GET /api/v1/events/suggested/{pubkey}
POST /api/v1/execute
GET /api/v1/orders
POST /api/v1/orders
DELETE /api/v1/orders
POST /api/v1/orders/execute
DELETE /api/v1/orders/close-all
POST /api/v1/positions/{positionPubkey}/claim
POST /api/v1/follow/{ownerPubkey}
DELETE /api/v1/unfollow/{ownerPubkey}
GET /api/v1/leaderboards
GET /api/v1/profiles/{ownerPubkey}/pnl-history
PoC 4 — Content-API ("Jupiter Mission Control") full spec:
$ curl -s https://content-api.jup.ag/openapi.json | python3 -m json.tool | head -12
{
"openapi": "3.0.3",
"info": {
"title": "Jupiter Mission Control API",
"version": "1.0.0"
},
"servers": [
{ "url": "https://content-api.jup.ag", "description": "Production server" }
],
"paths": { "/v1/content": ..., "/v1/content/feed": ..., "/v1/content/cooking": ..., "/v1/content/summaries": ... }
}
PoC 5 — Lend-API exposes /docs and /swagger:
$ curl -s -o /dev/null -w "%{http_code}\n" https://lend-api.jup.ag/docs
200
$ curl -s -o /dev/null -w "%{http_code}\n" https://lend-api.jup.ag/swagger
200
PoC 6 — mobile-api spec lists the full claim/craft/execute reward flow used by ASR + campaigns:
$ curl -s https://mobile-api.jup.ag/openapi.json | python3 -c "
import json,sys
d=json.load(sys.stdin)
for p,m in d['paths'].items():
for v in m: print(v.upper().ljust(6),p)" | head -15
GET /v1/asr/side-menu
GET /v1/asr/claim-view
GET /v1/asr/craft-claim
POST /v1/asr/execute
POST /v1/reclaim/craft
POST /v1/reclaim/execute
GET /v1/campaigns
GET /v1/campaigns/{campaignSlug}/craft
POST /v1/campaigns/{campaignSlug}/execute
GET /v1/portfolio/holdings/{address}
GET /v1/transactions/fetch
PoC 7 — All endpoints summary table (one curl per host):
$ for h in token-verify-api prediction-market-api content-api lend-api mobile-api; do
echo "$h.jup.ag/docs $(curl -sk -o /dev/null -w '%{http_code}' https://$h.jup.ag/docs)"
echo "$h.jup.ag/openapi.json $(curl -sk -o /dev/null -w '%{http_code}' https://$h.jup.ag/openapi.json)"
done
token-verify-api.jup.ag/docs 200
token-verify-api.jup.ag/openapi.json 200
prediction-market-api.jup.ag/docs 200
prediction-market-api.jup.ag/openapi.json 200
content-api.jup.ag/docs 200
content-api.jup.ag/openapi.json 200
lend-api.jup.ag/docs 200
lend-api.jup.ag/swagger 200
mobile-api.jup.ag/openapi.json 200