Search Prism

Search assets, issuers, categories and contract addresses

Build on Prism

Prism's data is open to developers: a CORS-enabled REST API with no key required, and a zero-dependency React hooks library on top of it. Catalogue, prices, reserve verification and staking totals for 2,000+ verified tokenized assets across 17 networks. The API reads data; it never holds keys, signs transactions or routes trades.

On top of that sits the Prism Verify API: an independent trust grade for any tokenized asset, and three things offered nowhere else — a head-to-head comparison of rival wrappers, a single trust score for a whole portfolio, and a post-quantum-signed reserve attestation a reader can verify without trusting us.

The REST API

Every response is a { ok, data } envelope. Responses are cached for about a minute at the edge.

GET/api/v1/assets

The catalogue, paginated. Filters: category (comma-separated), tradeable=1, q (free text), sort (marketCap, yield, price, change24h, change30d, risk, liquidity, newest, alphabetical), limit (max 48), cursor.

curl 'https://prismassets.shop/api/v1/assets?category=treasuries&sort=yield&limit=5'
GET/api/v1/assets/:slug

One listing in full: the asset record, its issuer, and related listings.

curl 'https://prismassets.shop/api/v1/assets/paxos-paxg'
GET/api/v1/stats

Marketplace totals: market cap, volume, asset and issuer counts, median yield.

curl 'https://prismassets.shop/api/v1/stats'
GET/api/v1/reserve-watch

The supply-verification table: on-chain supply against the issuer's published figure, with drift and status per covered listing.

curl 'https://prismassets.shop/api/v1/reserve-watch'
GET/api/v1/staking

Protocol-wide PRISM staking totals, as base-unit strings exactly as the chain reports them.

curl 'https://prismassets.shop/api/v1/staking'

The Prism Verify API

An independent, live verification of any tokenized asset, not only Prism's own listings. Key-free and open to any origin. Query by symbol, name or contract address. Three of these endpoints exist nowhere else in the market.

GET/api/verify?q=PAXG

The full trust report for one asset, resolved by symbol, name or contract: every signal graded, the register dossier, and a single grade from AAA to C. The seed of everything below.

curl 'https://prismassets.shop/api/verify?q=PAXG'
GET/api/verify/compare?a=PAXG&b=XAUTFound nowhere else

A head-to-head reading of two wrappers of the same underlying, graded against one standard, with a verdict on which stands up better and by how many points.

curl 'https://prismassets.shop/api/verify/compare?a=PAXG&b=XAUT'
GET/api/verify/portfolio?q=PAXG,XAUT,NVDAFound nowhere else

A whole basket in one call, returned as a single weighted portfolio trust score, the grade it implies, and the weakest holding the average conceals. Add w= for custom weights.

curl 'https://prismassets.shop/api/verify/portfolio?q=PAXG,XAUT,NVDA&w=50,30,20'
GET/api/verify/attest?q=BUIDLFound nowhere else

Prism's reserve statement signed with ML-DSA-65 (NIST FIPS 204), the quantum-resistant successor to elliptic-curve signatures. Returns the signature, public key and exact canonical message, so a caller verifies for itself without trusting Prism. The private key is generated and used offline and never reaches the server.

curl 'https://prismassets.shop/api/verify/attest?q=BUIDL'
GET/api/verify/suggest?q=gold

Typeahead matches for the search field: ranked, deduplicated by ticker, each with its logo, category and network.

curl 'https://prismassets.shop/api/verify/suggest?q=gold'
GET/api/verify/badge?q=PAXG

The live grade as an SVG badge any page can hotlink; it re-reads the current grade on every load and links back to the full report.

curl 'https://prismassets.shop/api/verify/badge?q=PAXG'

The signed attestation returns the public key and the exact canonical message alongside the signature; a reader verifies it with ml_dsa65.verify in its own runtime. Try any grade in the browser at prismassets.shop/verify.

React hooks

prism-rwa-hooks wraps the API in typed hooks with no dependencies beyond React. Every hook returns { data, error, loading, refresh }.

import { usePrismAssets, usePrismPrice } from "prism-rwa-hooks";

function GoldShelf() {
  const { data, loading } = usePrismAssets({
    category: "precious-metals",
    sort: "marketCap",
    limit: 6,
  });
  if (loading) return <p>Loading…</p>;
  return (
    <ul>
      {data?.items.map((a) => (
        <li key={a.slug}>{a.symbol} — ${a.priceUsd}</li>
      ))}
    </ul>
  );
}

function LivePaxg() {
  const { data } = usePrismPrice("paxos-paxg", { intervalMs: 30_000 });
  return <span>PAXG: ${data?.asset.priceUsd ?? "…"}</span>;
}
usePrismAssets(params)

A page of the catalogue, filtered and sorted.

usePrismAsset(slug)

One listing in full: asset, issuer, related.

usePrismPrice(slug, { intervalMs })

The same detail payload, repolled for a live price.

usePrismStats()

Marketplace totals.

useReserveWatch()

Supply verification rows with drift and status.

useStakingTotals()

Protocol-wide PRISM staking totals.

Fair use

The API is free for reasonable use and served from the edge cache. Do not poll faster than the data moves; catalogue figures update on the order of a minute. Attribution is appreciated: a link to prismassets.shop where the data appears.