Valueverse
  • Screener
  • Research
Valueverse

Token cash-flow data, value mechanics, and API access for research workflows.

Platform

  • Screener
  • Research
  • Sign in
  • Account

Developers

  • API docs
  • API keys

Resources

  • FAQ
  • Methodology
  • Updates

Legal

  • Terms of Use
  • Privacy Policy
© 2026 Valueverse. All rights reserved.Built for token fundamentals, mechanics, and API access.
QuickstartAuthenticationEndpointsExamplesResponsesErrors

Developer access

Valueverse API

Pull Valueverse-calculated multipliers, metric history, and curated Valueverse charts into local research scripts, dashboards, and research workflows.

Manage API keys

Base URL

app.valueverse.ai

All current API routes live under /api/v1.

Auth

Public / API key

Computed product routes are public. Token research bundles require an API key.

Research bundle

Token mechanics

Use an API key when you need the research structure behind a token.

Quickstart

Start with product routes: screener rows, metric history, and chart data.

curl "https://app.valueverse.ai/api/v1/screener?sort=-annualizedRevenue"

curl "https://app.valueverse.ai/api/v1/tokens/aero/metrics/history?stream=fees_bribes_rebase&metrics=erm30d,effectiveMarketCap&limit=30"

curl "https://app.valueverse.ai/api/v1/tokens/aero/charts/public_goods_buyback"

Authentication

Public routes do not need a key. Send a Bearer token only for API-key routes.

curl https://app.valueverse.ai/api/v1/tokens/aave/full \
  -H "Authorization: Bearer $VALUEVERSE_API_KEY"

Header

Authorization: Bearer ...

Send this only to Valueverse API routes that require an API key.

Key safety

Server or local script

Do not expose API keys in public browser code or client bundles.

Endpoints

Public product endpoints expose computed multipliers, metric history, and curated charts. API-key routes expose deeper token research structure.

GET/api/v1/metricsPublic

Product metric catalog: Valueverse-calculated slugs, units, and kinds for the screener, snapshots, history, and charts.

GET/api/v1/tokensPublic

Coverage catalog showing which tokens have screener rows, snapshots, metric history, charts, trends, and backtests.

GET/api/v1/tokens/{slug}Public

Single-token computed snapshot: multiplier row, revenue streams, section availability, combined revenue, and fundamentals.

GET/api/v1/screenerPublic

Main Valueverse multiplier table. Sort by effective market cap, ratio, revenue, or multiplier window.

GET/api/v1/tokens/{slug}/metrics/historyPublic

Historical Valueverse metrics for a token: holder FCF, effective market cap, and P/FCF windows. Defaults to aggregate stream when present; stream=all returns all streams. limit returns the latest matching rows in chronological order.

GET/api/v1/tokens/{slug}/chartsPublic

Curated Valueverse chart catalog for a token, including title, section, freshness, row count, and data endpoint.

GET/api/v1/tokens/{slug}/charts/{chartKey}Public

One chart dataset with renderer metadata, rows, gaps, and freshness status.

GET/api/v1/tokens/{slug}/fullAPI key

Token mechanics and research bundle: token summary, value drivers, driver graph edges, token functions, formulas, descriptions, and methodology context.

Examples

Keep keys out of browsers. Run these from a backend or local script.

TypeScript

const res = await fetch(
  "https://app.valueverse.ai/api/v1/tokens/aero/metrics/history?metrics=erm30d,effectiveMarketCap&limit=30",
);

if (!res.ok) throw new Error(`Valueverse API failed: ${res.status}`);
const payload = await res.json();

Python

import os
import requests

res = requests.get(
    "https://app.valueverse.ai/api/v1/screener",
    params={"sort": "-annualizedRevenue"},
    timeout=20,
)
res.raise_for_status()
payload = res.json()

Responses

Every route returns a { data, meta } envelope. Computed scalar numbers are MetricValue objects; table/chart row cells use columns[] for units.

Envelope

{ data, meta }

Single resources and lists share the same shape. meta carries servedAt, asOf, and count.

MetricValue

{ metric, value, unit, kind, asOf, freshness, status, source }

If value is null, status and reason explain missing, stale, unsupported, or not computed data. source is a Valueverse surface tag, not provider metadata.

Rate limits

X-RateLimit-Remaining

Successful responses include the remaining request budget; 429 responses include Retry-After.

Stable IDs

id / parentId / edge IDs

Mechanics bundle IDs are for joining objects inside the response graph.

// GET /api/v1/tokens/aero  ->  200
// Abridged: repeated MetricValue fields and empty sections omitted for readability.
{
  "data": {
    "token": { "slug": "aero", "displayName": "Aerodrome Finance", "symbol": "AERO" },
    "row": {
      "effectiveMarketCap": {
        "metric": "effectiveMarketCap",
        "value": 178007620.48,
        "unit": "USD",
        "kind": "gauge",
        "asOf": "2026-06-11T20:13:34.404Z",
        "freshness": "fresh",
        "status": "ok",
        "source": { "type": "valueverse", "surface": "token_snapshot" }
      },
      "annualizedRevenue": { "metric": "annualizedRevenue", "value": 69668958.21, "unit": "USD", "kind": "rate", "asOf": "2026-06-11T20:13:34.404Z", "freshness": "fresh", "status": "ok" },
      "multiples": {
        "30d": { "metric": "multiple.30d", "value": 3.96, "unit": "x", "kind": "ratio", "asOf": "2026-06-11T20:13:34.404Z", "freshness": "fresh", "status": "ok" },
        "365d": { "metric": "multiple.365d", "value": 2.62, "unit": "x", "kind": "ratio", "asOf": "2026-06-11T20:13:34.404Z", "freshness": "fresh", "status": "ok" }
      }
    },
    "combinedRevenue": {
      "annualized": { "metric": "combinedRevenue.annualized", "value": 69668958.21, "unit": "USD", "kind": "rate", "freshness": "fresh", "status": "ok" }
    },
    "fundamentals": {
      "fdvToRevenue": { "metric": "fundamentals.fdvToRevenue", "value": 9.58, "unit": "x", "kind": "ratio", "freshness": "fresh", "status": "ok" }
    },
    "streams": [
      {
        "key": "fees_bribes_rebase",
        "label": "Fees, bribes, and rebase emissions",
        "mixPercentLabel": "95%",
        "annualizedRevenue": { "metric": "stream.annualizedRevenue", "value": 66173836.61, "unit": "USD", "kind": "rate", "freshness": "fresh", "status": "ok" }
      }
    ],
    "sections": { "charts": "ok", "fundamentals": "ok", "streams": "ok" },
    "freshness": { "generatedAt": "2026-06-11T20:13:34.404Z", "status": "ok", "warnings": [] }
  },
  "meta": { "servedAt": "2026-06-29T12:00:00Z", "asOf": "2026-06-11T20:13:34.404Z" }
}

Metric catalog

GET /api/v1/metrics
{ data: MetricCatalogEntry[], meta }
data[].slugdata[].unitdata[].kinddata[].groupmeta.count

Public product metric slugs. Read this first so agents can map slugs to units and kinds.

Token list

GET /api/v1/tokens
{ data: TokenCoverageItem[], meta }
slugdisplayNamesymbolimageUrlcoverage.{screener,snapshot,metricHistory,trend,charts,backtests}freshness

Coverage catalog for Valueverse datasets. Use it to decide which token routes are available.

Token snapshot

GET /api/v1/tokens/{slug}
{ data: TokenSnapshot, meta }
tokenrowsectionscombinedRevenuefundamentalsstreamsfreshness

Current computed data for one token. Mechanics and research fields live in the token mechanics bundle.

Screener

GET /api/v1/screener
{ data: ScreenerRow[], meta }
tokeneffectiveMarketCapeffectiveRatioannualizedRevenuemultiplesrevenuesstreamsfreshness

One row per token with the same computed multiplier data used by the main product table.

Metric history

GET /api/v1/tokens/{slug}/metrics/history
{ data: MetricHistory, meta }
tokenintervalstreamcolumnsrowsfreshness

Historical holder FCF, P/FCF, and effective market cap data. Row cells are numeric; columns[] is the unit/kind contract for those table cells.

Charts

GET /api/v1/tokens/{slug}/charts/{chartKey}
{ data: ChartData, meta }
titlesectionxycolumnsrowssourcefreshness

Curated Valueverse chart data with public provenance and freshness metadata.

Token mechanics bundle

GET /api/v1/tokens/{slug}/full
{ data: { summary, valueDrivers[], valueDriverEdges[], tokenFunctions[] }, meta }
summaryvalueDrivers[].{id,type,description,formula}valueDriverEdges[].{fromValueDriverId,toValueDriverId}tokenFunctions[].{id,type,description,parentId}

Authenticated token research structure. IDs are stable linking identifiers inside this payload; they are not provider IDs.

Errors

Errors follow RFC 9457 application/problem+json with { type, title, status, detail, code } and route-specific extensions.

400invalid_metric

One or more requested metric keys are not supported.

400invalid_limit

limit is outside the supported range.

400invalid_date / invalid_date_range

Date filters are malformed or from is after to.

400stream_not_found

Requested stream key is not available for that token.

401unauthorized

Missing or invalid Bearer API key for an API-key route.

402no_credits_for_token

Requested token is not enabled for this key.

403missing_scope

Key lacks the required `tokens:read` / `tokens:read:<slug>` scope (extension: `scope`).

404token_not_found

Token slug does not exist.

404chart_not_found

Requested chart key is not available for that token.

429rate_limited

The API key or public IP exceeded the current rate limit.

503engine_data_unavailable

A product dataset is advertised but temporarily unavailable.

500internal_error

Server error. Response includes a request id for support.

Sign in