Follow us on X
API & PAYMENTS / SCAN2MOON DEVELOPER PORTAL
6
Endpoints
Free
Starter Tier
$0.001
Min Price/Call
2
Payment Rails
0
Sign-Up Required
Developer API — Solana Analytics

Proprietary On-Chain Data.
Built for AI Agents.

Access Scan2Moon's on-chain intelligence programmatically. Subscribe with an API key, pay per call with crypto, or add as a native Claude tool via MCP — no account required for AI agents.

API Key plans x402 on Base Solana USDC-SPL ◆ Claude MCP No sign-up for pay-per-call
◆ Get API Key
Pricing Plans
Starter
Free
100 requests / day
  • All 5 proprietary endpoints
  • JSON responses
  • Community support
Get Free Key
Indie
$15/mo
3,000 requests / day
  • Everything in Starter
  • 30× higher quota
  • Pay with USDC — instant
Upgrade with USDC
Power
$99/mo
100,000 requests / day
  • Everything in Pro
  • 4× Pro quota
  • Pay with USDC — instant
Upgrade with USDC
Enterprise
Custom
1,000,000 requests / day
  • Everything in Power
  • SLA + dedicated support
  • Custom endpoints
Contact on X
Key Dashboard
Your key is only sent to our own /keyStatus endpoint
Upgrade Plan — Pay with USDC
Option A — Connect Browser Wallet
Phantom • Backpack • Solflare • any window.solana wallet
or already sent from your phone / app?
Option B — Send Manually, Paste Signature
Send exactly 49 USDC to the address below, then paste the transaction signature.
Recipient (Solana mainnet)
2NYUevD2m8eRvHFsT3JvDy8poxiWNVEKXqnDvXWrZpyC
Token: USDC-SPL • Mint: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Verified on-chain via Helius • Key issued instantly • 48-hour claim window
Payment Rails
Base — x402 EVM / L2

The x402 open protocol, designed for AI agents. No account needed. Sign an ERC-3009 USDC authorisation, pass it in X-Payment, done.

Recipient address (Base)
0x57fe97c1be493f100514aaa8ab1adda713ca5ffb
Asset: USDC on Base • Contract: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Solana — USDC-SPL Solana mainnet

Native Solana path for devs already in the ecosystem. Send USDC-SPL to our wallet, pass the transaction signature in X-Solana-Payment.

Recipient address (Solana)
2NYUevD2m8eRvHFsT3JvDy8poxiWNVEKXqnDvXWrZpyC
Asset: USDC-SPL • Mint: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
How Pay-Per-Call Works
Every proprietary endpoint checks credentials in this order: 1. X-Api-Key (plan-based)  •  2. X-Payment (x402 / Base USDC)  •  3. X-Solana-Payment (Solana USDC-SPL)  •  4. Browser request from scan2moon.com (IP rate limited). External callers with no credential receive a 402 Payment Required response with full machine-readable payment instructions.
Agent Quick-Start — x402 (Base)
Step 1 — Discover pricing
curl https://scan2moon.com/.netlify/functions/prices
Step 2 — Call without credentials, read the 402
curl -i https://scan2moon.com/.netlify/functions/devWallet?wallet=WALLET_ADDRESS

HTTP/2 402
{
  "x402Version": 1,
  "accepts": [{
    "scheme": "exact",
    "network": "base",
    "maxAmountRequired": "5000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x57fe97c1be493f100514aaa8ab1adda713ca5ffb",
    "maxTimeoutSeconds": 300,
    "resource": "https://scan2moon.com/.netlify/functions/devWallet"
  }]
}
Step 3 — Sign ERC-3009 & retry with X-Payment (using x402-fetch)
import { wrapFetch } from "x402-fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount("0x_YOUR_PRIVATE_KEY");
const fetchWithPayment = wrapFetch(fetch, account);

const res  = await fetchWithPayment(
  "https://scan2moon.com/.netlify/functions/devWallet?wallet=WALLET_ADDRESS"
);
const data = await res.json();
Agent Quick-Start — Solana USDC-SPL
Step 1 — Send USDC-SPL (@solana/spl-token)
import { Connection, PublicKey, Transaction,
         createTransferInstruction, getOrCreateAssociatedTokenAccount } from "@solana/spl-token";

const connection  = new Connection("https://api.mainnet-beta.solana.com");
const USDC_MINT   = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
const RECIPIENT   = new PublicKey("2NYUevD2m8eRvHFsT3JvDy8poxiWNVEKXqnDvXWrZpyC");
const AMOUNT      = 5000; // 0.005 USDC (6 decimals)

const senderATA    = await getOrCreateAssociatedTokenAccount(connection, payer, USDC_MINT, payer.publicKey);
const recipientATA = await getOrCreateAssociatedTokenAccount(connection, payer, USDC_MINT, RECIPIENT);

const tx        = new Transaction().add(
  createTransferInstruction(senderATA.address, recipientATA.address, payer.publicKey, AMOUNT)
);
const signature = await connection.sendTransaction(tx, [payer]);
await connection.confirmTransaction(signature, "confirmed");
Step 2 — Pass the signature in X-Solana-Payment
const res = await fetch(
  "https://scan2moon.com/.netlify/functions/devWallet?wallet=WALLET_ADDRESS",
  { headers: { "X-Solana-Payment": signature } }
);
const data = await res.json();
Claude MCP Integration NEW
The scan2moon-mcp package turns Scan2Moon into a native Claude tool. Once installed, Claude can call analyze_wallet, get_new_pairs, get_smart_money, predict_lp_pull, detect_bundle_attack, and batch_risk_score autonomously — no copy-pasting addresses or API responses needed.
🤖
Claude Code
Installs as a persistent tool in your Claude Code session. Works with any project.
🖥️
Claude Desktop
Add to claude_desktop_config.json for always-on Solana intelligence in your desktop app.
Step 1 — Get a free API key above, then add to Claude Code
export SCAN2MOON_API_KEY=s2m_your_key_here
claude mcp add scan2moon -- npx scan2moon-mcp
Step 2 — Ask Claude anything about Solana
# Claude now has direct access — just ask in plain English:

"Analyze this wallet and tell me if the dev is a serial rugger: 9WzDXwBb..."
"Show me new Solana pairs from the last hour with low risk"
"Check if this token has a bundle attack: EPjFWdd5..."
"Who are the top 10 smart money wallets on Solana right now?"
Claude Desktop — claude_desktop_config.json
{
  "mcpServers": {
    "scan2moon": {
      "command": "npx",
      "args": ["scan2moon-mcp"],
      "env": {
        "SCAN2MOON_API_KEY": "s2m_your_key_here"
      }
    }
  }
}
Advanced — x402 auto-pay (no API key, agents pay per call)
# Uses your Base/EVM wallet to pay $0.001–$0.01 USDC per call automatically
# Requires: npm install x402-fetch viem  (in the same environment)

export SCAN2MOON_PRIVATE_KEY=0x_your_base_private_key
claude mcp add scan2moon -- npx scan2moon-mcp
Available Claude tools
analyze_wallet
Dev history · rug rate · token statuses
get_new_pairs
Latest Pump.fun & Raydium launches
predict_lp_pull
Rug pull probability score
detect_bundle_attack
Coordinated sniper wallet detection
get_smart_money
Top traders ranked by on-chain PnL
batch_risk_score
Bulk risk scoring up to 15 tokens
ElizaOS Plugin NEW
The @scan2moon/eliza-plugin adds all five Scan2Moon tools to any ElizaOS agent. Actions are triggered automatically from natural language — no manual API calls needed.
Install
npm install @scan2moon/eliza-plugin
Add to your ElizaOS character config
import { scan2moonPlugin } from "@scan2moon/eliza-plugin";

export const character = {
  name: "MyAgent",
  plugins: [scan2moonPlugin],
  settings: {
    secrets: {
      SCAN2MOON_API_KEY: "s2m_your_key_here"  // free at scan2moon.com/api-portal.html
    }
  }
};
Actions included
ANALYZE_WALLET
Dev rug history & penalty score
PREDICT_LP_PULL
LP pull probability score 0–100
DETECT_BUNDLE
Coordinated sniper attack detection
GET_SMART_MONEY
Top traders leaderboard
GET_NEW_PAIRS
Latest newly launched tokens
API Key Usage
Plan keys give a daily quota and higher sustained throughput — better for production apps. Pass your key in the X-Api-Key header or ?apiKey= query parameter. Daily counters reset at midnight UTC.
Header (recommended)
curl -H "X-Api-Key: s2m_your_key_here" \
     "https://scan2moon.com/.netlify/functions/devWallet?wallet=WALLET"
Endpoints & Pricing
GET /.netlify/functions/devWallet?wallet=ADDRESS $0.005 / call

Full deployment history for any Solana wallet. Every token the address launched, classified ACTIVE / DEAD / DUMPED / RUG with liquidity & price data. Aggregate rug rate. Unique Scan2Moon data.

Response shape
{ "wallet":"...", "totalDeployed":7, "rugCount":2, "rugRate":28.6,
  "tokens":[{ "mint":"...", "status":"ACTIVE", "liquidity":45200, "mc":890000 }] }
POST /.netlify/functions/lpPredictor $0.005 / call

LP pull probability score (0–100). Combines LP burn/lock %, pool age, mint authority, creator holdings, top-10 concentration, deployer rug history. Named signal breakdown included.

Request body
{ "mint": "TOKEN_MINT_ADDRESS", "creator": "DEPLOYER_WALLET" }
Response shape
{ "score":72, "risk":"MEDIUM", "signals":[{ "label":"LP Burn","value":"85%","delta":20 }],
  "lpBurnPct":85, "poolAgeDays":14.3, "mintAuthority":"Renounced" }
POST /.netlify/functions/bundle $0.010 / call

Detects coordinated wallet bundling at token launch. Early buyer clustering, common SOL funder tracing (unique signal via Helius raw RPC), estimated real controllers. Bundle safety score 0–100.

Request body
{ "mint": "TOKEN_MINT_ADDRESS", "hasGraduated": false }
Response shape
{ "bundleScore":82, "verdict":"CLEAN", "earlyPct":4,
  "commonFunderDetected":false, "estimatedControllers":11 }
GET /.netlify/functions/smartMoneyLeaderboard $0.002 / call

Classified wallet leaderboard built from every Whale DNA scan. Filter by archetype, sort by copy score, win rate, or value. Grows with every user scan.

Query params
?archetype=smart_money&sort=win_rate&limit=20
GET /.netlify/functions/newPairs $0.001 / call

Live new token feed from Scan2Moon's detection pipeline, updated every 2 minutes. Pre-scored risk level, liquidity, market cap, holder count, and on-chain launch time. 7-day rolling window.

GET /.netlify/functions/prices Free

Machine-readable pricing discovery. Returns all endpoint prices, Base x402 payment requirements, and Solana payment instructions. Designed for agent auto-discovery.

HTTP Status Codes
StatusMeaningAction
200OKSuccess
400Bad RequestFix request params
401UnauthorizedAPI key invalid or revoked
402Payment RequiredRead the accepts[] field and pay
429Too Many RequestsDaily plan limit hit or IP rate limit
502Bad GatewayUpstream data source unavailable — retry
Get Your API Key

Generate a Free Starter Key

Enter your email — your key is created instantly. No approval, no credit card. Need higher limits? Upgrade with USDC.

Free forever • 100 req/day • No credit card