NakedPnL

The public registry of verified investment performance. Every return sourced from SEC filings, exchange APIs, or platform data.

Registry

  • Registry
  • Market Context
  • How It Works
  • Community

Verification

  • Get Verified
  • Connect Exchange

Legal

  • Terms of Service
  • Privacy Policy
  • GDPR Rights
  • Cookie Policy
  • Disclaimers
  • Methodology
  • Compliance
Follow

NakedPnL is a publisher of verified performance data. Nothing on this site constitutes investment advice, a recommendation, or a solicitation to buy, sell, or hold any security, commodity, or digital asset. Past performance does not indicate future results. Trading carries a high risk of total capital loss.

© 2026 NakedPnLAll performance data is verified by the NakedPnL teamcontact@nakedpnl.com
NakedPnL
RegistryPricingHow It WorksCommunityContact
Registry/API Reference

API Reference

v1.0

Read-only access to the verified performance registry. Institutional funds, private accounts, and algo trading agent data available through a consistent JSON envelope.

Access the only registry of independently verified trading returns. Power your allocation tools, analytics platforms, and due diligence workflows with verified performance data.

Base URLhttps://nakedpnl.com/api/v1

Build on Verified Performance Data

Use cases for the NakedPnL API

📊
For Allocators
Screen verified managers before meetings. Filter by strategy, AUM, and risk metrics.
🔬
For Analytics Platforms
Embed verified performance data in your analytics tools. Real returns, not self-reported.
✓
For Compliance
Verify fund claims against the NakedPnL registry as part of your due diligence process.
🛡
For Fund Websites
Display verified performance badges and current metrics on your own website.
Popular Integrations
Portfolio screening toolsDue diligence automationPerformance attribution dashboardsVerified performance widgetsAllocation recommendation enginesRisk monitoring systems

Authentication and Rate Limiting

The v1 API is public and requires no authentication. All endpoints are read-only. Rate limits are applied per IP address using a sliding window.

Rate Limit
60 requests
per 60-second window
Authentication
None required
Public read-only access
Response Format
JSON
Consistent envelope with meta

Rate Limit Headers

Every response includes rate limit headers. When the limit is exceeded, a 429 status is returned with a Retry-After header.

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
Retry-After: 12          # Only present on 429 responses

Response Envelope

All successful responses wrap data in a consistent envelope. Error responses replace the data field with an error string.

Success (2xx)

{
  "data": {
    "...": "endpoint-specific payload"
  },
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}

Error (4xx / 5xx)

{
  "error": "Agent not found",
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}
Endpoints

Endpoints

GET/api/v1/health

Health Check

Returns system health status including database connectivity and data sync freshness. Use this endpoint to verify service availability before making other requests.

Example Request

curl https://nakedpnl.com/api/v1/health

Example Response

{
  "data": {
    "status": "healthy",
    "db": "ok",
    "sync": "ok",
    "version": "a1b2c3d"
  },
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}

Returns "healthy" when the database is reachable and sync data is fresh. Returns "degraded" (HTTP 503) when the database is unreachable or sync data is older than 36 hours.

Try it
GET/api/v1/registry

Registry

Returns the full verified performance registry, including both institutional funds and verified private accounts. This is the primary data endpoint for the NakedPnL registry.

Example Request

curl https://nakedpnl.com/api/v1/registry

Example Response

{
  "data": {
    "institutional": [
      {
        "rank": 1,
        "name": "Citadel Wellington",
        "entity": "Citadel LLC",
        "aum": "$62.3B",
        "ytdReturn": "+18.4%",
        "oneYrReturn": "+24.1%",
        "threeYrAnn": "+19.7%",
        "fiveYrAnn": "+17.2%",
        "sharpe": 2.31,
        "source": "SEC Filing",
        "verified": true
      }
    ],
    "private": [
      {
        "rank": 1,
        "username": "vtrader",
        "displayName": "V. Trader",
        "startingCapital": "$250K",
        "currentEquity": "$1.2M",
        "totalReturn": "+380%",
        "annualized": "+42.1%",
        "maxDrawdown": "-18.3%",
        "sharpe": 1.89,
        "verified": true
      }
    ],
    "count": {
      "institutional": 12,
      "private": 8
    }
  },
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}

Returns two arrays: institutional funds (ranked by verified returns, sourced from SEC filings) and private accounts (ranked by verified total return). Counts for each category are included.

Try it
GET/api/v1/agents

Agent Registry

Returns all active, publicly visible algo trading agents with their latest metrics snapshot, connection state, and builder information.

Example Request

curl https://nakedpnl.com/api/v1/agents

Example Response

{
  "data": {
    "agents": [
      {
        "id": "clx...",
        "callsign": "ALPHA-7",
        "strategy": "Momentum",
        "description": "Multi-timeframe momentum strategy",
        "verificationTier": "BROKERAGE_API",
        "status": "VERIFIED",
        "isActive": true,
        "createdAt": "2026-01-15T08:00:00.000Z",
        "builder": {
          "username": "jdoe",
          "displayName": "J. Doe"
        },
        "connection": {
          "exchange": "binance",
          "state": "CONNECTED",
          "isActive": true,
          "lastSyncAt": "2026-03-19T11:00:00.000Z"
        },
        "metrics": {
          "snapshotDate": "2026-03-19",
          "aumUsd": 150000,
          "annualReturn": 34.2,
          "maxDrawdown": -12.5,
          "sharpeRatio": 1.87,
          "uptimePct": 99.2,
          "compositeScore": 82,
          "stabilityGrade": "A",
          "sortinoRatio": 2.1,
          "calmarRatio": 2.74,
          "volatilityPct": 18.3,
          "currentDdPct": -3.1
        }
      }
    ],
    "count": 1
  },
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}

Returns an array of agent objects. Each includes builder info, primary connection state, and the latest metrics snapshot (if available). Agents pending review are excluded.

Try it
GET/api/v1/agents/:callsign

Agent Detail

Returns detailed information for a single agent by callsign (case-insensitive), including version history and recent attestation events.

Parameters

NameTypeRequiredDescription
callsignstringYesThe agent callsign identifier. Case-insensitive lookup.

Example Request

curl https://nakedpnl.com/api/v1/agents/ALPHA-7

Example Response

{
  "data": {
    "id": "clx...",
    "callsign": "ALPHA-7",
    "strategy": "Momentum",
    "description": "Multi-timeframe momentum strategy",
    "verificationTier": "BROKERAGE_API",
    "status": "VERIFIED",
    "isActive": true,
    "rankedAt": "2026-02-01T00:00:00.000Z",
    "statusChangedAt": "2026-02-01T00:00:00.000Z",
    "createdAt": "2026-01-15T08:00:00.000Z",
    "updatedAt": "2026-03-19T11:00:00.000Z",
    "builder": {
      "username": "jdoe",
      "displayName": "J. Doe"
    },
    "connection": {
      "id": "clx...",
      "exchange": "binance",
      "state": "CONNECTED",
      "isActive": true,
      "lastSyncAt": "2026-03-19T11:00:00.000Z",
      "label": "Main Account"
    },
    "metrics": {
      "snapshotDate": "2026-03-19",
      "aumUsd": 150000,
      "annualReturn": 34.2,
      "maxDrawdown": -12.5,
      "sharpeRatio": 1.87,
      "uptimePct": 99.2,
      "compositeScore": 82,
      "stabilityGrade": "A",
      "sortinoRatio": 2.1,
      "calmarRatio": 2.74,
      "volatilityPct": 18.3,
      "currentDdPct": -3.1
    },
    "versions": [
      {
        "id": "clx...",
        "version": 2,
        "strategy": "Momentum",
        "description": "Updated signal thresholds",
        "configHash": "a8f3...",
        "isActive": true,
        "createdAt": "2026-03-01T00:00:00.000Z"
      }
    ],
    "recentEvents": [
      {
        "id": "clx...",
        "eventType": "METRICS_SNAPSHOT",
        "detail": "Daily metrics snapshot recorded",
        "createdAt": "2026-03-19T11:00:00.000Z"
      }
    ]
  },
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}

Returns a single agent with full detail: builder info, primary connection, latest metrics, active version history, and the 20 most recent attestation events. Returns 404 if the callsign is not found.

Try it
GET/api/v1/agents/:callsign/returns

Agent Rolling Returns

Computes rolling return metrics for a given agent across four time windows: 30-day, 90-day, 365-day, and all-time. All four computations run concurrently.

Parameters

NameTypeRequiredDescription
callsignstringYesThe agent callsign identifier. Case-insensitive lookup. Also accepts agent ID.

Example Request

curl https://nakedpnl.com/api/v1/agents/ALPHA-7/returns

Example Response

{
  "data": {
    "agentId": "clx...",
    "callsign": "ALPHA-7",
    "windows": {
      "30d": {
        "periodReturn": 4.2,
        "annualizedReturn": 65.1,
        "maxDrawdown": -3.1,
        "sharpeRatio": 2.1,
        "dataPoints": 30
      },
      "90d": {
        "periodReturn": 12.8,
        "annualizedReturn": 61.3,
        "maxDrawdown": -5.4,
        "sharpeRatio": 1.95,
        "dataPoints": 90
      },
      "365d": {
        "periodReturn": 34.2,
        "annualizedReturn": 34.2,
        "maxDrawdown": -12.5,
        "sharpeRatio": 1.87,
        "dataPoints": 365
      },
      "allTime": {
        "periodReturn": 52.7,
        "annualizedReturn": 38.1,
        "maxDrawdown": -12.5,
        "sharpeRatio": 1.82,
        "dataPoints": 420
      }
    }
  },
  "meta": {
    "timestamp": "2026-03-19T12:00:00.000Z",
    "version": "1.0"
  }
}

Returns rolling return metrics for four time windows. Each window includes period return, annualized return, maximum drawdown, Sharpe ratio, and the number of data points used in the computation. Returns 404 if the agent is not found or not publicly visible.

Try it