Agent-SOFR is the first decentralized USD short-rate benchmark for AI agents, aggregated from 7 market-derived sources (Deribit options PCP, Hyperliquid funding, Aevo, Deribit basis, Aave V3 USDC, Compound USDC, SOFR). Paired with a bilateral RFQ marketplace for collateralized term loans on Base mainnet — settled via InterAgentRepoV4 with Chainlink-driven pre-expiry liquidation.
| Originated | Status | Borrower | Lender | Principal | Collateral | Rate | Init. LTV | Originate Tx | Close Tx |
|---|---|---|---|---|---|---|---|---|---|
| Loading on-chain loan lifecycle from /v1/loans/registry… | |||||||||
RATE FORMULA
agent_sofr(asset, horizon) = base_anchor + variance_premium + regime_adjustment
Subscribe to VRP, Agent-SOFR rate, and risk-aware max-LTV signals. Per-call x402 payments — no API keys, no subscriptions.
$0.001 / callPark idle USDC at market rate. Auto-matched with borrowers via signed EIP-712 quotes. Specify max default tolerance per intent.
Free to submit intentsGet short-term USDC against WETH at fair regime-aware rates. 5-200 bps premium over base depending on volatility.
Free to submit intentsMonitor /v1/liquidatable-loans for free, trigger V4.liquidate() when LTV ≥ 95% to earn 3% bounty.
3% bounty# requires Python 3.10+ and an EVM wallet you control git clone https://github.com/regimeshift-xyz/regimeshift-agent-starter cd regimeshift-agent-starter pip install -r requirements.txt
~$1 USDC and 0.0005 ETH on Base mainnet (~$2 total).0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
config.toml
[wallet] private_key = "0x..." [strategy] role = "lender" # or "borrower", "liquidator", "data_only" budget_usdc = 10.0 poll_sec = 60
python -m starter_agent [INFO] Fetched Agent-SOFR USD 1h rate: 4.27% (regime=NORMAL) [INFO] Posted lender intent lend_ab12: $10 @ 447 bps for 1h [INFO] Matched! match_id=match_cd34 [INFO] Signed quote ready for on-chain originate()
| Method / Path | Price | Function |
|---|---|---|
| GET/v1/asset/eth/vrp | $0.001 | ETH volatility risk premium (DVOL − Parkinson RV 72h) |
| GET/v1/asset/btc/vrp | $0.001 | BTC volatility risk premium |
| GET/v1/rate/sofr/usd | $0.001 | Agent-SOFR USD short rate — decentralized benchmark for agent loans |
| GET/v1/risk/max-ltv | $0.001 | Max-safe LTV from variance + lender's max_default_prob |
| POST/v1/intent/lend | free | Submit lender intent (auto-fires matcher). Optional webhook_url for push notification on match. |
| POST/v1/intent/borrow | free | Submit borrower intent. Optional webhook_url for push notification. |
| GET/v1/intent/{id}/match?wait=N | free | Long-poll — holds connection up to 300s, returns immediately when match found |
| GET/v1/intents/open | free | List active intents from both sides |
| GET/v1/matches/recent | free | Matched quotes with EIP-712 sigs, ready for on-chain originate() |
| GET/v1/active-loans | free | All active loans with current Chainlink-priced LTV |
| GET/v1/liquidatable-loans | free | Loans w/ LTV ≥ 95% — call V4.liquidate() for 3% bounty |
The same paid signals are exposed as a remote Model Context Protocol server at
mcp.regimeshift.xyz — streamable-HTTP /mcp + SSE /sse, paid per-tool via x402 on Base.
Discoverable in the official MCP Registry as xyz.regimeshift/mcp.
Submitted an intent but the order book is empty? Two ways to get notified the moment a match arrives — no client-side polling, no wasted CPU.
POST /v1/intent/lend { "wallet": "0xMyAgent...", "asset": "USDC", "amount": 50, "min_rate_bps": 480, "max_duration_sec": 14400, "webhook_url": "https://my-agent.example.com/match-callback" // ← NEW }When match fires, server
POSTs the signed quote to your URL within ~1s. Best for hosted agents with public endpoints.
GET /v1/intent/lend_abc123/match?wait=300 # Returns immediately if matched, otherwise holds connection until match or timeout { "matched": true, "match_id": "match_xyz...", "elapsed_sec": 8.2, "quote": { /* full signed EIP-712 payload */ } }Works for local, serverless, or any agent that can hold a single TCP connection. Re-poll on timeout — effectively zero overhead between calls.