API Documentation

Complete reference for the Daybreak deployer reputation API.

Overview

The Daybreak API provides deployer reputation scanning for Solana tokens. It analyzes a token's deployer wallet, calculates a reputation score, and returns detailed data about rug rate, funding clusters, and token risks.

Base URL: https://api.daybreakscan.com/api/v1

Authentication

Protected endpoints require a JWT obtained through wallet signature verification:

Step 1: Request a Nonce

GET /auth/nonce?wallet=YOUR_WALLET_ADDRESS

Response:
{
  "nonce": "daybreak-auth-1708300000-abc123..."
}

Step 2: Sign the Nonce

Sign the nonce string with your Solana wallet (ed25519). Encode the signature as base58.

Step 3: Verify and Get JWT

POST /auth/verify
Content-Type: application/json

{
  "wallet": "YOUR_WALLET_ADDRESS",
  "signature": "BASE58_ENCODED_SIGNATURE",
  "message": "THE_NONCE_STRING"
}

Response:
{
  "token": "eyJhbGciOiJIUzI1NiIs..."
}

Using the JWT

Include the JWT in the Authorization header:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Tokens expire after 24 hours. Nonces expire after 5 minutes.

Endpoints

Health Check

GET /health

Response:
{
  "status": "ok",
  "helius": true,
  "version": "1.0.0"
}

Scan Token (by token address)

GET /deployer/:token_address
Authorization: Bearer <jwt>

Response:
{
  "token": { "name": "...", "symbol": "...", "address": "..." },
  "deployer": {
    "wallet": "...",
    "tokens_created": 12,
    "tokens_dead": 3,
    "death_rate": 0.25,
    "reputation_score": 72,
    "tokens": [...]
  },
  "verdict": "CLEAN",
  "funding": {
    "source_wallet": "...",
    "other_deployers_funded": 0,
    "cluster_total_tokens": 12
  },
  "token_risks": {
    "mint_authority": null,
    "freeze_authority": null,
    "deployer_holdings_pct": 0.5,
    "top_holder_pct": 12.3,
    "bundle_detected": false
  },
  "score_breakdown": { ... },
  "scanned_at": "2026-02-18T12:00:00Z"
}

Scan Wallet (direct wallet scan)

GET /wallet/:wallet_address
Authorization: Bearer <jwt>

Returns the same structure without token-specific data.

Check Usage

GET /auth/usage
Authorization: Bearer <jwt>

Response:
{
  "scans_used": 1,
  "scans_limit": 3,
  "scans_remaining": 2
}

Rate Limits

TierLimitAuth
Guest1 scan/day (by IP)None
Free3 scans/day (per wallet)JWT
Paid (x402)UnlimitedX-PAYMENT header
BotUnlimitedX-Bot-Key header

Cached results (30 min TTL) do not count against rate limits.

x402 Paid Access

The /paid/* endpoints accept x402 payments — $0.01 USDC per scan on Solana. No JWT required. Send an X-PAYMENT header with a base64-encoded JSON payload containing the payment option, wallet signature, payer address, nonce, and timestamp.

Paid Endpoints

GET /paid/deployer/:token_address
GET /paid/wallet/:wallet_address

Header: X-PAYMENT: <base64-encoded-payment-payload>

Payment Stats

GET /x402/stats (public)

Response:
{
  "total_payments": 42,
  "total_revenue_usd": 0.42
}

MCP Server

Daybreak includes an MCP (Model Context Protocol) server for AI agent integration. It exposes two tools: daybreak_scan_deployer and daybreak_scan_wallet.

# Run the MCP server
node dist/mcp-server.js

# Configure in your MCP client:
{
  "mcpServers": {
    "daybreak": {
      "command": "node",
      "args": ["path/to/dist/mcp-server.js"]
    }
  }
}

Response Codes

CodeMeaning
200Success
401Missing or invalid JWT
402Rate limit reached — x402 payment required
404Token not found
429Rate limited
503Backend temporarily unavailable

Curl Examples

# Health check
curl https://api.daybreakscan.com/api/v1/health

# Get nonce
curl "https://api.daybreakscan.com/api/v1/auth/nonce?wallet=YOUR_WALLET"

# Scan a token (with JWT)
curl -H "Authorization: Bearer YOUR_JWT" \
  https://api.daybreakscan.com/api/v1/deployer/TOKEN_ADDRESS

# Check usage
curl -H "Authorization: Bearer YOUR_JWT" \
  https://api.daybreakscan.com/api/v1/auth/usage