The Trinity Beast – LRS Report Management Guide

Understanding report limits, usage tracking, and the LRS add-on for unlimited reporting

Region: us-east-2 (Ohio) LRS: https://lrs.cpmp-site.org Updated: May 2026

1. Overview

The Listener Report Service (LRS) provides four report endpoints that give you visibility into your API usage and report generation history. Every subscription tier includes LRS access — the difference is how many reports you can generate per month.

All four endpoints count against the same monthly and daily report limits. Every report request — whether it's a usage detail, usage summary, report-usage detail, or report-summary — uses one report from your monthly allowance.

✅ New: Dashboard Reports Panel — You can now view your usage reports and summaries directly in your account dashboard without writing any code. The dashboard provides an interactive UI with filters, pagination, and export — all backed by the same LRS endpoints documented below. See Section 9 for details.
ℹ️ Key concept: The LRS tracks two types of data:
  • API Usage — Every price request you make to the LPO is logged. The /reports/usage and /reports/summary endpoints let you query this data.
  • Report History — Every report you generate is also logged. The /reports/report-usage and /reports/report-summary endpoints let you see your report generation patterns.

2. Report Limits by Tier

TierReports per MonthPrice
Free10$0/mo
Pro10$30/mo
Enterprise10$100/mo
UnlimitedUnlimited$300/mo
LifetimeUnlimited forever$3,000 one-time
⚠️ All reports count equally. A request to /reports/usage, /reports/summary, /reports/report-usage, or /reports/report-summary each consume one report from your monthly allowance. Plan your report requests accordingly.

Monthly counts reset automatically on the first day of each calendar month via the nightly sync job. There is no daily limit — you can use all your reports in a single day or spread them across the month. It's your choice.

3. LRS Add-On — Unlimited Reports

Unlimited LRS Add-On $20/mo

Remove the 10 report/month cap and generate unlimited reports across all four endpoints. Available to Free, Pro, and Enterprise subscribers.

FeatureWithout Add-OnWith Add-On
Monthly report limit10Unlimited
All 4 report endpoints
All 4 output formats
93-day data retention
✅ Already included: Unlimited and Lifetime tier subscribers already have unlimited LRS reports at no extra charge. The add-on is only needed for Free, Pro, and Enterprise tiers.

After purchasing the add-on through Stripe, your API key is automatically upgraded. No configuration changes needed — your next report request will have unlimited access.

4. LRS Report Endpoints

All endpoints require authentication via Authorization: Bearer YOUR_API_KEY header or api_key_id query parameter. All endpoints support four output formats (json, csv, tsv, text).

4.1 GET /reports/usage — API Usage Detail

GET /reports/usage GET

Returns paginated usage log entries showing every price request made with your API key. Each entry includes the asset, price, source, latency, cache status, and more.

Query Parameters

ParameterTypeDefaultDescription
assetstringFilter by asset symbol (e.g. BTC)
start_datestring93 days agoStart date (YYYY-MM-DD)
end_datestringTodayEnd date (YYYY-MM-DD)
cachedboolFilter by cache status: true or false
pageint1Page number
page_sizeint100Records per page (max 1000)
formatstringjsonOutput format: json, csv, tsv, text

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://lrs.cpmp-site.org/reports/usage?asset=BTC&start_date=2026-03-01&page_size=50"

4.2 GET /reports/summary — API Usage Summary

GET /reports/summary GET

Returns aggregated statistics for your API usage over a date range: total requests, cache hit rate, average latency, breakdown by asset and source.

Query Parameters

ParameterTypeDefaultDescription
start_datestring30 days agoStart date (YYYY-MM-DD)
end_datestringTodayEnd date (YYYY-MM-DD)
formatstringjsonOutput format: json, csv, tsv, text

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://lrs.cpmp-site.org/reports/summary?start_date=2026-03-01"

4.3 GET /reports/report-usage — Report History Detail

GET /reports/report-usage GET NEW

Returns detailed logs of every report you have generated. See which reports you ran, when, what filters you used, how many rows were returned, how long each report took, and which server node generated it.

Query Parameters

ParameterTypeDefaultDescription
start_datestring93 days agoStart date (YYYY-MM-DD)
end_datestringTodayEnd date (YYYY-MM-DD)
report_typestringFilter by report type: usage, summary, report-usage, report-summary
output_formatstringFilter by output format used: json, csv, tsv, text
pageint1Page number
page_sizeint100Records per page (max 1000)
formatstringjsonResponse output format: json, csv, tsv, text

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://lrs.cpmp-site.org/reports/report-usage?report_type=usage&page_size=20"

4.4 GET /reports/report-summary — Report History Summary

GET /reports/report-summary GET NEW

Returns aggregated statistics about your report generation history: total reports generated, breakdown by report type, output format, and cluster node, average report duration, and average rows returned.

Query Parameters

ParameterTypeDefaultDescription
start_datestring30 days agoStart date (YYYY-MM-DD)
end_datestringTodayEnd date (YYYY-MM-DD)
formatstringjsonResponse output format: json, csv, tsv, text

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://lrs.cpmp-site.org/reports/report-summary?start_date=2026-03-01"

5. Output Formats

All four report endpoints support the same four output formats. Use the format query parameter to select your preferred format.

FormatContent-TypeUse Case
jsonapplication/jsonDefault. Best for programmatic consumption and APIs.
csvtext/csvComma-separated. Import into Excel, Google Sheets, or any CSV tool.
tsvtext/tab-separated-valuesTab-delimited. Ideal for databases and ETL pipelines.
texttext/plainHuman-readable plain text. Good for quick terminal review.

6. Date Range Rules

All report endpoints enforce consistent date range validation:

RuleDescription
Maximum range90 days. Requests spanning more than 90 days are rejected with a 400 error.
No future datesstart_date cannot be in the future. The LRS only reports on historical data.
Start before endstart_date must be on or before end_date.
FormatDates must be in YYYY-MM-DD format (e.g. 2026-03-15).
Default end_dateIf you provide start_date without end_date, the system defaults to today.
Data retentionUsage logs and report history are retained for 93 days.

7. Error Responses

All LRS error responses are returned as structured JSON with a consistent format, regardless of the requested output format. Every error message includes the 🛑 indicator, the region, cluster node, HTTP status code, and a complete sentence describing the issue.

Error Response Format

{
  "error": "🛑 [LRS] [us-east-2] [BeastMirror] [400] Invalid date format for start_date parameter.",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "code": 400,
  "service": "LRS",
  "region": "us-east-2",
  "cluster_node": "BeastMirror",
  "timestamp": "2026-05-03T18:30:00Z"
}

Status Indicators & Graduated Usage Warnings

Every LRS response includes a status field and, when usage is elevated, a usage_warning field. The warning thresholds are runtime-tunable via application parameters (default: 85% / 90% / 95%).

Statususage_warningMeaningWhen It Appears
(absent)Normal — usage well within limitsMonthly report usage below 85% of your limit
✅🟡"green"Heads-up — usage above 85%Monthly report usage at or above 85% of your limit
✅⚠️"yellow"Caution — approaching limitMonthly report usage at or above 90% of your limit
✅🔴"red"Critical — near limitMonthly report usage at or above 95% of your limit
🛑🔴"red"Limit exceeded429 error — monthly report limit reached
🛑(absent)ErrorInvalid request, authentication failure, or server error
ℹ️ Same thresholds as LPO: The LRS uses the same graduated warning app parameters as the LPO price API. Default thresholds: green at 85%, yellow at 90%, red at 95%. These are tunable at runtime via the usage_warning_green_pct, usage_warning_yellow_pct, and usage_warning_red_pct application parameters.

Plain-Text Response Format

By default, all LRS responses use the emoji status indicators shown above — the Trinity Beast Convention (TBC) format. If your system does not render emoji well, or you prefer machine-friendly text-only responses, you can request plain-text mode by submitting a support ticket through our Support page.

Once enabled for your API key, all status indicators switch to text equivalents:

TBC (Default)Plain TextMeaning
OKNormal — usage within limits
✅🟡OK - NOTE: usage above 85%Heads-up
✅⚠️OK - WARNING: approaching monthly query limitCaution
✅🔴OK - CRITICAL: near monthly query limitCritical
🛑🔴ERROR - LIMIT EXCEEDED429 — limit reached
🛑 [LRS] ...ERROR [LRS] ...Error responses
✅ [LRS] ...OK [LRS] ...Envelope status line
✅ This setting applies to everything: Once plain-text mode is enabled for your API key, it applies to all LPO price responses, all LRS report responses, and all error messages. The usage_warning field always uses the text level ("green", "yellow", "red") regardless of format — only the status field changes.

Error Codes

HTTP StatusMeaningCommon Cause
400Bad RequestInvalid date format, date range exceeds 90 days, future start date, or start after end.
401UnauthorizedMissing API key, invalid API key, or revoked API key.
429Too Many RequestsMonthly report limit exceeded for your tier. Message includes your current count and limit.
500Internal Server ErrorFailed to query data from cache or database connectivity issue.
503Service UnavailableElastiCache health check failed.

429 — Limit Exceeded Response

When your report limit is exceeded, the response includes your API key, current usage, your limit, usage percentage, the graduated warning level, a link to upgrade, and which server caught the limit:

{
  "error": "🛑 [LRS] [us-east-2] [BeastLRS] [429] Monthly report limit exceeded",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "code": 429,
  "status": "🛑🔴",
  "service": "LRS",
  "region": "us-east-2",
  "cluster_node": "BeastLRS",
  "timestamp": "2026-05-03T18:30:00Z",
  "api_key_id": "key_abc123",
  "monthly_usage": 10,
  "monthly_limit": 10,
  "usage_pct": 100,
  "usage_warning": "red",
  "upgrade_url": "https://cpmp-site.org/subscribe#lrs-addon"
}

8. Response Examples

Every LRS JSON response uses the standard 12-field UME envelope (tagged [LRS]). Report data is nested inside the data field. The data payload includes monthly_usage, monthly_limit, usage_pct, tier, and — when usage is elevated — usage_warning.

8.1 Usage Detail — Success Response (Normal)

Example request: GET /reports/usage?asset=BTC&start_date=2026-04-01&page_size=2

{
  "status": "✅ [LRS] [us-east-2] [BeastMain] [/reports/usage] [200]",
  "status_code": 200,
  "endpoint": "/reports/usage",
  "cluster_node": "BeastMain",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T12:00:05Z",
  "data": {
    "status": "✅",
    "logs": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789",
        "api_key_id": "key_abc123",
        "asset": "BTC",
        "price": 94250.12,
        "source": "coinbase",
        "cached": false,
        "latency_ms": 0,
        "duration_ms": 2,
        "ip_address": "203.0.113.42",
        "timestamp": 1714761600,
        "readable_timestamp": "2026-05-03T12:00:00Z",
        "cache_age_seconds": 0,
        "region": "us-east-2",
        "cluster_node": "BeastMain"
      },
      {
        "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",
        "api_key_id": "key_abc123",
        "asset": "BTC",
        "price": 94248.75,
        "source": "gemini",
        "cached": true,
        "latency_ms": 0,
        "duration_ms": 1,
        "ip_address": "203.0.113.42",
        "timestamp": 1714761300,
        "readable_timestamp": "2026-05-03T11:55:00Z",
        "cache_age_seconds": 2.4,
        "region": "us-east-2",
        "cluster_node": "BeastMirror"
      }
    ],
    "total_count": 247,
    "page": 1,
    "page_size": 2,
    "filters": {
      "api_key_id": "key_abc123",
      "asset": "BTC",
      "start_date": "2026-04-01"
    },
    "monthly_usage": 3,
    "monthly_limit": 10,
    "usage_pct": 30,
    "tier": "pro"
  },
  "error": ""
}

8.2 Usage Summary — Success Response (Normal)

Example request: GET /reports/summary?start_date=2026-04-01

{
  "status": "✅ [LRS] [us-east-2] [BeastMain] [/reports/summary] [200]",
  "status_code": 200,
  "endpoint": "/reports/summary",
  "cluster_node": "BeastMain",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T12:00:10Z",
  "data": {
    "status": "✅",
    "total_requests": 1482,
    "cache_hit_rate": 87.45,
    "avg_latency_ms": 1.23,
    "by_asset": {
      "BTC": 612,
      "ETH": 445,
      "SOL": 218,
      "XRP": 207
    },
    "by_source": {
      "coinbase": 520,
      "gemini": 380,
      "kraken": 310,
      "gateio": 295,
      "cryptocom": 272,
      "okx": 263
    },
    "date_range": {
      "start": "2026-04-01",
      "end": "2026-05-03"
    },
    "monthly_usage": 4,
    "monthly_limit": 10,
    "usage_pct": 40,
    "tier": "pro"
  },
  "error": ""
}

8.3 Report-Usage Detail — Success Response

Example request: GET /reports/report-usage?start_date=2026-03-16&end_date=2026-04-15&report_type=usage&format=json

{
  "status": "✅ [LRS] [us-east-2] [BeastMain] [/reports/report-usage] [200]",
  "status_code": 200,
  "endpoint": "/reports/report-usage",
  "cluster_node": "BeastMain",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-04-15T10:00:00Z",
  "data": {
    "status": "✅",
    "logs": [
      {
        "id": "f7a1b2c3-d4e5-6789-abcd-ef0123456789",
        "api_key_id": "key_abc123",
        "report_type": "usage",
        "report_run_date": "2026-04-15T10:30:00Z",
        "asset_filter": "BTC",
        "start_date_filter": "2026-03-15",
        "end_date_filter": "2026-04-15",
        "max_rows_returned": "247",
        "report_duration_ms": "42",
        "output_format": "json",
        "region": "us-east-2",
        "cluster_node": "BeastMirror"
      },
      {
        "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890",
        "api_key_id": "key_abc123",
        "report_type": "usage",
        "report_run_date": "2026-04-12T08:15:00Z",
        "asset_filter": "ETH",
        "start_date_filter": "2026-04-01",
        "end_date_filter": "2026-04-12",
        "max_rows_returned": "89",
        "report_duration_ms": "28",
        "output_format": "csv",
        "region": "us-east-2",
        "cluster_node": "BeastLRS"
      }
    ],
    "total_count": 2,
    "page": 1,
    "page_size": 100,
    "monthly_usage": 5,
    "monthly_limit": 10,
    "usage_pct": 50,
    "tier": "pro"
  },
  "error": ""
}

8.4 Report-Summary — Success Response

Example request: GET /reports/report-summary?start_date=2026-03-16&end_date=2026-04-15&format=json

{
  "status": "✅ [LRS] [us-east-2] [BeastMirror] [/reports/report-summary] [200]",
  "status_code": 200,
  "endpoint": "/reports/report-summary",
  "cluster_node": "BeastMirror",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-04-15T10:05:00Z",
  "data": {
    "status": "✅",
    "total_reports": 7,
    "by_report_type": {
      "usage": 4,
      "summary": 2,
      "report-usage": 1
    },
    "by_output_format": {
      "json": 5,
      "csv": 1,
      "text": 1
    },
    "by_cluster_node": {
      "BeastMirror": 5,
      "BeastLRS": 2
    },
    "avg_duration_ms": 38.71,
    "avg_rows_returned": 2145.86,
    "date_range": {
      "start": "2026-03-16",
      "end": "2026-04-15"
    },
    "monthly_usage": 6,
    "monthly_limit": 10,
    "usage_pct": 60,
    "tier": "pro"
  },
  "error": ""
}

Report-Summary (Text)

LRS Report Summary — 2026-03-16 to 2026-04-15
============================================================
Total Reports     : 7
Avg Duration      : 38.71ms
Avg Rows Returned : 2145.86

By Report Type:
  usage            4
  summary          2
  report-usage     1

By Output Format:
  json         5
  csv          1
  text         1

By Cluster Node:
  BeastMirror  5
  BeastLRS     2

8.5 Graduated Warning Examples (All Levels)

As your monthly report usage increases, the status and usage_warning fields change to give you advance notice before hitting your limit. These examples show the metadata fields at each warning level for a Pro tier subscriber with a 10-report monthly limit.

Normal — Below 85% (8 of 10 used)

// 8 of 10 reports used = 80% — below green threshold
{
  "status": "✅ [LRS] [us-east-2] [BeastMain] [/reports/usage] [200]",
  "status_code": 200,
  "endpoint": "/reports/usage",
  "cluster_node": "BeastMain",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T14:00:00Z",
  "data": {
    "status": "✅",
    ...
    "monthly_usage": 8,
    "monthly_limit": 10,
    "usage_pct": 80,
    "tier": "pro"
    // No usage_warning field — usage is within normal range
  },
  "error": ""
}

🟡 Green Warning — At or Above 85% (9 of 10 used)

// 9 of 10 reports used = 90% — above green AND yellow thresholds
{
  "status": "✅ [LRS] [us-east-2] [BeastMain] [/reports/usage] [200]",
  "status_code": 200,
  "endpoint": "/reports/usage",
  "cluster_node": "BeastMain",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T15:00:00Z",
  "data": {
    "status": "✅⚠️",
    ...
    "monthly_usage": 9,
    "monthly_limit": 10,
    "usage_pct": 90,
    "usage_warning": "yellow",
    "tier": "pro"
  },
  "error": ""
}
⚠️ Note: With only 10 reports/month, a single report moves usage by 10%. At 9 of 10 (90%), you jump straight to yellow. With higher limits (e.g., unlimited add-on), you would see the green (85%) level first.

⚠️ Yellow Warning — At or Above 90%

Shown above at 9 of 10 (90%). For subscribers with higher limits, here's what yellow looks like:

// Enterprise subscriber with 50-report limit, 46 used = 92%
{
  "status": "✅ [LRS] [us-east-2] [BeastLRS] [/reports/usage] [200]",
  "status_code": 200,
  "endpoint": "/reports/usage",
  "cluster_node": "BeastLRS",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T16:00:00Z",
  "data": {
    "status": "✅⚠️",
    ...
    "monthly_usage": 46,
    "monthly_limit": 50,
    "usage_pct": 92,
    "usage_warning": "yellow",
    "tier": "enterprise"
  },
  "error": ""
}

🔴 Red Warning — At or Above 95%

// Enterprise subscriber with 50-report limit, 48 used = 96%
{
  "status": "✅ [LRS] [us-east-2] [BeastLRS] [/reports/usage] [200]",
  "status_code": 200,
  "endpoint": "/reports/usage",
  "cluster_node": "BeastLRS",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T17:00:00Z",
  "data": {
    "status": "✅🔴",
    ...
    "monthly_usage": 48,
    "monthly_limit": 50,
    "usage_pct": 96,
    "usage_warning": "red",
    "tier": "enterprise"
  },
  "error": ""
}

8.6 Limit Exceeded (429)

When your monthly report limit is reached, the LRS returns a 429 with full usage context and a link to upgrade:

{
  "status": "🛑 [LRS] [us-east-2] [BeastLRS] [/reports/usage] [429]",
  "status_code": 429,
  "endpoint": "/reports/usage",
  "cluster_node": "BeastLRS",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T18:30:00Z",
  "data": null,
  "error": "🛑 [LRS] [us-east-2] [BeastLRS] [/reports/usage] [429] Monthly report limit exceeded — usage: 10/10 (100%) — upgrade: https://cpmp-site.org/subscribe#lrs-addon"
}

8.7 Exempt Tier Response (Unlimited / Lifetime / LRS Add-On)

Subscribers on Unlimited, Lifetime, or with the LRS add-on see unlimited access with zeroed limits:

{
  "status": "✅ [LRS] [us-east-2] [BeastMain] [/reports/report-summary] [200]",
  "status_code": 200,
  "endpoint": "/reports/report-summary",
  "cluster_node": "BeastMain",
  "region": "us-east-2",
  "language": "en",
  "api_key_id": "ak_demo123",
  "ip_address": "203.0.113.42",
  "agent_profile_arn": "arn:tbi:us-east-2:211998422884:agent-profile/tbts/v1",
  "timestamp": "2026-05-03T19:00:00Z",
  "data": {
    "status": "✅",
    "total_reports": 42,
    "by_report_type": {
      "usage": 20,
      "summary": 12,
      "report-usage": 6,
      "report-summary": 4
    },
    "by_output_format": {
      "json": 30,
      "csv": 8,
      "tsv": 2,
      "text": 2
    },
    "by_cluster_node": {
      "BeastMain": 18,
      "BeastMirror": 14,
      "BeastLRS": 10
    },
    "avg_duration_ms": 31.45,
    "avg_rows_returned": 1876.33,
    "date_range": {
      "start": "2026-04-01",
      "end": "2026-05-03"
    },
    "monthly_usage": 0,
    "monthly_limit": 0,
    "usage_pct": 0,
    "tier": "unlimited"
  },
  "error": ""
}
✅ Exempt tiers: When monthly_limit is 0, it means unlimited. No usage_warning field appears. The status is always .

9. Dashboard Reports Panel

The account dashboard at api.cpmp-site.org/dashboard includes an interactive Reports panel that provides a visual interface to the same LRS data documented above. No API calls or code required — log in with your magic link and browse your usage data directly in the browser.

9.1 Accessing Reports via Dashboard

Reports Panel NEW

The Reports panel is available to all API key holders, regardless of tier. Access it from the sidebar navigation in your account dashboard.

  1. Log in at https://api.cpmp-site.org/dashboard using your magic link
  2. Click 📊 Reports in the sidebar
  3. Toggle between Usage (API request logs) and Summary (aggregated stats) views

The same monthly report limits apply — each view you load counts as one report request against your tier allowance.

9.2 Panel Features

FeatureDescription
Tab toggleSwitch between Usage (detailed log entries) and Summary (aggregated statistics with charts)
Date range pickerSelect start and end dates. Defaults to last 30 days. Maximum 90-day range enforced.
Asset filterFilter usage logs by asset symbol (e.g. BTC, ETH, SOL)
Page size30, 60, or 90 records per page (multiples of 3)
PaginationNavigate through pages of results with previous/next controls
ExportDownload current view in JSON, CSV, TSV, or Text format
Summary chartsVisual breakdown by asset, by source, and by node in the Summary tab
ℹ️ Tier rate limits inherited: The dashboard Reports panel uses your authenticated session to proxy requests to the LRS. Your tier's monthly report limit, rate limits, and data retention window (93 days) all apply exactly as they would via direct API access.

9.3 Dashboard Proxy Endpoints

For developers building integrations against the dashboard session (rather than direct LRS access), the proxy endpoints are:

Dashboard EndpointProxies ToAuth
GET /dashboard/api/reports/usageGET /reports/usage on LRSBearer session token
GET /dashboard/api/reports/summaryGET /reports/summary on LRSBearer session token

These endpoints accept the same query parameters as the direct LRS endpoints (asset, start_date, end_date, page, page_size, format, cached). The dashboard automatically resolves your API key from your authenticated session — you do not need to pass api_key_id.

⚠️ Session vs. API key auth: The dashboard proxy uses your session token (from magic link login), not your API key directly. If you need programmatic access outside the browser, use the direct LRS endpoints at https://lrs.cpmp-site.org/reports/* with your API key.