API Documentation
Integrate NightOvO intelligence into your bots, dashboards, and tools.
API keys coming soon
Authenticated API access is under development. All endpoints below will require an API key once the system launches.
Base URL
https://nightovo.com/api/v1Rate Limits
| Tier | Requests / day | Rate limit | Price |
|---|---|---|---|
| Free | 10 | 1 req/sec | $0 |
| Pro | 1,000 | 5 req/sec | 15 USDC/mo |
| Team | 10,000 | 20 req/sec | 40 USDC/mo |
| Builder | 100,000 | 50 req/sec | Custom |
| Enterprise | Unlimited | Unlimited | Custom |
Endpoints
/api/v1/token/{address}/scanScan a Solana token for rug-pull risk. Returns a 0-100 risk score, 12 heuristic sub-checks, deployer info, and optional AI narrative.
Example Request
curl -H "Authorization: Bearer nvo_YOUR_KEY" \ "https://nightovo.com/api/v1/token/So11111111111111111111111111111111111111112/scan"
Example Response
{
"address": "So111...112",
"name": "Wrapped SOL",
"risk_score": 5,
"risk_label": "safe",
"checks": [ ... ],
"deployer_address": "...",
"ai_narrative": "This token appears safe..."
}/api/v1/feed/trendingTrending tokens from pump.fun and Raydium, sorted by volume and social signal. Returns the latest launches with risk scores.
Example Request
curl -H "Authorization: Bearer nvo_YOUR_KEY" \ "https://nightovo.com/api/v1/feed/trending?limit=20"
Example Response
{
"launches": [
{ "address": "...", "name": "DOGWIF", "risk_score": 32, "risk_label": "moderate" }
],
"total": 150,
"page": 1
}/api/v1/feed/picksOvO curated safe tokens -- low risk score, verified liquidity, clean deployer history. Updated every 15 minutes.
Example Request
curl -H "Authorization: Bearer nvo_YOUR_KEY" \ "https://nightovo.com/api/v1/feed/picks"
Example Response
{
"launches": [
{ "address": "...", "name": "SAFE_TOKEN", "risk_score": 8, "risk_label": "safe" }
],
"total": 25
}/api/v1/feed/rug-alertsHigh-risk tokens to avoid. Tokens scoring 70+ on the risk scale with confirmed red flags like honeypot mechanics or insider clusters.
Example Request
curl -H "Authorization: Bearer nvo_YOUR_KEY" \ "https://nightovo.com/api/v1/feed/rug-alerts"
Example Response
{
"launches": [
{ "address": "...", "name": "SCAM_TOKEN", "risk_score": 92, "risk_label": "danger" }
],
"total": 12
}/api/v1/wallet/{address}/traceWallet fund flow graph. Returns nodes (wallets) and edges (transactions) for visualization. Depth controlled by subscription tier.
Example Request
curl -H "Authorization: Bearer nvo_YOUR_KEY" \ "https://nightovo.com/api/v1/wallet/ABC123.../trace?depth=3"
Example Response
{
"address": "ABC123...",
"nodes": [ { "address": "...", "labels": ["deployer"], "reputation_score": 0.3 } ],
"edges": [ { "from": "...", "to": "...", "amount": 500, "token": "SOL" } ],
"depth": 3
}/api/v1/chat/messageChat with OvO AI. Ask questions about tokens, wallets, or general Solana security. Supports conversation context via session_id.
Example Request
curl -X POST -H "Authorization: Bearer nvo_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Is this token safe? ABC123...", "session_id": "optional"}' \
"https://nightovo.com/api/v1/chat/message"Example Response
{
"reply": "I analyzed token ABC123... The risk score is 72 (high). Key concerns: ...",
"session_id": "sess_abc123"
}/api/v1/statusHealth check endpoint. Returns service status, total tokens scanned, uptime, and API version. No authentication required.
Example Request
curl "https://nightovo.com/api/v1/status"
Example Response
{
"status": "ok",
"api_version": "0.1.0",
"tokens_scanned": 142857,
"uptime_seconds": 86400,
"date": "2026-04-09"
}Authentication
All endpoints (except /status) require a Bearer token in the Authorization header:
Authorization: Bearer nvo_your_api_key_hereAPI keys use the prefix nvo_ and are 48 characters long. Keys are hashed with SHA-256 on our side -- you will only see the full key once at creation.
Error Codes
| Code | Meaning |
|---|---|
| 401 | Missing or invalid API key |
| 403 | API key revoked or expired |
| 404 | Token or wallet not found |
| 429 | Rate limit exceeded -- check Retry-After header |
| 500 | Internal server error |