On this page
Defined capital
Visible limits
Caplet is an independent research project exploring capped capital for eligible liquidation shortfalls in selected tokenized-equity lending markets on Robinhood Chain
Research prototype / No production deposits, live coverage, operating returns or Robinhood partnership are represented
Start here
The website has three working tools / The risk model calculates one hypothetical loss event, the capital planner tracks several obligations sharing one pool, and the testnet lab reads public chain state alongside recorded controlled fixtures
A reservation defines how much capital can be used for one commitment / It does not establish that a real claim is valid, that an asset can be sold, or that a future event is economically covered
USD amounts in the model are hypothetical / The separate tUSD fixture token has two decimal places, no monetary value and no USD backing
Accounting
Amounts are evaluated in integer cents before the result is displayed / Input rounding never adds capital to the pool
Buffer used = min(shortfall, protocol buffer)
Residual = shortfall − buffer used
Payment = eligible ? min(residual, commitment limit, capital) : 0
Uncovered = residual − payment
The single-event model accepts an available-capital assumption / The multi-commitment planner first reserves each limit, keeping total reserved capital at or below pool capital
Deposited capital = pool capital + total paid + total withdrawn
After settlement, the full reservation closes / Only the payment leaves the pool, so unused committed capacity becomes free again
A concurrent example
This mirrors the arithmetic exercised by the controlled test fixture / All displayed amounts below are tUSD, where 100 smallest units equal 1 tUSD
| Operation | Pool | Reserved | Free | Paid to date |
|---|---|---|---|---|
| Deposit 100 | 100 | 0 | 100 | 0 |
| Reserve A / 60 | 100 | 60 | 40 | 0 |
| Reserve B / 40 | 100 | 100 | 0 | 0 |
| Settle A / pay 21.01 | 78.99 | 40 | 38.99 | 21.01 |
| Withdraw 38.99 | 40 | 40 | 0 | 21.01 |
| Settle B / pay 40 | 0 | 0 | 0 | 61.01 |
A assumes debt 35.01, proceeds 10, costs 1 and buffer 5 / Its shortfall is 26.01 and its payment is 21.01 / A withdrawal of 39 would exceed free capital by one cent and is rejected
B assumes debt 60 with zero proceeds, costs and buffer / Its 40 commitment pays 40 and leaves 20 uncovered / The example conserves capital as 100 = 21.01 + 38.99 + 40
Capital lifecycle
- Deposit adds capital that is initially free
- Reserve locks an amount no greater than free capital, under a unique commitment reference with a future expiry
- Settle applies an explicit eligibility assumption before expiry, consumes a unique settlement reference and closes the entire reservation
- Release closes an expired reservation without payment
- Withdraw removes no more than the current free capital
An ineligible event still consumes its settlement reference and closes its reservation / The same event cannot be presented again as a new eligible claim within this planner
Expiry blocks settlement in the local planner / It does not automatically erase a reservation or block safe exit / Release the reservation before withdrawing its capital
The local planner is a deterministic accounting tool / The deployed test harnesses add operator, network, expiry and token-transfer guards described in the source files
Using the planner
A new plan begins with zero balances / Load example creates a hypothetical 100 tUSD deposit with two commitments of 60 and 40 / It sends no transaction and does not load money from a wallet
- Deposit an assumed amount, then reserve one or more commitments
- Choose Settle, select a commitment and supply debt, proceeds, costs, buffer and eligibility
- Choose Clock to move the simulated UTC time forward and test expiry
- Release an expired commitment or withdraw free capital
- Save JSON for a complete replayable plan, or export CSV for the resulting capital ledger
JSON imports validate the schema, each operation and the resulting capital constraints / Resulting balances are recalculated from events, so imported summary figures are never trusted / A rejected import leaves the current plan intact
Remember on this device is optional and off for a new plan / Turning it off removes the saved copy while keeping the current open plan / Undo restores up to 30 previous accepted plan changes, including imports and resets
- Amount precision
- Two decimal places, non-negative inputs
- Amount and pool limit
- 1,000,000,000 major units
- Plan size
- 250 accepted steps / JSON up to 256 KB
- Clock
- Explicit UTC / Moves forward only
- Storage
- Browser-local, optional / No account or wallet connection
The planner does not model premiums, interest, correlations, portfolio losses, asset liquidity, oracle resolution, gas or multi-party permissions / It cannot decide whether a commitment is a viable financial product
Select an accepted ledger operation to review balances before and after that step, including settlement assumptions and unused capital released / Step JSON includes the complete validated plan / Print report prepares the current plan and selected review for your browser print dialog
Testnet evidence
Search the receipt explorer to filter operations, inspect recorded gas and download individual records
The recorded business tests used a project-specific wallet on Robinhood Chain Testnet / The initial suite recorded 19 receipts, and the extended suite recorded 40 / Together they contain 47 successful transactions and 12 expected reverts
- Network
- Robinhood Chain Testnet / 46630
- Recorded operator
- 0xD73C32a1F862aa248C8e704785fB7e3A938eE8ce
- Fixture token
- 0xEe2C3966A496982e7356E272C69cb7Bc37906dE9
- Initial harness
- 0x81FecB58F769869aD4AC2195d7fddDbfF02B5b32
- Concurrent harness
- 0xe24A39AfFd92c54C524d7B7DB6bFeb4F81185a20
- Short-lifetime harness
- 0xBF9A080a93dd646963E6d364De1060c66b4F314b
- Verification snapshot
- 2026-10-25 06:26:12 UTC / Historical evidence, not a current reading
The initial fixture deposited 100,000 synthetic tUSD, paid 27,000 and withdrew 73,000 / The extended concurrent pool deposited 102.03 tUSD, paid 61.52 and withdrew 40.51 / The short-lifetime pool deposited 1 tUSD, paid zero and withdrew 1
All three recorded pool balances and reservations ended at zero / Token approvals also ended at zero / Current state must be checked separately in the lab, which labels its observation time and RPC failures
- Initial run / Full raw receipts
- Extended run / Calldata and receipts
- Internal ledger verification / Historical checkpoints
- Initial harness / Solidity source
- Short-lifetime harness / Solidity source
Open current read-only observations / Read research sources and original methodology
What verification establishes
The extended ledger reconstruction checks decoded calldata, ERC-20 transfer logs, expected reverts and historical getters using integer arithmetic / The saved report covers 24 lifecycle events and 49 historical block-end checkpoints
A checkpoint represents the state after the last recorded transaction for a pool in that block / It is not a separate intermediate-state claim for every transaction inside the block
An expected revert requires a failed onchain receipt and the corresponding historical reason / A network request failure does not count as a successful guard test
This is an internal independent reconstruction of the ledger, not a third-party security audit / The evidence hash is checked for a non-zero value, while loss inputs and eligibility are manually supplied by the operator / It is not a production claim oracle
Payments and withdrawals in these fixtures return to the same project wallet / They are not independent users, customer claims or proof of an operating insurance market
Before production
A production design would need enforceable market scope, independent evidence resolution, reliable pricing and liquidation data, stress-tested capital rules and an operating model for permissions and emergency handling
Economic design, legal classification, audits, market integration, token behavior and liquidity remain unresolved / The recorded testnet loop validates neither production solvency nor real-world underwriting
The dedicated test key has an original 72-hour retention limit ending 2026-10-28 04:43:17 UTC / The website has no signing access / Recorded receipts remain inspectable after the local key is deleted
Test an accounting assumption / Inspect the recorded evidence
Connect a wallet
Use Connect wallet in the header and select an installed browser wallet / The connection shares a public account without a signature
Open the wallet workspace to switch explicitly to Robinhood Chain Testnet, read balances at a stated block and inspect outgoing transaction receipts
Account or network changes clear previous readings / Failed reads remain unavailable rather than becoming zero / Connection restores only the wallet explicitly chosen in this browser session
Wallet balances are not deposited capital / The recorded risk harness remains an operator-only no-value fixture / Public deposits and live coverage are not available
The connector uses self-hosted viem and mipd with EIP-6963 discovery and legacy injected-provider fallback / WalletConnect QR pairing is not configured