Every leveraged position on a public chain is a confession: collateral, size, liquidation level, and every dollar it funds, readable by whoever is trading against you.
Sodi is private leverage for tokenized stocks on Robinhood Chain. Borrow USDG against your shares, and spend it from fresh addresses with no on-chain link to the loan.
First, the position stays public and the money goes private. Next, the position itself goes behind a proof: proven solvent in Noir against stored Chainlink rounds, so nobody has to open it.
Design doc, contracts and the first circuit are open: https://t.co/ZQf6tKrhSR
rx402: private x402 payments for agents, on Sodi.
rx402 lets an agent pay for an API with an HTTP 402 response and a stablecoin transfer. The catch: every payment comes from the agent’s wallet, so anyone can link every call it makes back to its owner.
rx402 breaks that link. The owner deposits USDG into a privacy pool on Robinhood Chain, and an approval service screens deposits before they can be spent. The agent opens a session: a zero-knowledge proof that it owns funds in the pool, and a withdrawal of a small budget to a brand-new address. A relayer pays the gas, so nothing funds that address traceably.
From there the agent pays x402 endpoints (data feeds, APIs, inference) like any other wallet, and rotates to a fresh address when the budget runs out. Merchants see an ordinary payment. Nobody can link a session to the owner, or to the next session.
SDK (@sodi/rx402), MCP server and contracts, open source: https://t.co/oL1Ubsw5xs
Sodi runs on four operators: an approver that screens deposits, a relayer that submits withdrawals, a gateway that sells private inference, and a liquidator that settles insolvent notes.
Each one bonds $SODI to run. When a relayer accepts a job it signs a deadline. If it misses that deadline, anyone can submit the signature to RelayerSlasher, which checks it onchain. The bond is slashed and burned. There’s no committee and no vote.
Once the splitter is wired in, every $SODI trade pays 2.8%. Pons keeps 0.3%. The other 2.5% goes to SodiSplitter, which has no owner, no setter and no upgrade path.
Contract address will be pushed to the repo once it's live.