TourMarketLiveUnderwriteCoverJudgeDocs
TourMarketLiveUnderwriteCoverJudgeDocs

Protection for AI traders, on Robinhood Chain testnet, in Paxos USDG.

Bondline

TourMarketLiveUnderwriteCoverJudge kitDocsGitHub

Robinhood Chain testnet

Block explorer Testnet faucet Chain id 46630

Testnet. A capped, fully backed protection bond, not regulated insurance.

Independent project, not affiliated with Robinhood.

Market/Careful

Agent

Careful's record

55score

Display score. It doesn't set any price.

0x230d…87eFTeam operatedDecisions by Claude Haiku 4.5

It trades covered accounts through onchain rules it can't change: at most 30% of an account in stocks, with size and price age limits. It can't withdraw. Submitted trades that complete emit a trade or rule check refusal receipt with a hash of the submitted decision bytes; offchain holds are absent. The hash verifies the bytes, not that a model produced them.

Record rebuilt from chain events on both markets up to block 128,646,295, at 4 Oct, 10:07 UTC. Active for 0s onchain, from its first decision to its latest.

Reference price

Two prices: its rules, and its record

What the published model says cover on Careful is worth, for 30 days at a 10% loss limit. Underwriters set their own premiums; this is the yardstick.

Reference price at the maximum stock share allowed after a buy

0.13%

13.1 bps of the amount covered · $1.31 per $1,000

w = 30.0% in stocks: the most its rules allow

Its record

0.08%

8.2 bps of the amount covered · $0.82 per $1,000

w = 10.4% in stocks: the 95th percentile it actually kept

What its record is worth: 4.9 bps less, or $0.49 per $1,000 covered.

Model priceA reference price from a simple published model, not actuarial.

The record

What it did, onchain

Every number here is rebuilt from chain events on both markets: trades, refusals, deposits, price updates and claims.

Trades
1
1 buy, 0 sells · $4.90 traded
Refusals
0
None: every trade was inside its rules
Time active
0s
4 Oct, 09:52 UTC → 09:52 UTC
Exposure, 95th percentile
10.4%
of its 30% cap · 121 observations
Worst drawdown
3.8%
against a 10% limit: 38% of the way there
Claims
0
$0 paid from bonds

Stock share after each trade

both markets, live from the chain

Share of account value in stocks. One observation after every trade (stockValueAfter ÷ valueAfter from the Traded event), and one for every active covered account at every price update on its market (holdings implied by its trades, valued at the new price; cash from deposits, withdrawals and trades). 95th percentile, nearest rank.

Refusals, by reason

A trade outside the rules doesn't revert: the account emits a receipt and changes nothing.

No refusals yet.

The rules it trades under

read from the account contracts; fixed when the cover opened, the agent can't change them

Covered accounts it trades

worst drawdown against each account's own limit
  • 0xdc1F…A0c1Replay marketActive
    Owner 0x3C51…f01FTeam operated
    Covered
    $49.50
    Limit
    10%
    Decisions
    1
    Worst drawdown 3.8%limit 10%
  • 0xa939…0C0CLive marketActive
    Owner 0x3C51…f01FTeam operated
    Covered
    $29.70
    Limit
    10%
    Decisions
    0
    Worst drawdown 0.0%limit 10%

The score

Part by part

Exposure is judged against the agent's own rules, so a careful agent and a bold one are each scored on how much of their allowance they use. The absolute risk is in the prices, not the score.

  • Exposure against its rules26.1 / 40

    p95 stock share 10.4% of a 30.0% maximum

  • Worst drawdown against its limit18.6 / 30

    worst drawdown 3.8% against a 10.0% limit

  • Claims10.0 / 10

    0 of 2 covered accounts paid a claim

  • Amount of history0.2 / 20

    1 on-chain decision; 100 for full credit

Score55 / 100

The formula

score
= exposure + drawdown + claims + history, rounded
exposure
= 40 × (1 − p95 share ÷ rules' max share)
drawdown
= 30 × (1 − worst drawdown ÷ its limit)
claims
= 10 × (1 − accounts with a claim ÷ accounts)
history
= 20 × min(1, onchain decisions ÷ 100)

Each part is clamped between 0 and its maximum. Decisions are trades plus refusals. An agent with no trades has no record: no score and no record price. The score is for display only and doesn't set any price.

The pricing model

How the two prices are computed

A reference price from a simple published model, not actuarial. It prices the gap: the loss a price jump carries past the limit, where no stop loss can sell, plus the cost of keeping the bond's reserve locked.

The formula

Model price
w
= share of the account in stocks
σ
= annual volatility of the most volatile allowed stock
σa
= w × σ
T
= the term in years (30 days on the board)
L
= limit; band = cap − L; cap = 30%
P
= min(1, 2 × N(−L / (σa × √T)))
gap
= min(band, 0.5826 × σa × √g)
fair
= 2 × P × gap + band × r × T
  • N: the normal CDF. P is the chance the account touches its limit within the term, with zero drift.
  • g = 1.5/252: the variance of one weekend gap, about 1.5 trading days. A stated assumption.
  • 0.5826: the overshoot constant of a Gaussian random walk (Siegmund; Broadie, Glasserman and Kou).
  • ×2: a stated loading for fat tails. r = 5% a year: the stated cost of the locked reserve.
The model's inputs and steps for both reference prices
Input or stepMax shareIts record
wMax share: the maximum stock share allowed after a buy. Record: the 95th percentile it kept.30.0%10.4%
σ (TSLA)Chainlink RHTSLA / USD on Robinhood Chain mainnet, 23 Jun 2026 to 2 Oct 2026: 71 daily returns, annualised with √252. 95% range 46.8% to 65.4%. Feed 0x4A1166a659A55625345e9515b32adECea5547C38.54.57%54.57%
σa = w × σ16.37%5.68%
T30 days of cover, as the board quotes0.08220.0822
L, bandlimit, and cap − limit (cap 30%)10%, 20%10%, 20%
L ÷ (σa √T)2.1316.145
Pchance to touch the limit in the term3.31%0.00%
gapexpected overshoot past the limit73.6 bps25.5 bps
2 × P × gapthe risk part4.9 bps0.0 bps
band × r × Tthe reserve part8.2 bps8.2 bps
fair13.1 bps0.13%8.2 bps0.08%

Receipts

Latest trades and refusals

With the AI's reasoning, decoded from each transaction's input. Verify rehashes it in your browser and checks it against the hash in the onchain event.

The offers

Who backs Careful

Each offer is one underwriter's USDG bond behind this agent: a premium, a limit range and the free bond left to sell.

Careful 1%

replay market · offer #1

Get covered
Premium
1%
of each deposit
Limit you pick
5% to 20%
loss limit
Cover to
−30%
the 30% cap

Premium 1% vs the agent's reference price 0.13% at the maximum stock share allowed after a buy · 0.08% its record (model: 10% limit, 30 days)

Capacity · free bond$15.60 of $25.50

$9.90 reserved for 1 active cover. Every deposit reserves its worst case first.

Underwriter0x243f…34e0Team operated

Careful 1%

live market · offer #0

Get covered
Premium
1%
of each deposit
Limit you pick
5% to 20%
loss limit
Cover to
−30%
the 30% cap

Premium 1% vs the agent's reference price 0.13% at the maximum stock share allowed after a buy · 0.08% its record (model: 10% limit, 30 days)

Capacity · free bond$19.36 of $25.30

$5.94 reserved for 1 active cover. Every deposit reserves its worst case first.

Underwriter0x243f…34e0Team operated
rules cap 30%p95 10.4%first tradelatest
The rules of each covered account
AccountsStocksMost in stocksLargest tradePer daySlippageOldest price
Replay marketTSLA, AMZN30%10%200%0.5%5m 0s
Live marketTSLA, AMZN30%10%200%0.5%4h 0m
The rules of each covered account, by market
RuleReplayLive
StocksTSLA, AMZNTSLA, AMZN
Most in stocks30%30%
Largest trade10%10%
Per day200%200%
Slippage0.5%0.5%
Oldest price5m 0s4h 0m

Trade sizes are shares of the account's value; the stock share is checked after every buy.

Same model, in Rust Rust · Stylus · offchain

The price from the Rust pricer

The same published model, written in Rust for Stylus. Stylus activations are paused on Robinhood Chain (ArbWasm reports an activation cost of 2^64 − 1), so the pricer isn't deployed. These are the answers of the exact program cargo-stylus would deploy, computed offchain.

Reference price at the maximum stock share allowed after a buy

w = 30.0% in stocks

TypeScript (this site)
0.13%
13.0933 bps
Rust (Stylus program, offchain)
0.13%
13.0933 bps

Difference 0.0000 bps (the program's rounding to 0.0001 bps).

Its record

w = 10.4% in stocks

TypeScript (this site)
0.08%
8.2192 bps
Rust (Stylus program, offchain)
0.08%
8.2192 bps

Difference 0.0000 bps (the program's rounding to 0.0001 bps).

Program codehash 0x063026be…fdaaec. At these inputs, all 10,001 stock shares from 0% to 100% (1 bps steps) give the same integer price in Rust and TypeScript. Not an onchain call.

  1. TradeBuy TSLA $4.90Replay market
    4 Oct, 09:52:17 UTCtx 0x0b84…6155
    The AI's reasoning, from the transaction input · Claude Haiku 4.5
    “TSLA down 2.06% over the period with recent recovery; small position at 9.9% of account fits conservative style. AMZN up 1.10% suggests less attractive entry now.”

    What it saw: account $49.50 · 0% in stocks · down 0% · AMZN $251.71 · TSLA $350.23

    Decision JSON, exact bytes (557)
    {"account":"0xdc1F0d950cbDC20643cf243e953b10a62E82A0c1","action":"buy","agent":"Careful","asset":"TSLA","inputs":{"cash":"49.50","limitBps":1000,"lossBps":0,"marketTime":1790791600,"maxStockBps":3000,"maxTradeBps":1000,"px":{"AMZN":"251.71","TSLA":"350.23"},"stockBps":0,"value":"49.50"},"market":"replay","model":"claude-haiku-4-5-20251001","reason":"TSLA down 2.06% over the period with recent recovery; small position at 9.9% of account fits conservative style. AMZN up 1.10% suggests less attractive entry now.","ts":1791107531,"usdAmount":"4.90","v":1}

    decisionHash 0xccf664707e7962dd0fb3ae4eda9be925c83537a3e5763223f921a9d072614c39

Underwriter yield+2.0%earned so farmeasured over 19h 54m

Premiums $0.50 minus claims $0.00 on $25.00 put in. Scaled simply to a year that is +880% APY, which means little yet: premiums are paid up front, so a window under a week inflates it. Testnet.

Underwriter yield+1.2%earned so farmeasured over 19h 54m

Premiums $0.30 minus claims $0.00 on $25.00 put in. Scaled simply to a year that is +528% APY, which means little yet: premiums are paid up front, so a window under a week inflates it. Testnet.