Price Engine
TRUE Quotes — TRUE's pricing proxy over Pyth, Chainlink, RedStone, and DIA, with automatic failover and circuit-breakers.
What this is
No price, no platform. The price engine is the foundation everything else stands on — the agents quote it, the swap router signs into it, the signal-agent reads it, and the chart UI renders it. TRUE treats the price layer as the most safety-critical surface in the stack.
TRUE Quotes
TRUE Quotes is TRUE’s internal pricing proxy, hosted at quotes.truefinance.ai. It sits between consumers (chat, swaps, charts, signals) and upstream oracles, giving us a single point to enforce caching, fallback ordering, asset normalization, and divergence detection.
Source priority
| Tier | Source | Role | Coverage |
|---|---|---|---|
| Primary | Pyth Network | Push-based first-party feeds | Majors, mid-caps |
| Fallback | Chainlink | Decentralized aggregation | Majors, FX, commodities |
| Long-tail | RedStone | On-demand pricing for niche tokens | Wide |
| Long-tail | DIA | Custom feeds, RWA support | Specialty |
Failover behavior
Each asset has a preferred source. If a quote is older than its staleness budget (per-asset, ranges from 2s to 60s), TRUE Quotes demotes the source and walks down the priority list. Two consecutive failovers on the same asset open a circuit-breaker for sixty seconds and trigger an internal alert. While the breaker is open, TRUE Quotes returns the most recent quote with a stale flag set rather than fabricating a fresh price — silent broken data is the failure mode we will not allow.
{
"asset": "SOL",
"price": 186.42,
"source": "pyth",
"confidence": 0.0008,
"staleness_ms": 412,
"fallback_chain": ["pyth", "chainlink", "redstone"]
}
Memecoin Price Engine
Long-tail Solana tokens are priced through a separate path: searchMemecoins resolves the asset, then getMemecoinOverview returns canonical price, FDV, 24h change, supply, and security flags. This path bypasses Pyth/Chainlink and reads directly from on-chain pools, indexers, and curated DEX aggregators.
Memecoin prices reflect on-chain pool state, which can be empty, manipulated, or thinly traded. Always check getMemecoinSecurity and the holder-concentration warning before sizing into a long-tail position. The agent surfaces these checks; if you call the API directly, you must apply them yourself.
Direct queries
GET https://quotes.truefinance.ai/v1/price/{asset} curl -H "Authorization: Bearer $TRUE_TOKEN" \
https://quotes.truefinance.ai/v1/price/SOLResponse shape matches the example above. Multi-asset reads are supported via ?assets=BTC,ETH,SOL.
Recommended caching
Consumer-side caching should respect the per-asset staleness budget. As a rule of thumb: cache for min(50% of staleness budget, 5s). Never cache when the response carries stale: true; that means TRUE Quotes is already returning the most recent price it has, and a downstream cache would compound staleness without signalling it.
Asset normalization
TRUE Quotes normalizes asset symbols across chains. SOL is the native token on Solana, WSOL is its wrapped form on the same chain, and the API returns the canonical symbol regardless of which alias the request used. The normalization map is part of the response (canonical_symbol field) so you can verify the resolution.
Rate limits
60 req/sec per token on the public tier; 600 req/sec on the partner tier. WebSocket subscriptions count separately and have a per-connection cap on assets (50). See Rate Limits for the full table.
When TRUE Quotes returns stale: true, downstream consumers must treat the price as a stale snapshot, not as live data. Trading logic on top of a stale price is how multi-million-dollar liquidations happen on bridges and perp venues. If your integration cannot tolerate staleness, surface a “price unavailable” state to the user rather than executing.
Safety, limits, failure modes
- Open circuit-breaker. 60-second cool-down. During this window, only stale-flagged reads are returned.
- Divergence warning. When two sources disagree by more than the per-asset divergence band, both are returned with a divergence flag and the consumer is expected to abort sensitive execution.
- Single-oracle risk. Never trust a single oracle for high-value execution. The fallback chain exists precisely so you don’t have to.
- RWA pricing. RWA assets priced by DIA may be slower to update on weekends/holidays; this is upstream behavior, not a bug.
See also
- MCP —
get_priceexposes TRUE Quotes to MCP-compatible clients. - Swaps — how the router uses TRUE Quotes for pre-trade checks.
- Agentic Trading — SAE refuses execution when TRUE Quotes signals stale data.