Build with MEME OS

Token forensics, bundle detection and MEMO through one simple API. Pay per call with credits bought in $MEMEOS.

Read the docs →

1,000 free credits to start

request
1const res = await fetch("https://memeos.world/api/public/v1/xray/2fk5eGwAch1wGhsK3XhRUZpopXFGyRbFUn6XL4Yxpump", {
2 method: "GET",
3 headers: {
4 Authorization: `Bearer ${process.env.MEMEOS_API_KEY}`,
5 },
6});
7const { data, credits } = await res.json();
response · example shape
1{
2 "data": {
3 "verdict": "HIGH RISK",
4 "score": 22,
5 "authorities": { "mint": "revoked", "freeze": "revoked" },
6 "topHolders": [ ... ],
7 "flags": ["bundled_supply", "fresh_wallets"]
8 },
9 "credits": { "cost": 5, "remaining": 995 }
10}

Endpoints

X-Ray

Verdict, risk score, authorities, top holders and creator history for any Solana token.

5 credits · $0.01 per call

Bundle detection

Traces every top holder back to its first SOL funder, so linked wallets surface without token transfers.

35 credits · $0.04 per call

MEMO

Ask a question about a token. Answers are grounded only in live X-Ray facts.

50 credits · $0.05 per call

Pricing

No subscriptions. $1 buys 1,000 credits, and every $MEMEOS you pay is burned.

EndpointCreditsPrice
GET/v1/accountFree—
GET/v1/xray/{address}5$0.01
GET/v1/bundle/{address}35$0.04
POST/v1/memo/complete50$0.05
POST/v1/launch/pumpfun/prepare100$0.10
POST/v1/launch/omnichain/quote25$0.03

Scoped keys

Keys are hashed and limited to the endpoints you choose.

Rate limits

Per-key requests per minute and monthly spend caps.

Fair billing

Calls that fail on our side are refunded automatically.

API reference

Base URL https://memeos.world · auth Authorization: Bearer sk_memeos_… · JSON in, JSON out · CORS enabled.

GET /api/public/v1/account

account:read · free

Current balance, key limits and today's usage.

code
1curl https://memeos.world/api/public/v1/account \
2 -H "Authorization: Bearer $MEMEOS_API_KEY"

GET /api/public/v1/xray/{address}

xray:read · 5 credits

Full X-Ray report: verdict, score, holders, authorities, creator history, flags.

addresspath · string · requiredToken contract (Solana or EVM)
code
1curl https://memeos.world/api/public/v1/xray/2fk5eGwAch1wGhsK3XhRUZpopXFGyRbFUn6XL4Yxpump \
2 -H "Authorization: Bearer $MEMEOS_API_KEY"

GET /api/public/v1/bundle/{address}

bundle:read · 35 credits

Genesis SOL funder clusters among top holders and the share of supply they hold.

addresspath · string · requiredToken contract
code
1curl https://memeos.world/api/public/v1/bundle/2fk5eGwAch1wGhsK3XhRUZpopXFGyRbFUn6XL4Yxpump \
2 -H "Authorization: Bearer $MEMEOS_API_KEY"

POST /api/public/v1/memo/complete

memo:complete · 50 credits

Ask MEMO about a token. Answers use only live X-Ray facts.

addressbody · string · requiredToken contract
questionbody · string · required3–400 characters
code
1curl -X POST https://memeos.world/api/public/v1/memo/complete \
2 -H "Authorization: Bearer $MEMEOS_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{"address":"2fk5eGwAch1wGhsK3XhRUZpopXFGyRbFUn6XL4Yxpump","question":"Is the supply bundled?"}'

POST /api/public/v1/launch/pumpfun/prepare

launch:write · 100 credits

Pins image + metadata to IPFS and returns an unsigned pump.fun create_v2 transaction. The creator wallet and the mint keypair you generate both sign it; you broadcast it. MEME OS never holds keys.

creatorbody · string · requiredFee payer and pump.fun creator (receives creator fees)
mintbody · string · requiredPublic key of a fresh keypair you generated; it must co-sign
namebody · string · required1–32 characters
symbolbody · string · required1–10 characters
descriptionbody · stringUp to 500 characters
imagebody · string · requiredPNG/JPEG/WebP/GIF as a base64 data URL, max 2 MB
twitterbody · stringOptional https link
telegrambody · stringOptional https link
websitebody · stringOptional https link
code
1curl -X POST https://memeos.world/api/public/v1/launch/pumpfun/prepare \
2 -H "Authorization: Bearer $MEMEOS_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{"creator":"YourCreatorWa11etPubkey1111111111111111111","mint":"YourNewMintPubkey111111111111111111111111pump","name":"My Coin","symbol":"MYC","description":"Launched through the MEME OS API","image":"data:image/png;base64,iVBORw0KGgo…","twitter":"","telegram":"","website":""}'

POST /api/public/v1/launch/omnichain/quote

launch:write · 25 credits

Live SOL price to launch one coin on several chains at once (Solana + EVM, LayerZero-linked, same opening price), and which chains are paused right now.

chainsbody · string · requiredComma list from solana, ethereum, base, bsc, robinhood (2–5)
code
1curl -X POST https://memeos.world/api/public/v1/launch/omnichain/quote \
2 -H "Authorization: Bearer $MEMEOS_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{"chains":"solana,base,bsc"}'

Response envelope & headers

code
1{
2 "data": { ... },
3 "credits": { "cost": 5, "remaining": 995 }
4}
5
6x-memeos-credits-cost: 5
7x-memeos-credits-remaining: 995
8x-memeos-ratelimit-limit: 60
9x-memeos-ratelimit-remaining: 59

Errors

400Bad input (wrong address or body). Refunded.
401Missing, invalid or revoked key.
402Out of credits or key monthly cap reached.
403Key lacks the permission for this endpoint.
429Per-key rate limit reached. Retry after a minute.
500Our side failed. Refunded.

Errors return { "error": { "status", "message" } }.

Launch-as-a-service endpoints are not in v1 yet. Questions? See docs.