Model Context Protocol (MCP) server for freee API integration
Borro is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Stock lending on Robinhood Chain: read markets and prepare lends, loans, shorts and credit lines.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http borro-mcp https://borro.markets/mcp
# 2 — ask your agent for something these tools do
# markets, market, health and 50 more
Borro costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http borro-mcp https://borro.markets/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
53 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Every stock on Borro and the USDG vault: price, what is lent, borrowed and free to short, what lenders earn and what shorters pay a year (one number each, $BORRO included once it has been paid), the USDG borrowing rate against each stock, and the $BORRO Drip to lenders: dollars a day per pool at today's price, and the rate a deposit of a given size would get.
No parameter schema on file.
One stock's full line from the shelf: rates, sizes, limits, open fee and its contracts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
For bots that watch for liquidation: every short and USDG loan of a wallet, worst first, with how much of its limit it uses (limit_used, 1 = Morpho can liquidate it now), health (1 / limit_used), the stock price that liquidates it, how far the price is from that in percent, a status (ok, warn from 0.85, danger from 0.95, liquidatable), and the market clock. Also at /health/<wallet>.json.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
Everything a wallet has on Borro: stock lent, shorts (owed, money held, the price it is closed for you at, and parts: how much of the stock's one short is the wallet's own, a pair's and a basket leg's), USDG loans, USDG lent, open pairs (each with short_now, its own part of the short), gap covers bought and its part of the gap cover pool, options held, written and on order (with what to do next an
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
Borro-wide recent shorts opened and closed, newest first.
No parameter schema on file.
For each stock token on Borro: the stock's own price (its Chainlink feed while the market is open; Borro's weekend estimate and 95% band while it is shut), the token's executable buy and sell price on chain for $1,000 and $10,000 (what Borro's short desk would pay or get through its own swap route, before Borro's fee), and the gap in percent (gapPct: the token's mid against the stock). Positive: t
No parameter schema on file.
The bear coins directory: every coin launched on Pons from Borro with its own short, its stock, P/L, burns and fees.
No parameter schema on file.
Borro's house rules, limits, what can go wrong, and every contract address with what it does, to verify on chain.
No parameter schema on file.
Unsigned transactions to short a stock from the wallet: approve the deposit if needed, then BorroShort.open (borrow the stock, sell it, hold the money plus the deposit). Priced now, with half a percent of slip allowed; simulated from the wallet. The quote's rebate_estimate is what this short puts in the wallet's weekly locker rebate.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| amount | string | yes | Stock to short, in whole units as a decimal string, like "1.5" |
| deposit | string | no | USDG to add to the money held, beyond the sale (optional, default 0), in whole units as a decimal string, like "1.5" |
Unsigned transactions to close the wallet's short on a stock: buy back everything owed, return it, take out the money held (with a USDG top-up approval if it is under water). A wallet has one short per stock, shared by any pair or basket legs on it: this closes all of it, and closes_parts lists the parts it takes with it. close_pair closes only a pair's own part.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
Unsigned transactions to lend a stock to shorters (it earns lending fees) or USDG in the Borro USDG vault (it earns interest). With post: true, a stock is lent and posted in one step so USDG can be borrowed against it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| asset | string | yes | USDG, or a stock symbol |
| amount | string | yes | Amount to lend, in whole units as a decimal string, like "1.5" |
| post | boolean | no | Stock only: lend and post as collateral in one step |
Unsigned transaction to take back lent stock or USDG (part, or all with all: true). Stock on loan to shorters comes back once it is returned.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| asset | string | yes | USDG, or a stock symbol |
| amount | string | no | Amount to take back, in whole units as a decimal string, like "1.5" |
| all | boolean | no | Take back everything |
Unsigned transaction to borrow USDG against stock already lent and posted (supply with post: true first). The quote's rebate_estimate is what this loan puts in the wallet's weekly locker rebate.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| amount | string | yes | USDG to borrow, in whole units as a decimal string, like "1.5" |
Unsigned transactions to repay USDG borrowed against a stock (part, or all with all: true).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| amount | string | no | USDG to repay, in whole units as a decimal string, like "1.5" |
| all | boolean | no | Repay everything owed |
Credits a bookrunner's code with the wallet's borrowing on Borro (Bookrunners): the bookrunner earns Borro's own fee on the interest the wallet pays, all of it for 12 months, half after; the wallet pays nothing more. Without signature: EIP-712 typed data for the wallet to sign (eth_signTypedData_v4, no transaction, no gas), good for 10 minutes. With signature and that timestamp: submits it, the sa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| code | string | yes | The bookrunner's code, as in borro.markets/?ref=<code> |
| timestamp | integer | no | With signature: the timestamp from the typed data that was signed |
| signature | string | no | The wallet's EIP-712 signature, 0x and 130 hex characters; leave out to get the typed data |
Unsigned transactions for a pair trade: buy and lend the long stock in your name (it earns lending fees while held), then short the other, approvals first. Priced now; simulated from the wallet in order.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| long | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| short | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| long_amount | string | yes | Long stock to buy, in whole units as a decimal string, like "1.5" |
| short_amount | string | yes | Stock to short, in whole units as a decimal string, like "1.5" |
| deposit | string | no | USDG held against the short beyond the sale (optional), in whole units as a decimal string, like "1.5" |
Unsigned transactions to close the wallet's newest open pair of these two stocks: the pair's own part of the short closed (a basket leg or a short of its own on the same stock stays open, listed in stays_open), the long's lent stock taken back (what is free now, if part is on loan). If something else already closed part of the pair's short, this closes what is left and the note says so.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| long | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| short | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
Unsigned transaction swapping the wallet's ETH for USDG or a stock on Uniswap, or through Route (route.fun) for a stock bought exact in when Route guarantees more (no Borro contract, no Borro fee), for the flows that need them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| want | string | yes | USDG, or a stock symbol |
| amount | string | yes | How much of it to get, in whole units as a decimal string, like "1.5" |
| slip_bps | integer | no | Most the price may move, in hundredths of a percent (default 100, 1%) |
Unsigned transactions for a leveraged long on a stock in one open: USDG margin plus a flash-borrowed debt buy the stock, which is lent (it earns lending fees) and posted, and the debt is borrowed against it in the wallet's own name. Approve the margin and authorize LeverRouter on Morpho if needed, then open. Leverage up to 1.80x on SPY, QQQ and NVDA, 1.35x on the rest.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| margin | string | yes | USDG margin from the wallet, in whole units as a decimal string, like "1.5" |
| leverage | number | yes | Leverage, more than 1, like 1.5 |
Unsigned transaction closing all or part of the wallet's leveraged long on a stock: the stock is sold, the debt repaid, and the rest comes back in USDG.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| percent | number | no | How much of the position to close, 1 to 100 (default 100) |
Borro's stock farms: a Uniswap v4 USDG/stock pool per stock, run by Borro's own hook, that lends what swaps do not need on Borro. For each farm: its size, what is kept for swaps and what is lent, its swap fee and squeeze fee now, the lending fees and interest its lent part earns, the last day's and week's swap volume and farmers' fees, and Your APR on a $1,000 deposit as one number (fees at the la
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | no | One stock's farm (optional), by its ticker, like NVDA; farms lists the stocks that have one |
| wallet | string | no | A wallet whose part of each farm to show (optional) |
Unsigned transactions to put USDG and a stock into its farm from the wallet: give usdg or stock (or both) and the other follows the farm's ratio (the feed's price for the first deposit, which sets the farm's price). Approvals of the exact amounts first, then the deposit, simulated from the wallet. Shares are accepted down to slip_bps under the quote.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| usdg | string | no | USDG to put in (optional if stock is given), in whole units as a decimal string, like "1.5" |
| stock | string | no | Stock to put in (optional if usdg is given), in whole units as a decimal string, like "1.5" |
| slip_bps | integer | no | Most the farm may move against the quote, in hundredths of a percent (default 50, 0.5%) |
Unsigned transaction to take part or all of the wallet's money out of a farm. Run from the wallet first to show what comes back now, and what comes as the vault's own shares because borrowers have it out (they keep earning and redeem on Supply once it is free). Always works: never paused, no price feed needed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| percent | number | no | How much of the wallet's part to take out, 1 to 100 (default 100) |
| slip_bps | integer | no | Least accepted under the preview, in hundredths of a percent (default 50, 0.5%) |
While the stock market is shut (Friday 8pm to Sunday 8pm New York, and holidays) the price feeds stop at their last print. For each stock: the paused price, Borro's weekend price and 95% band (low, high), its typical Monday gap and the last closures' gaps, and the gap cover quotes per side and strike. Also the market clock (closed since, reopens at) and the gap cover pool: what is in it, free and
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | no | One stock (optional), by its ticker, like NVDA; with a pool, its quotes are read from the chain |
Unsigned transactions to buy Monday-gap cover on a stock while the market is shut (until an hour before the reopen): side up pays if the first feed print after the reopen is more than the strike above the last print (cover for a short), down if it is more than the strike below (for a long); it pays the move beyond the strike, times the cover, up to the pool's cap. Approve exactly the premium, then
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| side | string | yes | up (pays on a gap up: for a short) or down (on a gap down: for a long) |
| notional | string | yes | Cover, in USDG: for a short, about what the shares are worth, in whole units as a decimal string, like "1.5" |
| strike_bps | integer | no | How far the stock must move before it pays, in hundredths of a percent: 100, 200, 300 or 500 are quoted (default 200, 2%) |
Unsigned transactions to put USDG into the gap cover pool, which backs every cover and keeps the premiums (less Borro's share) on top of the Steakhouse USDG vault's interest. Approve exactly the amount, then deposit. A big gap pays covers out of the pool.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| amount | string | yes | USDG to deposit, in whole units as a decimal string, like "1.5" |
Unsigned transaction to take USDG out of the gap cover pool, an amount or all: true. Capital is locked while covers are live, from the first buy of a closure until Monday's settlement; withdraw during the week. Run from the wallet first to show what comes back.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| amount | string | no | USDG to withdraw, in whole units as a decimal string, like "1.5" |
| all | boolean | no | Withdraw everything this wallet has in the pool (only when it is all free) |
Unsigned transaction settling a cover with the feed's first round at or after its reopen (found by walking back from the latest round), with what it pays the buyer. Anyone may send it; the payout always goes to the buyer. When that first print came more than two hours after the reopen, or more than 50% from the reference, or never came in seven days, the transaction voids the cover instead (the pr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The address that will send it (any address; the payout goes to the cover's buyer) |
| id | string | yes | The cover's number (position lists a wallet's covers) |
Unsigned transaction taking USDG a settled or voided cover could not send to the wallet (it waits in the pool's owed); position shows owed_usdg.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
One stock's options chain for this Friday and next (expiry Friday 8pm New York): per strike and side the series id, Borro's fair value (Black-Scholes from the stock's own measured volatility, a guide), delta, the best ask and bid (checked on chain), the IV the ask implies, the shares written and the last traded IV; the stock's price, its volatility a year and the last traded IV; and whether the de
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
Unsigned transactions to write options from the wallet: post an ask at a premium (the collateral is locked now; it fills when a buyer takes it), or with order_id sell into that bid now and receive its premium less Borro's share. A call locks one share of the stock's Borro vault per share written: from the stock (lent into its vault in the same transaction, the default) or from vault shares held (b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| type | string | no | call or put |
| expiry | string | no | this (the nearest Friday still taking orders, the default), next, or a Friday's date like 2026-10-16 |
| strike | string | no | The strike in dollars, on the $0.25 tick, like "250" |
| shares | string | yes | Shares to write (at least 0.001), in whole units as a decimal string, like "1.5" |
| premium | string | no | Premium you ask, USDG a share (for an ask), in whole units as a decimal string, like "1.5" |
| from | string | no | Where the lock comes from: a call stock (default) or shares; a put usdg (default) or shares |
| order_id | string | no | Sell into this bid instead of posting an ask (its series, its premium) |
Unsigned transactions to buy options from the best ask of a series (or a given ask with order_id), checked on chain: exact approval of the premium, then fillAsk with that premium as the most it may take. A fill takes the whole ask or leaves at least 0.001 of a share. Returns the cost, Borro's share, the break-even and what it pays at expiry.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| type | string | no | call or put |
| expiry | string | no | this (default), next, or a Friday's date like 2026-10-16 |
| strike | string | no | The strike in dollars, like "250" |
| shares | string | yes | Shares to buy, in whole units as a decimal string, like "1.5" |
| order_id | string | no | Buy from this ask instead of the best one |
| max_premium | string | no | The most to pay in all, USDG (optional), in whole units as a decimal string, like "1.5" |
Unsigned transactions to post a bid for a series at a premium a share: the premium for all the shares is locked now in USDG (exact approval, then postBid) and goes to the writer who fills it, less Borro's share; the option tokens come to this wallet. cancel_order takes it back while it is open.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| symbol | string | yes | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| type | string | yes | call or put |
| expiry | string | no | this (default), next, or a Friday's date like 2026-10-16 |
| strike | string | yes | The strike in dollars, like "250" |
| shares | string | yes | Shares to bid for, in whole units as a decimal string, like "1.5" |
| premium | string | yes | Premium you bid, USDG a share, in whole units as a decimal string, like "1.5" |
Unsigned transaction cancelling an ask or a bid: what it still locks goes back to its maker (an ask's collateral, a bid's USDG). Only the maker may, until the series expires; then anyone may.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| order_id | string | yes | The order's number (position lists this wallet's open orders) |
Unsigned transaction settling a series after its Friday 8pm New York expiry with the feed's last round at or before it, found by walking back from the latest round, once the proof holds (the next round printed after expiry, or it is the feed's latest); when the feed printed nothing in the two days before expiry, with its first round after. Gives the settlement price and what it pays a share. Fourt
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The address that will send it (any address) |
| series_id | string | no | The series id (or symbol, expiry, strike and type instead) |
| symbol | string | no | A stock on Borro by its ticker, like NVDA or AAPL (markets lists every one) |
| expiry | string | no | A Friday's date like 2026-10-16 |
| strike | string | no | The strike in dollars |
| type | string | no | call or put |
Unsigned transaction burning the wallet's tokens of a settled series and taking what they pay: a call pays the stock's Borro vault shares, a put USDG (or the Steakhouse vault's shares with as_shares, for when the vault is short of free USDG). All the wallet holds unless shares is given.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| series_id | string | yes | The series id (position lists them) |
| shares | string | no | Shares to claim (optional, default all), in whole units as a decimal string, like "1.5" |
| as_shares | boolean | no | A put: take Steakhouse USDG vault shares instead of USDG |
Unsigned transaction giving a writer back the lock of a settled series less what its written options pay, once: stock vault shares for a call, Steakhouse USDG vault shares for a put.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| series_id | string | yes | The series id (position lists them) |
Agent Credit Lines: an agent posts its AI credits (Orbio CREDIT) and borrows USDG against them inside limits its owner sets once: a ceiling, a daily limit, a target LTV and an allowlist. markets: every market lines can open in now, each with its price, one yearly borrow rate (borrow_apr), its LLTV and max target and trigger, its defaults (CREDIT: 18% and 27%, with sales), the lending cap and any w
No parameter schema on file.
One agent credit line (account) or the lines a wallet owns (owner: five a call, newest first; page 2 for the next five): its market, credits posted, USDG owed, LTV against its target, trigger and LLTV, a health word, what the agent can still borrow, the daily limit and what went out and is left of it today, the price at which it can be liquidated, its agent, keeper, owner, allowlist and sale setti
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | A line's address |
| owner | string | no | A wallet whose lines to list |
| page | integer | no | With owner: which five lines, newest first (default 1) |
Hold $BORRO. Borrow for less. What a wallet's $BORRO gets it on Agent Credit Lines, with or without lines. Keep $BORRO in the wallet that borrows (its own BorroLock lock counts as held) and its lines get, always: (1) up to half their interest back every Monday, in USDG: the full rate when it holds $BORRO worth a quarter of what its lines owe together, proportionally less with less; (2) liquidation
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| borrow_usdg | string | no | Optional: a planned borrow in USDG, to see the $BORRO its full rate needs, in whole units as a decimal string, like "1.5" |
Unsigned transactions. Without account: open a line owned by the signing wallet for an agent (never the wallet itself), in a market credit_markets lists ("CREDIT", the default), post its credits and optionally borrow USDG at once (to the wallet unless to names an allowlisted address); exact credit approval to the factory first. The owner's limits: ceiling (USDG, default the most the target allows
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| account | string | no | An existing line: post more and/or borrow from it (leave out to open a new line) |
| market | string | no | New line: which market, by its symbol in credit_markets (default CREDIT) |
| agent | string | no | New line: the agent's address, the wallet that will borrow from it (not the owner's) |
| credits | string | no | Credits to post, in whole units as a decimal string, like "1.5" |
| borrow | string | no | USDG to borrow now (optional), in whole units as a decimal string, like "1.5" |
| to | string | no | Where borrowed USDG goes: the owner or an allowlisted address (default the wallet, or the owner) |
| ceiling | string | no | New line: the most USDG the line may owe (optional), in whole units as a decimal string, like "1.5" |
| daily_limit | string | no | New line: the most USDG out in any 24 hours, like "100", or "none" (default the ceiling; $100 with a gas station, at most $5,000) |
| target_ltv | no | New line: target LTV, a fraction under 1 like 0.18 or a percent with its sign like "18%" (the market's default: 0.18 for CREDIT) | |
| trigger_ltv | no | New line: LTV above which the keeper may protect it (default by the market's rule) | |
| allow | array | no | New line: addresses borrowed USDG may go to (16 at most) |
| gas_station | boolean | no | New line: put the agent's gas station on the allowlist, so the agent can borrow its own gas (credit_gas) |
| bills | boolean | no | New line: bill pay, the agent's own wallet on the allowlist, so it can borrow what it is short of an x402 bill (credit_bill); the line then needs a daily limit ($100 unless given) |
| keeper | string | no | New line: "borro" (Borro's keeper, the default), "none", or an address |
| sell_bps | integer | no | New line: most of the credits one protect sale may sell, in hundredths of a percent (0 to 2500; CREDIT default 2500; 0 in a market with no pool) |
| slip_bps | integer | no | New line: most a protect sale may fill under the feed's price, in hundredths of a percent (0 to 1000, default 300) |
One unsigned borrow from a line straight to a payee on its allowlist (or its owner): the line's agent or owner signs it, the USDG goes from Morpho to the payee, and the line owes it until repaid. Checked as the line checks it: the allowlist, a write-off, what is left of the daily limit today, the ceiling, the target LTV at today's price, the market's 90% and depth gate; simulated from the wallet.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| account | string | yes | The line's address |
| to | string | yes | The payee: an address on the line's allowlist, or its owner |
| amount | string | yes | USDG to pay, in whole units as a decimal string, like "1.5" |
Unsigned transactions that turn a line's credit into ETH in its agent's own wallet: make the agent's gas station if it has no code yet (anyone may; the station is the GasStationFactory's predict of the agent's wallet, never an address given), borrow amount USDG from the line to the station (the agent or the owner; the station must be on the allowlist), then pump(minOut, maxIn) by its full signatur
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| account | string | yes | The line's address |
| amount | string | no | USDG to borrow to the agent's gas station (optional; without it, pump what the station holds), in whole units as a decimal string, like "1.5" |
Pay a merchant's x402 bill (HTTP 402 Payment Required) in USDG on Robinhood Chain from an agent credit line. Give the 402's payment_required (its PAYMENT-REQUIRED header value, or its JSON body); the bill is its exact-scheme USDG option on eip155:4663, refused in words if it has none or asks more than max_usdg. The wallet is the payer and must be the line's agent or owner: if it holds less USDG th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The payer's address (0x...): the line's agent, or its owner |
| account | string | yes | The line's address |
| payment_required | yes | The merchant's 402: its PAYMENT-REQUIRED header value (base64), or its JSON body | |
| max_usdg | string | no | The most to pay for this one bill (optional; refused above it), in whole units as a decimal string, like "1.5" |
After credit_bill and the wallet's signature: the header the merchant reads (PAYMENT-SIGNATURE, or X-PAYMENT for x402 version 1), base64 JSON with the authorization and signature. Reads no chain and sends nothing: checks the authorization against the bill (the merchant's payTo, exactly its amount, not run out) and recovers a 65-byte signature to its payer. Send the same request again with header.n
| Parameter | Type | Required | Notes |
|---|---|---|---|
| payment_required | yes | The same payment_required given to credit_bill | |
| authorization | yes | The authorization credit_bill returned, as it returned it | |
| signature | string | yes | The wallet's signature of credit_bill's typed_data (0x hex) |
Unsigned transactions repaying a line's USDG debt from the wallet (anyone may): an amount, or amount "all"; exact USDG approval to the line first (all: the debt plus a hundredth of a percent for interest until it lands; repay takes only what is owed). With close: true (a JSON boolean; the owner only): repay everything and take every credit and any USDG left back to the wallet. With unwind: true (a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| account | string | yes | The line's address |
| amount | string | no | USDG to repay, or "all", in whole units as a decimal string, like "1.5" |
| close | boolean | no | The owner: repay everything and take every credit back |
| unwind | boolean | no | The owner: sell the line's CREDIT into its debt, no USDG needed |
| sell | string | no | With unwind: CREDIT to sell, or "all" (default: enough for the whole debt), in whole units as a decimal string, like "1.5" |
| min_usdg | string | no | With unwind: the least USDG the sale must bring (default: the whole debt when selling all or the default amount, else 97% of the pool's price), in whole units as a decimal string, like "1.5" |
| then_close | boolean | no | With unwind: close the line after (default true when the sale covers the debt) |
One unsigned configure() transaction for the line's owner, starting from the line's current settings: agent (or revoke_agent: true, a JSON boolean, at once; never the owner's own wallet), keeper ("borro", "none" or an address), ceiling (USDG), daily_limit (USDG, or "none"), target_ltv and trigger_ltv (at most the line's max trigger, 30% for CREDIT; a new target over the line's trigger moves the tr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| account | string | yes | The line's address |
| agent | string | no | A new agent address |
| revoke_agent | boolean | no | Revoke the agent at once |
| keeper | string | no | "borro", "none" or an address |
| ceiling | string | no | The most USDG the line may owe, in whole units as a decimal string, like "1.5" |
| daily_limit | string | no | The most USDG out in any 24 hours, like "100", or "none" |
| target_ltv | no | Target LTV, a fraction under 1 like 0.18 or a percent with its sign like "18%" | |
| trigger_ltv | no | Protect trigger LTV, at or above the target, like 0.27 or "27%" | |
| sell_bps | integer | no | 0 to 2500 (0 in a market with no pool) |
| slip_bps | integer | no | 0 to 1000 |
| allow | array | no | Addresses to add to the allowlist |
| deny | array | no | Addresses to take off it |
| gas_station | boolean | no | true: put the agent's gas station on the allowlist; false: take it off |
| bills | boolean | no | true: bill pay, the agent's own wallet on the allowlist (credit_bill); false: take it off |
| transfer_to | string | no | The owner: offer the line to this address (it becomes theirs when they accept) |
| accept | boolean | no | The wallet the line is offered to: accept it, then name Borro's keeper again |
Unsigned transactions putting part of the wallet's Borro position on hold for one payee, up to a cap in USDG and until an expiry, while the shares keep earning (the vault's interest or lending fees, and the $BORRO Drip). vault: "USDG" (the default: usdg, the cap unless given, goes into bUSDG and the hold is those shares, openWithUsdg) or a stock's ticker (shares of its Borro vault the wallet holds
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| payee | string | no | Who the hold pays (or give payment_required) |
| payment_required | no | A merchant's 402 PaymentRequired (its PAYMENT-REQUIRED header value or JSON body) offering borro-hold | |
| cap | string | no | The most USDG the payee can ever be paid from the hold, in whole units as a decimal string, like "1.5" |
| vault | string | no | "USDG" (default) or a stock's ticker, like NVDA |
| usdg | string | no | USDG hold: the USDG to put in (default: the cap and 0.000002 for the vault's rounding), in whole units as a decimal string, like "1.5" |
| shares | string | no | Stock (or bUSDG) hold: the vault shares to hold, like "0.5", or "all" |
| expiry_seconds | integer | no | How long the hold lasts, in seconds (60 to 7776000) |
| mode | string | no | metered (default) or charge |
| operator | string | no | Charge mode: an address that may charge and release for the payee |
| salt | string | no | 32 bytes of 0x hex for the hold's id (default: fresh) |
| max_slip_bps | integer | no | The most slippage the payer accepts on a stock hold's sales, in basis points (default: the listing's now) |
| max_fee_bps | integer | no | The most fee the payer accepts, in basis points (default: BorroHolds' fee now) |
The voucher for one x402 request (HTTP 402 offering the borro-hold scheme): the typed data the hold's payer signs, saying what it owes the merchant in all on the hold, counted on from the last voucher Borro's facilitator accepted (or what the hold has paid on chain, if more). Give payment_required and hold (its id), or wallet to use its newest hold the merchant takes. Refused in words when the hol
| Parameter | Type | Required | Notes |
|---|---|---|---|
| payment_required | yes | The 402's PaymentRequired (PAYMENT-REQUIRED header value or JSON body) | |
| hold | string | no | The hold's id (hold_open returned it) |
| wallet | string | no | The payer: finds its hold for this merchant when hold is not given |
| max_usdg | string | no | The most one request may cost, in whole units as a decimal string, like "1.5" |
After hold_pay and the payer's signature: the header the merchant reads (PAYMENT-SIGNATURE, or X-PAYMENT for x402 version 1), base64 JSON with the voucher { hold, cumulative, signature }. Reads no chain and sends nothing; recovers a 65-byte signature to the hold's payer. Send the same request again with header.name set to header.value.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| payment_required | yes | The same payment_required given to hold_pay | |
| voucher | yes | The voucher hold_pay returned, as it returned it | |
| signature | string | yes | The payer's signature of hold_pay's typed_data (0x hex) |
A hold on BorroHolds by its id, or the newest 10 a payer opened or that pay a payee: payer, payee, vault, mode, cap, paid, shares and their value in USDG, the cover, the expiry and the payee's 4-day grace after it, the terms fixed when it opened (desk, slippage, fee), USDG BorroHolds credited to the payer with its claim transaction, and for metered holds what Borro's facilitator has accepted in vo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hold | string | no | A hold's id |
| payer | string | no | A payer's address |
| payee | string | no | A payee's address |
One unsigned transaction paying a hold's payee. Metered: settle with the latest voucher (cumulative and signature, or by default the last one Borro's facilitator accepted); until the expiry anyone may send it, in the 4-day grace after it the payee or its operator, and the USDG goes to the payee. Charge: charge an amount (default all the cap has left), the payee or its operator, until the grace end
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| hold | string | yes | The hold's id |
| cumulative | string | no | Metered: the voucher's cumulative, in USDG's smallest units |
| signature | string | no | Metered: the voucher's signature |
| amount | string | no | Charge mode: USDG to charge, in whole units as a decimal string, like "1.5" |
| in_shares | boolean | no | Pay the payee the vault's shares worth the amount (a stock hold's divided by one plus the constant 0.5% (PAD_BPS, 50 bps) pad; the payee or its operator) |
One unsigned transaction ending a hold: release (its payee or operator, any time) or, after the expiry and the payee's 4-day grace, reclaim (anyone). Either way every share left goes back to the payer. Until then the payer cannot end it. Warns when releasing would give up accepted vouchers nobody has collected.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet's address (0x...); the transactions are built for it to sign |
| hold | string | yes | The hold's id |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Borro or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| markets | no tags | |
| market | no tags | |
| health | no tags | |
| position | no tags | |
| trades | no tags | |
| prices | no tags | |
| bear_coins | no tags | |
| rules | no tags | |
| open_short | no tags | |
| close_short | no tags | |
| supply | no tags | |
| withdraw | no tags | |
| borrow | no tags | |
| repay | no tags | |
| bind_builder | state-write | state-write: declares readOnlyHint: false |
| open_pair | no tags | |
| close_pair | no tags | |
| buy_with_eth | no tags | |
| open_long | no tags | |
| close_long | no tags | |
| farms | no tags | |
| farm_deposit | no tags | |
| farm_withdraw | no tags | |
| weekend | no tags | |
| buy_cover | no tags | |
| deposit_cover | no tags | |
| withdraw_cover | no tags | |
| settle_cover | no tags | |
| claim_cover | no tags | |
| options | no tags | |
| write_option | no tags | |
| buy_option | no tags | |
| post_bid | no tags | |
| cancel_order | no tags | |
| settle_series | no tags | |
| claim_option | no tags | |
| release_collateral | no tags | |
| credit_markets | no tags | |
| credit_line | no tags | |
| holder_benefits | no tags | |
| credit_open | no tags | |
| credit_pay | no tags | |
| credit_gas | no tags | |
| credit_bill | no tags | |
| credit_bill_header | no tags | |
| credit_repay | no tags | |
| credit_guardrails | no tags | |
| hold_open | no tags | |
| hold_pay | no tags | |
| hold_header | no tags | |
| hold_status | no tags | |
| hold_collect | no tags | |
| hold_end | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Borro can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.