Complete reference for the Listener Price Oracle (LPO) and Listener Report Service (LRS)
All API requests require a Bearer token in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Your API key is provided after subscribing. Keep it secret â it identifies your account for billing and rate limiting.
The LPO delivers real-time cryptocurrency prices with sub-10ms cached responses and 30â50ms uncached responses. Prices are sourced from Coinbase â Kraken â Gemini with automatic failover.
Returns the current price for a cryptocurrency asset.
| Parameter | Type | Required | Description |
|---|---|---|---|
asset | string | Required | Asset symbol (e.g. btc, eth, sol). Case-insensitive. |
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.cpmp-site.org/price?asset=btc"
{
"asset": "BTC",
"price": 83421.57,
"timestamp": "2026-04-12T14:23:01Z",
"source": "coinbase",
"cached": true,
"cache_age_seconds": 4.2,
"latency_ms": 7,
"duration_ms": 7
}
{
"asset": "ETH",
"price": 3187.44,
"timestamp": "2026-04-12T14:23:15Z",
"source": "kraken",
"cached": false,
"cache_age_seconds": 0,
"latency_ms": 38,
"duration_ms": 38
}
| Field | Type | Description |
|---|---|---|
asset | string | Uppercase asset symbol |
price | float64 | Current price in USD |
timestamp | string (RFC3339) | Time the price was fetched or cached |
source | string | Exchange that provided the price: coinbase, kraken, or gemini |
cached | bool | Whether the response was served from MemoryDB cache |
cache_age_seconds | float64 | Age of cached value in seconds (0 if live fetch) |
latency_ms | int64 | Time to first byte in milliseconds |
duration_ms | int64 | Total request duration in milliseconds |
The LRS provides access to your API usage history and aggregated statistics. Included with every subscription tier.
Returns paginated usage log entries for your API key.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
api_key_id | string | Optional | â | Filter by API key ID |
asset | string | Optional | â | Filter by asset symbol (e.g. BTC) |
start_date | string | Optional | 93 days ago | Start date in YYYY-MM-DD format |
end_date | string | Optional | Today | End date in YYYY-MM-DD format |
cached | bool | Optional | â | Filter by cache status: true or false |
page | int | Optional | 1 | Page number |
page_size | int | Optional | 100 | Records per page (max 1000) |
format | string | Optional | json | Output format: json, csv, tsv, text |
# JSON (default)
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://lrs.cpmp-site.org/reports/usage?asset=BTC&page=1&page_size=50"
# CSV download
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://lrs.cpmp-site.org/reports/usage?format=csv" -o usage.csv
# Tab-delimited
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://lrs.cpmp-site.org/reports/usage?format=tsv" -o usage.tsv
# Plain text
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://lrs.cpmp-site.org/reports/usage?format=text"
Returns aggregated statistics for a date range.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
api_key_id | string | Optional | â | Filter by API key ID |
start_date | string | Optional | 30 days ago | Start date in YYYY-MM-DD format |
end_date | string | Optional | Today | End date in YYYY-MM-DD format |
format | string | Optional | json | Output format: json, csv, tsv, text |
| Format | Content-Type | Use Case |
|---|---|---|
json | application/json | Default. Best for programmatic consumption and APIs. |
csv | text/csv | Comma-separated. Import into Excel, Google Sheets, or any CSV-compatible tool. |
tsv | text/tab-separated-values | Tab-delimited. Ideal for databases, ETL pipelines, and tools that handle commas in data. |
text | text/plain | Human-readable plain text. Good for quick terminal review or log files. |
{
"logs": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"api_key_id": "key_abc123",
"asset": "BTC",
"price": 83421.57,
"source": "coinbase",
"cached": true,
"latency_ms": 7,
"duration_ms": 7,
"ip_address": "203.0.113.42",
"timestamp": 1744466581,
"readable_timestamp": "2026-04-12T14:23:01Z",
"cache_age_seconds": 4.2
}
],
"total_count": 1482,
"page": 1,
"page_size": 100,
"filters": {
"asset": "BTC"
}
}
id,api_key_id,asset,price,source,cached,latency_ms,duration_ms,ip_address,timestamp,readable_timestamp,cache_age_seconds
a1b2c3d4-e5f6-7890-abcd-ef1234567890,key_abc123,BTC,83421.57000000,coinbase,true,7,7,203.0.113.42,1744466581,2026-04-12T14:23:01Z,4.200
LRS Usage Report â Page 1 | Page Size 100 | Total Records 1482
================================================================================
[2026-04-12T14:23:01Z] a1b2c3d4... | Asset: BTC | Price: 83421.57000000 | Source: coinbase | Cached: true | Latency: 7ms | IP: 203.0.113.42
{
"total_requests": 14820,
"cache_hit_rate": 91.4,
"avg_latency_ms": 9.3,
"by_asset": {
"BTC": 6210,
"ETH": 4105,
"SOL": 2380,
"DOGE": 1240,
"XRP": 885
},
"by_source": {
"coinbase": 13540,
"kraken": 1180,
"gemini": 100
},
"date_range": {
"start": "2026-03-13",
"end": "2026-04-12"
}
}
LRS Summary Report â 2026-03-13 to 2026-04-12
============================================================
Total Requests : 14820
Cache Hit Rate : 91.40%
Avg Latency : 9.30ms
By Asset:
BTC 6210
ETH 4105
SOL 2380
By Source:
coinbase 13540
kraken 1180
gemini 100
| Symbol | Name | Notes |
|---|---|---|
BTC | Bitcoin | Highest cache hit rate |
ETH | Ethereum | |
SOL | Solana | |
DOGE | Dogecoin | |
XRP | XRP | |
AAVE | Aave | |
LINK | Chainlink | |
DOT | Polkadot | |
AVAX | Avalanche | |
UNI | Uniswap | |
AAVE | Aave | |
LTC | Litecoin |
Asset symbols are case-insensitive in requests. Responses always return uppercase.
| HTTP Status | Meaning | Common Cause |
|---|---|---|
400 | Bad Request | Missing or invalid asset parameter |
401 | Unauthorized | Missing or invalid API key |
429 | Too Many Requests | Rate limit exceeded for your tier |
500 | Internal Server Error | Upstream exchange unavailable or MemoryDB issue |
503 | Service Unavailable | All price sources (Coinbase, Kraken, Gemini) failed |
{
"error": "asset parameter is required",
"code": 400
}
| Tier | Requests/Month | LRS Included | Price |
|---|---|---|---|
| Starter | 10,000 | â | $9/mo |
| Basic | 50,000 | â | $29/mo |
| Pro | 250,000 | â | $79/mo |
| Enterprise | Unlimited | â Unlimited LRS | $199/mo |