Developers & Pricing

Build with the canonical data layer for tokenized real-world assets. Structured schemas, compliance intelligence, and AI-ready APIs.

What RWA Kernel Provides

Structured asset data: Every RWA is modeled with a consistent TypeScript schema covering legal, eligibility, cash flow, risks, and on-chain locations.
Token inspection: Given a token address, get an instant explanation of what it represents, suitable for AI agents or developer tooling.
Lab assets: Simulated instruments like the Kernel Revenue Share Token demonstrating full lifecycle tokenization.

API Access & Pricing

Mission-critical infrastructure for tokenized assets. Compliance intelligence, risk analysis, and AI-ready data.

Free
$0

Explore & experiment

  • 10+ featured assets
  • 3 token lookups/day
  • Basic eligibility check
  • Public documentation
Start Browsing →
Basic
$199/mo

For individuals & small teams

  • All 300+ assets
  • Full details & research
  • Unlimited lookups
  • Eligibility checker
  • Email support
ProPOPULAR
$499/mo

For teams & power users

  • Everything in Basic
  • Risk analysis & rationales
  • Compliance engine
  • AI tools & integrations
  • API access (100K/mo)
  • Priority support
Enterprise
Custom

For institutions & platforms

  • Unlimited calls
  • Everything in Pro
  • Bulk data export
  • Custom integrations
  • SLA & dedicated support
  • White-glove onboarding
Contact Sales →

Include your API key in requests:

curl -H "x-api-key: rwa_live_xxx" \
  https://rwakernel.com/api/assets

TypeScript SDK

Install the SDK to get typed access to all RWA Kernel APIs:

npm install @rwakernel/sdk
import { RwaKernel } from "@rwakernel/sdk";

// Initialize with your API key
const kernel = new RwaKernel({ apiKey: "rwa_live_xxx" });

// Get all treasury assets
const treasuries = await kernel.getAssets({ assetClass: "treasury" });

// Inspect a token (for AI agents)
const info = await kernel.inspectToken(1, "0x7712c34...");
console.log(info.agentSummary);

// Check eligibility (Pro tier)
const eligible = await kernel.checkEligibility({
  region: "US",
  investorType: "accredited",
});
getAssets(filters?)

Get all assets with optional filters for assetClass, chain, search.

getAsset(id)

Get a single asset by ID or slug.

inspectToken(chainId, address)

Get detailed info + AI summaries for any token.

checkEligibility(query)

Check which assets are available for a given profile.

Full TypeScript types included. Zero dependencies.

MCP Server for AI Tools

Let Claude Desktop, Cursor, and other AI tools natively query RWA Kernel using the Model Context Protocol:

// claude_desktop_config.json
{
  "mcpServers": {
    "rwakernel": {
      "command": "npx",
      "args": ["@rwakernel/mcp-server"]
    }
  }
}

Then ask Claude:

“Compare the risk profiles of BUIDL and OUSG”
“What tokenized treasuries can a US accredited investor hold?”
“What is 0x7712c34... on Ethereum?”
rwa_list_assets

List and filter tokenized assets.

rwa_inspect_token

Inspect any token by chain + address.

rwa_compare_assets

Compare risk profiles side-by-side.

rwa_check_eligibility

Check eligibility for a user profile.

API Endpoints

GET/api/assets

List all assets. Filters: assetClass, chainId, tag, isLabAsset, search.

curl "https://rwakernel.com/api/assets?assetClass=treasury"
GET/api/assets/:id

Get a single asset by ID or slug.

curl "https://rwakernel.com/api/assets/buidl"
GET/api/assets/by-address/:chain/:address

Look up an asset by its on-chain token address.

curl "https://rwakernel.com/api/assets/by-address/1/0x7712..."
GET/api/inspect/:chain/:address★ Featured

Token Inspector: returns classification, summary, details, agentSummary, and promptSnippet for AI agents.

curl "https://rwakernel.com/api/inspect/1/0x7712..."
GET/api/eligibility

Check which assets a user can hold based on region, investor type, and holder type.

curl "https://rwakernel.com/api/eligibility?region=US&investorType=accredited"
GET/api/stats

Registry statistics: total assets, AUM, breakdown by class.

curl "https://rwakernel.com/api/stats"
GET/api/labs/krs

Kernel Revenue Share lab data: deal terms, holders, revenue history.

curl "https://rwakernel.com/api/labs/krs"

Schema Overview

Every asset conforms to the RwaAsset interface:

interface RwaAsset {
  id: string;                // Unique identifier
  slug: string;              // URL-friendly slug
  name: string;              // Full name
  symbol?: string;           // Token symbol
  assetClass: AssetClass;    // "treasury" | "money_market_fund" | ...
  description: string;       // Short description

  chains: ChainLocation[];   // Where deployed
  legal: LegalInfo;          // Issuer, jurisdiction, wrapper
  eligibility: Eligibility;  // KYC, accreditation, regions
  cashFlow: CashFlowModel;   // Type, frequency, rates
  risk: RiskFlags;           // Contract, custody, regulatory
  riskProfile?: RiskProfile; // Multi-dimensional risk grid
  links: AssetLinks;         // Official site, docs, explorers

  metrics?: AssetMetrics;    // AUM, yield (may be stale)
  tags?: string[];           // For filtering
  isLabAsset?: boolean;      // True for simulated assets
}

The /api/inspect endpoint returns:

interface InspectResponse {
  asset: RwaAsset | null;    // Full asset data, or null if not found
  classification: "rwa" | "unknown";
  summary: string;           // Human-readable summary
  details: string[];         // Bullet points of key properties
  agentSummary: string;      // Concise summary for AI agents
  promptSnippet: string;     // Instructions for agent interpretation
}

NEW: The RiskProfile provides machine-readable risk analysis:

interface RiskProfile {
  underlyingCredit?: RiskDimension;  // Credit risk of backing
  marketRate?: RiskDimension;        // Interest rate exposure
  structural?: RiskDimension;        // Legal/structural complexity
  legalRegulatory?: RiskDimension;   // Regulatory clarity
  smartContract?: RiskDimension;     // Technical/audit risk
  liquidity?: RiskDimension;         // Redemption/trading risk
  lastReviewedAt?: string;
}

interface RiskDimension {
  level: "low" | "medium" | "high";
  rationale: string;
}

Asset Class Extensions

Beyond financial RWAs, the registry includes Compute, IP, Carbon, Energy, and Data assets. Each class has an optional extension with specialized fields:

// Asset classes
type AssetClass = 
  | "treasury" | "money_market_fund" | "credit" | "stablecoin"
  | "tokenized_equity" | "fund" | "real_estate"
  | "compute"   // GPU, AI inference, storage
  | "ip"        // Music royalties, patents, biotech
  | "carbon"    // Carbon credits, environmental
  | "energy"    // RECs, solar revenue
  | "data"      // Data marketplaces, streams
  | "other";

// Extended RwaAsset for non-financial classes
interface RwaAsset {
  // ... core fields ...
  
  compute?: ComputeExtension;  // When assetClass === "compute"
  ip?: IpExtension;            // When assetClass === "ip"
  carbon?: CarbonExtension;    // When assetClass === "carbon"
  energy?: EnergyExtension;    // When assetClass === "energy"
  data?: DataExtension;        // When assetClass === "data"
}
ComputeExtension
{
  resource: {
    computeType: "gpu_rendering",
    networkCapacity: {
      totalNodes: 5000,
      totalGpus: 10000,
      utilizationRate: 0.75
    }
  },
  economics: {
    tokenUtility: "Payment + Staking",
    stakingYield: { currentApy: 8.5 }
  }
}
IpExtension
{
  ipType: "music",
  rights: {
    rightsType: "royalty_share",
    duration: "perpetual"
  },
  revenue: {
    paymentFrequency: "quarterly",
    historicalRevenue: {
      amount: 2500000
    }
  }
}
CarbonExtension
{
  credit: {
    creditType: "voluntary_offset",
    standard: "Verra VCS",
    vintage: "2020-2023"
  },
  environmental: {
    co2EquivalentTonnes: 25000000
  }
}
DataExtension
{
  dataAsset: {
    dataType: "data_marketplace",
    accessModel: "token_gated",
    updateFrequency: "real-time"
  },
  economics: {
    pricingModel: "pay_per_query"
  }
}

Filtering by Asset Class

Use the assetClass query parameter to filter assets:

# Get all compute/GPU tokens
GET /api/assets?assetClass=compute

# Get all carbon credit tokens
GET /api/assets?assetClass=carbon

# Get all IP/royalty tokens
GET /api/assets?assetClass=ip

# Combine with other filters
GET /api/assets?assetClass=compute&chainId=1
GET /api/assets?assetClass=treasury&tag=featured

Building AI Agents on RWA Kernel

The /api/inspect endpoint returns two fields specifically designed for AI agents:

agentSummary

A concise, factual summary of the asset. Contains: name, type, issuer, underlying assets, yield, AUM, and eligibility requirements. Use this to answer "what is this token?" questions.

promptSnippet

Instructions for how to interpret this token. Explains what exposure it represents, how yield works, and key constraints (KYC, transfer restrictions). Inject this into your agent's context.

Example: Agent Lookup Flow

1. User asks about a token

"What is 0x7712c34205737192402172409a8f7ccef8aa2aec on Ethereum?"

2. Agent calls RWA Kernel
curl https://rwakernel.com/api/inspect/1/0x7712c34...

{
  "classification": "rwa",
  "agentSummary": "BlackRock USD Institutional Digital Liquidity Fund (BUIDL) is a money market fund issued by BlackRock / Securitize. Backed by US Treasury bills, repo agreements, cash. 2.95% yield, $2.3B AUM. KYC required, accredited investors only, $5M minimum.",
  "promptSnippet": "When you see this token, treat it as exposure to a money market fund holding short-term, high-quality debt. Yield accrues daily, typically via NAV appreciation or rebasing. The holder earns yield passively. Important: only whitelisted (KYC'd) addresses can hold this token, holders must be accredited/qualified investors. This token is NOT freely tradeable on public DEXs.",
  "asset": { ... }
}
3. Agent responds to user

Uses agentSummary to answer the question, and promptSnippet to guide any follow-up reasoning about the asset.

More Agent Examples

Explain a Token

Prompt

What is the token at 0x7712... on Ethereum?

API Call
GET /api/inspect/1/0x7712c34205737192402172409a8f7ccef8aa2aec
Response
{ "classification": "rwa", "agentSummary": "BlackRock USD Institutional...", "promptSnippet": "When you see this token...", "asset": {...} }

Filter Assets

Prompt

Show me treasury tokens available to non-US investors

API Call
GET /api/assets?assetClass=treasury&tag=non-us
Response
{ "assets": [{ "id": "usdy", ... }, { "id": "usdm", ... }], "total": 3 }

Summarize Cash Flow

Prompt

How does BUIDL pay out?

API Call
GET /api/assets/buidl
Response
{ "asset": { "cashFlow": { "type": "money_market_yield", "frequency": "daily", ... } } }

Disclaimers

Data is informational only. We provide structured metadata, not live pricing, NAV, or trading.

Not investment advice. Nothing here constitutes a recommendation. Do your own research.

Eligibility is high-level. Verify directly with issuers before investing.

Metrics may be stale. Check lastUpdated fields and verify with official sources.

Ready to integrate?

Try the Token Inspector or explore the asset registry.