{
  "openapi": "3.1.0",
  "info": {
    "title": "Solana Alpha API",
    "version": "1.3.0",
    "description": "Pay-per-call Solana market data for AI agents and trading bots: token prices, crypto news + Fear & Greed, trending memecoins, perps funding/OI, rug checks, one-call token due-diligence reports and wallet PnL. No account or API key: pay each call in USDC on Solana via x402.",
    "x-guidance": "All endpoints are GET with query params and return JSON. Call without payment to get HTTP 402 with an x402 v2 PAYMENT-REQUIRED header (scheme exact, network solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, asset USDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, payTo 3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n; the PayAI facilitator pays the SOL fee). Sign with any x402 client (@x402/fetch + @x402/svm, x402-axios, AgentCash, Corbits) and retry with PAYMENT-SIGNATURE. Typical flow: /api/trending, /api/new or /api/news to find opportunities -> /api/rugcheck?mint= to screen -> /api/token-report?mint= for full due diligence before buying -> /api/price?tokens= to value positions -> /api/wallet?address= to study a trader -> /api/perps for funding/hedging. Invalid input returns 400 and is never charged; upstream failures are not settled.",
    "x-logo": {
      "url": "https://solana-x402-data.netlify.app/icon.png"
    }
  },
  "servers": [
    {
      "url": "https://solana-x402-data.netlify.app"
    }
  ],
  "tags": [
    {
      "name": "crypto-price"
    },
    {
      "name": "news"
    },
    {
      "name": "memecoin"
    },
    {
      "name": "derivatives"
    },
    {
      "name": "token-security"
    },
    {
      "name": "wallet-analytics"
    }
  ],
  "paths": {
    "/api/price": {
      "get": {
        "operationId": "get_price",
        "summary": "Solana token prices (0.005 USDC)",
        "description": "Live USD price, 24h change, liquidity and market cap for up to 20 Solana tokens in one call. Accepts symbols (SOL, JUP, BONK, WIF, any Jupiter-listed ticker) or SPL mint addresses. Source: Jupiter Price API v3. Use for portfolio valuation, trade sizing or price checks before a swap.",
        "tags": [
          "crypto-price",
          "solana",
          "price",
          "token-price"
        ],
        "parameters": [
          {
            "name": "tokens",
            "in": "query",
            "required": true,
            "description": "Comma-separated symbols or mint addresses, max 20 (e.g. SOL,JUP,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263)",
            "schema": {
              "type": "string"
            },
            "example": "SOL,JUP,BONK"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asOf": {
                      "type": "string",
                      "description": "ISO-8601 timestamp of the snapshot"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "prices": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "query": {
                            "type": "string",
                            "description": "input token"
                          },
                          "ok": {
                            "type": "boolean"
                          },
                          "mint": {
                            "type": "string",
                            "description": "SPL mint"
                          },
                          "symbol": {
                            "type": "string",
                            "description": "ticker"
                          },
                          "name": {
                            "type": "string",
                            "description": "token name"
                          },
                          "priceUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "USD price"
                          },
                          "priceChange24hPct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "24h change %"
                          },
                          "liquidityUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "on-chain liquidity USD"
                          },
                          "marketCapUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "market cap USD"
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "asOf",
                    "prices"
                  ]
                },
                "example": {
                  "asOf": "2026-11-04T12:35:31Z",
                  "count": 1,
                  "prices": [
                    {
                      "query": "SOL",
                      "ok": true,
                      "mint": "So11111111111111111111111111111111111111112",
                      "symbol": "SOL",
                      "priceUsd": 92.77,
                      "priceChange24hPct": -0.08,
                      "liquidityUsd": 899692770,
                      "marketCapUsd": 54737798009
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/news": {
      "get": {
        "operationId": "get_news",
        "summary": "Crypto news + Fear & Greed (0.005 USDC)",
        "description": "Latest crypto headlines from Cointelegraph, Decrypt, The Block and CoinDesk, deduplicated, newest first, with source links, publish time, short summary and detected tickers, plus today's Crypto Fear & Greed index. Optional keyword filter (q=solana, q=ETF, q=BTC). Use to brief an agent on market-moving news before trading.",
        "tags": [
          "news",
          "crypto",
          "news",
          "headlines"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Optional keyword filter, e.g. solana, ETF, BTC, hack (max 60 chars)",
            "schema": {
              "type": "string"
            },
            "example": "solana"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of headlines, 1-50 (default 15)",
            "schema": {
              "type": "string"
            },
            "example": "10"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asOf": {
                      "type": "string",
                      "description": "ISO-8601 timestamp of the snapshot"
                    },
                    "query": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "count": {
                      "type": "integer"
                    },
                    "fearGreed": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "value": {
                          "type": "integer"
                        },
                        "classification": {
                          "type": "string",
                          "description": "Extreme Fear..Extreme Greed"
                        },
                        "previousValue": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "headline"
                          },
                          "url": {
                            "type": "string",
                            "description": "article URL"
                          },
                          "source": {
                            "type": "string",
                            "description": "outlet"
                          },
                          "publishedAt": {
                            "type": "string",
                            "description": "ISO time"
                          },
                          "summary": {
                            "type": "string",
                            "description": "short summary"
                          },
                          "tickers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "asOf",
                    "items"
                  ]
                },
                "example": {
                  "asOf": "2026-11-04T12:35:33Z",
                  "query": "solana",
                  "count": 1,
                  "fearGreed": {
                    "value": 34,
                    "classification": "Fear",
                    "previousValue": 26
                  },
                  "items": [
                    {
                      "title": "Binance hackers move 81% of stolen Solana, route funds via THORChain",
                      "url": "https://cointelegraph.com/news/...",
                      "source": "cointelegraph",
                      "publishedAt": "2026-11-04T09:15:55Z",
                      "tickers": [
                        "SOL"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/trending": {
      "get": {
        "operationId": "get_trending",
        "summary": "Trending Solana tokens (0.01 USDC)",
        "description": "Trending and newly promoted Solana tokens (DexScreener boosts + fresh token profiles) with live price, 1h/24h change, liquidity, 24h volume, buys/sells, pair age and quick risk flags (low liquidity, <24h old, sell pressure, FDV/liquidity). Sort by boosts, volume, new or gainers. Use to find memecoin opportunities, then check one with /api/rugcheck.",
        "tags": [
          "memecoin",
          "solana",
          "memecoin",
          "trending"
        ],
        "parameters": [
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "boosts | volume | new | gainers (default boosts)",
            "schema": {
              "type": "string",
              "enum": [
                "boosts",
                "volume",
                "new",
                "gainers"
              ]
            },
            "example": "volume"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of tokens, 1-30 (default 20)",
            "schema": {
              "type": "string"
            },
            "example": "10"
          },
          {
            "name": "minLiquidity",
            "in": "query",
            "required": false,
            "description": "Minimum pool liquidity in USD (default 0)",
            "schema": {
              "type": "string"
            },
            "example": "20000"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asOf": {
                      "type": "string",
                      "description": "ISO-8601 timestamp of the snapshot"
                    },
                    "chain": {
                      "type": "string",
                      "description": "solana"
                    },
                    "sort": {
                      "type": "string",
                      "description": "sort used"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "mint": {
                            "type": "string",
                            "description": "SPL mint"
                          },
                          "symbol": {
                            "type": "string",
                            "description": "ticker"
                          },
                          "priceUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "USD price"
                          },
                          "liquidityUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "pool liquidity USD"
                          },
                          "volume24hUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "24h volume USD"
                          },
                          "pairAgeHours": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "age of main pair"
                          },
                          "riskFlags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "asOf",
                    "tokens"
                  ]
                },
                "example": {
                  "asOf": "2026-11-04T12:35:33Z",
                  "chain": "solana",
                  "sort": "volume",
                  "count": 1,
                  "tokens": [
                    {
                      "mint": "...",
                      "symbol": "RICO",
                      "priceUsd": 0.0005587,
                      "priceChangePct": {
                        "h1": 4.2,
                        "h24": 38.1
                      },
                      "liquidityUsd": 63848,
                      "volume24hUsd": 630235,
                      "pairAgeHours": 44.2,
                      "txns24h": {
                        "buys": 2400,
                        "sells": 1900
                      },
                      "riskFlags": []
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/new": {
      "get": {
        "operationId": "get_new",
        "summary": "Newest Solana tokens (0.005 USDC)",
        "description": "Newest Solana token profiles and fresh launches (DexScreener latest profiles + boosts), youngest pair first, with live price, liquidity, 24h volume, buys/sells, pair age and quick risk flags. Cheapest way to scan fresh launches; pipe interesting mints into /api/rugcheck.",
        "tags": [
          "memecoin",
          "solana",
          "new-tokens",
          "memecoin"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of tokens, 1-30 (default 20)",
            "schema": {
              "type": "string"
            },
            "example": "10"
          },
          {
            "name": "minLiquidity",
            "in": "query",
            "required": false,
            "description": "Minimum pool liquidity in USD (default 0)",
            "schema": {
              "type": "string"
            },
            "example": "5000"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asOf": {
                      "type": "string",
                      "description": "ISO-8601 timestamp of the snapshot"
                    },
                    "chain": {
                      "type": "string",
                      "description": "solana"
                    },
                    "sort": {
                      "type": "string",
                      "description": "new"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "mint": {
                            "type": "string",
                            "description": "SPL mint"
                          },
                          "symbol": {
                            "type": "string",
                            "description": "ticker"
                          },
                          "priceUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "USD price"
                          },
                          "liquidityUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "pool liquidity USD"
                          },
                          "volume24hUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "24h volume USD"
                          },
                          "pairAgeHours": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "age of main pair"
                          },
                          "riskFlags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "asOf",
                    "tokens"
                  ]
                },
                "example": {
                  "asOf": "2026-11-05T09:00:00Z",
                  "chain": "solana",
                  "sort": "new",
                  "count": 1,
                  "tokens": [
                    {
                      "mint": "...",
                      "symbol": "NEW",
                      "priceUsd": 0.00012,
                      "liquidityUsd": 15400,
                      "volume24hUsd": 88000,
                      "pairAgeHours": 1.4,
                      "riskFlags": [
                        "pair<24h-old"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/perps": {
      "get": {
        "operationId": "get_perps",
        "summary": "Solana perps funding & open interest (0.01 USDC)",
        "description": "Perpetual futures snapshot across Solana venues (Phoenix, Velocity ex-Drift, Jupiter Perps): funding rate per hour and APR, open interest, mark/index price, basis, cross-venue mark spread and best funding-carry pair, normalized units. Markets SOL, BTC, ETH, HYPE, JUP and more (max 5 per call). Use for funding arbitrage, carry trades or sizing leverage.",
        "tags": [
          "derivatives",
          "solana",
          "perps",
          "funding-rate"
        ],
        "parameters": [
          {
            "name": "markets",
            "in": "query",
            "required": false,
            "description": "Comma-separated symbols (default SOL,BTC,ETH; max 5). Supported: SOL,BTC,ETH,HYPE,ZEC,JUP,BNB,XRP,DOGE,SUI",
            "schema": {
              "type": "string"
            },
            "example": "SOL,BTC,ETH"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asOf": {
                      "type": "string",
                      "description": "ISO-8601 timestamp of the snapshot"
                    },
                    "markets": {
                      "type": "object",
                      "description": "Keyed by symbol: { venues: { <venue>: { markPrice, indexPrice, fundingPctPerHour, fundingAprPct, openInterestUsd } }, crossVenue: { markSpreadBps, bestCarryPair } }"
                    },
                    "sources": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "markets"
                  ]
                },
                "example": {
                  "markets": {
                    "SOL": {
                      "venues": {
                        "phoenix": {
                          "fundingPctPerHour": 0.0022,
                          "fundingAprPct": 19.5,
                          "openInterestUsd": 5987966
                        }
                      },
                      "crossVenue": {
                        "markSpreadBps": 6
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/rugcheck": {
      "get": {
        "operationId": "get_rugcheck",
        "summary": "Solana token rug check (0.01 USDC)",
        "description": "Is this Solana token safe to buy? Rug-risk report for any SPL / Token-2022 mint (incl. pump.fun): mint and freeze authority, Token-2022 extensions, supply, top-10 holder concentration excluding pools, largest pools with LP lock/burn, token age, and a 0-100 risk score with plain-language reasons. Cross-checks Solana RPC, DexScreener, Jupiter and RugCheck.xyz.",
        "tags": [
          "token-security",
          "solana",
          "rugcheck",
          "token-security"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "query",
            "required": true,
            "description": "SPL / Token-2022 mint address (base58)",
            "schema": {
              "type": "string"
            },
            "example": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": "string",
                      "description": "mint"
                    },
                    "token": {
                      "type": "object"
                    },
                    "authorities": {
                      "type": "object",
                      "properties": {
                        "mintAuthorityRevoked": {
                          "type": "boolean"
                        },
                        "freezeAuthorityRevoked": {
                          "type": "boolean"
                        }
                      }
                    },
                    "holders": {
                      "type": "object"
                    },
                    "liquidity": {
                      "type": "object"
                    },
                    "age": {
                      "type": "object"
                    },
                    "risk": {
                      "type": "object",
                      "properties": {
                        "score": {
                          "type": "integer",
                          "description": "0 (safe) - 100 (very risky)"
                        },
                        "level": {
                          "type": "string",
                          "description": "low | medium | high | critical"
                        },
                        "reasons": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "points": {
                                "type": "integer"
                              },
                              "reason": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "mint",
                    "risk"
                  ]
                },
                "example": {
                  "mint": "JUPy...",
                  "authorities": {
                    "mintAuthorityRevoked": true,
                    "freezeAuthorityRevoked": true
                  },
                  "holders": {
                    "top10PctExclPools": 65.2
                  },
                  "risk": {
                    "score": 13,
                    "level": "low",
                    "reasons": []
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/token-report": {
      "get": {
        "operationId": "get_tokenReport",
        "summary": "Solana token due-diligence report (premium bundle) (0.08 USDC)",
        "description": "One-call due diligence before buying any Solana token: full rug check (mint/freeze authority, Token-2022 extensions, top-10 holders excl. pools, LP lock/burn per pool, 0-100 risk score with reasons) + live Jupiter price and 5m/1h/6h/24h change + DexScreener market data (total liquidity, 24h volume, buys/sells, pair count, first-pair age, main pair) + website/socials, with a pass/caution/avoid verdict and flags. Replaces ~5 separate calls (rugcheck + price + liquidity + age + socials).",
        "tags": [
          "token-security",
          "solana",
          "due-diligence",
          "token-report"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "query",
            "required": true,
            "description": "SPL / Token-2022 mint address (base58)",
            "schema": {
              "type": "string"
            },
            "example": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.08"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": "string",
                      "description": "mint"
                    },
                    "asOf": {
                      "type": "string",
                      "description": "ISO-8601 timestamp of the snapshot"
                    },
                    "risk_score": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "description": "0 (safe) - 100 (very risky)"
                    },
                    "risk_level": {
                      "type": "string",
                      "description": "low | medium | high | critical | unknown"
                    },
                    "verdict": {
                      "type": "string",
                      "description": "pass | caution | avoid | unknown"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "points": {
                            "type": "integer"
                          },
                          "reason": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "price_usd": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "USD price (Jupiter, DexScreener fallback)"
                    },
                    "liquidity_usd": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "total DEX liquidity USD"
                    },
                    "token_age": {
                      "type": "object",
                      "properties": {
                        "first_seen": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "age_hours": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "hours since first pool"
                        },
                        "age_days": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "days since first pool"
                        }
                      }
                    },
                    "top_holders": {
                      "type": "object",
                      "properties": {
                        "top10_pct_excl_pools": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "top-10 holders % excl. pools"
                        },
                        "largest_holder_pct": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "largest holder %"
                        },
                        "concentration": {
                          "type": "string",
                          "description": "low | moderate | high | very-high | unknown"
                        },
                        "summary": {
                          "type": "string",
                          "description": "one-line summary"
                        }
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "verdict": {
                          "type": "string",
                          "description": "pass | caution | avoid | unknown"
                        },
                        "riskScore": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "riskLevel": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "flags": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "oneLiner": {
                          "type": "string",
                          "description": "human summary"
                        }
                      }
                    },
                    "token": {
                      "type": "object"
                    },
                    "price": {
                      "type": "object",
                      "properties": {
                        "priceUsd": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "USD price"
                        },
                        "priceChangePct": {
                          "type": "object"
                        },
                        "marketCapUsd": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "market cap"
                        },
                        "fdvUsd": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "FDV"
                        }
                      }
                    },
                    "market": {
                      "type": "object",
                      "properties": {
                        "totalLiquidityUsd": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "liquidity USD"
                        },
                        "volume24hUsd": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "24h volume"
                        },
                        "pairAgeHours": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "age of first pair"
                        },
                        "pairCount": {
                          "type": "integer"
                        }
                      }
                    },
                    "security": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "authorities, holders, liquidityPools (LP lock), age, risk (same as /api/rugcheck)"
                    },
                    "socials": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "mint",
                    "risk_score",
                    "reasons",
                    "price_usd",
                    "liquidity_usd",
                    "summary"
                  ]
                },
                "example": {
                  "mint": "JUPy...",
                  "risk_score": 13,
                  "risk_level": "low",
                  "verdict": "pass",
                  "reasons": [
                    {
                      "points": 13,
                      "reason": "Top 10 holders (excl. pools) own 65.18% (halved: established token, likely treasury/vesting)"
                    }
                  ],
                  "price_usd": 0.2639,
                  "liquidity_usd": 683769,
                  "token_age": {
                    "first_seen": "2024-01-31T04:35:25Z",
                    "age_hours": 24221.4,
                    "age_days": 1009.2
                  },
                  "top_holders": {
                    "top10_pct_excl_pools": 65.18,
                    "largest_holder_pct": 24.78,
                    "concentration": "very-high",
                    "summary": "Top 10 holders (excl. pools/burn) own 65.18% of supply; largest holder 24.776% (very-high)"
                  },
                  "summary": {
                    "verdict": "pass",
                    "riskScore": 13,
                    "riskLevel": "low",
                    "flags": []
                  },
                  "price": {
                    "priceUsd": 0.42,
                    "priceChangePct": {
                      "h24": -1.2
                    }
                  },
                  "market": {
                    "totalLiquidityUsd": 8500000,
                    "volume24hUsd": 12000000,
                    "pairAgeHours": 15000
                  },
                  "security": {
                    "authorities": {
                      "mintAuthorityRevoked": true,
                      "freezeAuthorityRevoked": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/api/wallet": {
      "get": {
        "operationId": "get_wallet",
        "summary": "Solana wallet profile & PnL (0.02 USDC)",
        "description": "Profile any Solana wallet: SOL and token holdings with USD values, recent swaps parsed from the last N transactions, per-token flows with approximate PnL, and bot-like behavior signals. Use for copy-trading research, smart-money checks or counterparty due diligence. Approximations are stated in the response.",
        "tags": [
          "wallet-analytics",
          "solana",
          "wallet",
          "portfolio"
        ],
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "required": true,
            "description": "Wallet address (base58)",
            "schema": {
              "type": "string"
            },
            "example": "D5AKRGcjAiquuFKcMu5isFTNqHYsAuyYto6ZuYg4eikr"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Transactions to parse (5-15 on public RPC, up to 40 with a private RPC)",
            "schema": {
              "type": "string"
            },
            "example": "12"
          }
        ],
        "x-payment-info": {
          "protocols": [
            {
              "x402": {}
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.02"
          },
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "3WN7T7VMnRJzjRhKosbaT2oiwuMiBCe6KBfZGiZygv7n",
          "scheme": "exact"
        },
        "responses": {
          "200": {
            "description": "Data (returned after the payment settles)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "address": {
                      "type": "string",
                      "description": "wallet"
                    },
                    "holdings": {
                      "type": "object",
                      "properties": {
                        "sol": {
                          "type": "number"
                        },
                        "totalUsd": {
                          "type": "number"
                        },
                        "tokens": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        }
                      }
                    },
                    "activity": {
                      "type": "object",
                      "properties": {
                        "swapsDetected": {
                          "type": "integer"
                        },
                        "recentSwaps": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        },
                        "tokenFlows": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        }
                      }
                    },
                    "behavior": {
                      "type": "object",
                      "properties": {
                        "botLikelihood": {
                          "type": "string",
                          "description": "low | medium | high"
                        },
                        "reasons": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "holdings",
                    "activity"
                  ]
                },
                "example": {
                  "holdings": {
                    "sol": 0.6,
                    "totalUsd": 209.6,
                    "tokens": []
                  },
                  "activity": {
                    "swapsDetected": 2,
                    "tokenFlows": []
                  },
                  "behavior": {
                    "botLikelihood": "medium"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment Required: x402 v2 PAYMENT-REQUIRED header (base64 JSON) with accepts[] and the Bazaar discovery extension"
          },
          "502": {
            "description": "Upstream data source failed (payment not settled)"
          }
        }
      }
    },
    "/health": {
      "get": {
        "operationId": "health_check_free_",
        "summary": "Health check (free)",
        "security": [],
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "llm_readable_service_guide_free_",
        "summary": "LLM-readable service guide (free)",
        "security": [],
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    }
  },
  "x-discovery": {
    "wellKnown": "https://solana-x402-data.netlify.app/.well-known/x402",
    "llms": "https://solana-x402-data.netlify.app/llms.txt"
  }
}