For developers & AI agents
Tessera isn't only an agent that protects positions — it's a risk layer other apps and autonomous agents can read before they act. A public, read-only Risk API and an MCP server, both live, both backed by real on-chain data + the same regime engine the agent runs. No keys, no writes.
Public Risk API
CORS-open, read-only, always-on. Real on-chain reads.
Market risk — regime + protection bands
GET /api/risk
{
"regime": "open",
"regimeLabel": "market open",
"aiActsBelowHf": 1.10,
"restoresTowardHf": 1.40,
"assets": [
{ "symbol": "tAAPL", "priceUsd": 200, "stale": false }, …
]
}Position risk — any borrower address
GET /api/risk/0xBd49…dc25
{
"exists": true,
"healthFactor": 4.15,
"safetyScore": 100,
"debtUsdc": 250.39,
"atRisk": false,
"dropToAiActPct": 74,
"verdict": "Healthy: collateral would have to fall
~74% before the AI steps in."
}MCP server — for AI agents
Two tools — tessera_market_risk and tessera_position_risk — so Claude, Cursor, or any agent can consult Tessera before acting.
Connect (any MCP client)
{
"mcpServers": {
"tessera": {
"command": "node",
"args": ["/abs/path/to/mcp/server.mjs"],
"env": { "TESSERA_API_BASE": "https://tessera-web-delta.vercel.app" }
}
}
}Claude Code: claude mcp add tessera -- node /abs/mcp/server.mjs
Run the live demo (an external agent consulting Tessera)
$ cd mcp && npm install && node demo-agent.mjs
🔌 Connected to Tessera MCP. Tools: tessera_market_risk, tessera_position_risk
🌐 Market regime: market open. The AI acts below HF 1.1.
🔎 Consulting risk for 0xBd4956F8…
Health factor: 4.15 Safety score: 100/100 Debt: $250.39
🧠 Decision:
APPROVE — safety score 100, 74% cushion before the AI steps in.
↳ live on-chain risk, served by Tessera, consumed over MCP.Source: mcp/server.mjs + mcp/demo-agent.mjs — a real MCP client → server → live API roundtrip.
Also live on Robinhood Chain — with the full safety stack
Tokenized equities' native home. An Arbitrum Orbit L2 whose larger code-size limit fits the complete vault — including the permissionless backstop + dual-oracle guard that don't fit Sepolia's 24KB.
Robinhood Chain testnet (chain 46630)
Vault (full backstop) 0xf10acf61b480c24102b303ebafb97d9392d693f2
USDC 0x753b9aC945Feb9dD0C5DD1861B8905e8E03B41dD
Oracle 0x65e6926BCD4EC600d4175019f20abAE07F95316D
tAAPL / tTSLA / tSPY 0xFD0d…E8e8 / 0xd7fC…C0be / 0x2A1f…6A0e
explorer.testnet.chain.robinhood.comSome addresses match a Sepolia contract — that's expected, not a copy-paste error: an identical deployer + nonce produces the same CREATE address on each chain.
The backstop is proven, not just deployed. A non-agent address liquidated a stale-heartbeat position on-chain (health factor 0.94 → 1.20), running the same close-factor + post-HF-improvement guards as an agent liquidation — verify the liquidation ↗. The same agent + UI are chain-agnostic; the vault redeploys to any Orbit chain.
This is the agentic thesis: every external agent that reads Tessera's risk signal is a node in a network that trusts our risk engine. Lending is the first customer; the risk layer is the product.