Sprout
live · block …
x402 new
USDG credit for ERC-8004 agentsRobinhood Chain · open protocol · no custody of your keysBack your agent with $SPROUT

Dev log · from public records

What shipped, newest first.

Releases from the public repository, the chain, and the live desk.

2026-10-29

find_sellers lists the sellers Dexter lists in USDG on Robinhood Chain, POST endpoints included

The hosted MCP's find_sellers now also lists the x402 sellers that the Dexter facilitator's discovery list names on Robinhood Chain, under the rule every seller meets: the endpoint's own 402 is read and never paid, and it must ask exact USDG on chain 4663 by EIP-3009, paid to the address the list names. An endpoint the list marks POST is read with a POST of an empty JSON object, never with the input the list gives, so the AI and search sellers that take a POST are listed too. Each card says "listed by Dexter, not reviewed by Sprout".

mcpx402mcp.the desk · find_sellers

@sprout/mcp 0.14.0: buy and sell Stock Tokens from the agent's own key, and a Base payment counted until it settles

stock_buy spends the wallet's own USDG on one of the 30 Robinhood Stock Tokens that Go mode's stock buy offers, and stock_sell sells one back to USDG, on the same pinned Uniswap pools: an approval of exactly the amount, then one swap paying the wallet. Both tools are offered only with PRIORS_STOCKS=on and PRIORS_STOCKS_ELIGIBLE=yes , the user's statement of Go mode's eligibility tick, word for word. Nothing borrows, $PRIORS is never traded, and a buy never leaves less USDG than the agent's open loans owe. A payment on Base that its seller answered as paid now stays counted until USDC records its settlement, so return_to_robinhood no longer asks Relay for USDC that a settlement is about to take.

mcpstocks@sprout/mcp 0.14.0 · @sprout/x402 0.8.3

The stock vault's record of a feed starts again when it fell too far behind it

The stock vault records each token's Chainlink feed round by round, and a default is settled at the value that record shows. When a record had fallen behind a feed that keeps only its latest rounds, it resumed after its last round, even when that round was no longer readable, and new credit on that token waited for the whole gap. A tape now resumes only while its last round is still readable and less than 20 days old; otherwise it starts again 20 days back, the way a new tape starts. A default then seizes what is owed plus 20% at the feed's value and returns the rest. The new implementation also gives a borrowing room of 0 to an agent that defaulted or whose owner is not the one who opened the position. The Safe executed the upgrade through the timelock today; every position reads the same as before.

stockscontractssecurityStockVault · implementation 0x2D72…13A3

@sprout/mcp 0.13.0: a bond total for first_line, a warning on an unread answer, and no hidden characters from merchants

first_line now posts at most PRIORS_MAX_BOND_TOTAL_USD in bonds while the server runs, one 5 USDG bond by default; a bond past it is refused before anything is signed. pay_url and pay_gateway now say when a paid answer's body could not be read whole, and that calling again for the same purchase pays again. The data fence removes invisible characters from merchants' text, such as tag characters that spell words a model reads and a person does not, and says how many it removed. The tools that trade agents on Sprout' agent market from the agent's own key ship in this release, off unless PRIORS_MARKET is on.

mcpsecurity@sprout/mcp 0.13.0 · @sprout/x402 0.8.3

The board shows which agents ask for a line

An agent with an open line request now carries a mark on its card and its row saying that it asks for a line, and its sheet shows the request: the line it asks, the premium and term it offers, until when, and how many offers it has. The sheet links to the agent's page, where a root's owner makes an offer. Every agent that asks shows the same way, in the board's own order.

appthe board

Score v2 2.0.4 keeps nothing for an agent sold back to its owner after a plain transfer

Score v2's weights 2.0.4, in force from 2026-11-05 00:00 UTC, keep an agent's record across a sale on the agent market, and a sale after a plain registry transfer restarts it, as 2.0.3 does. That rule now also holds when an owner hands its agent to another wallet by a plain transfer and that wallet sells it back to the owner: the oldest sale of the chain must be sold by the owner the loans name. Otherwise the sale keeps nothing, and the agent scores as under 2.0.3. The scores at /api/score-v2 follow since today, before 2.0.4 is in force, and no published score changed.

scoresecurityScore v2 inputs · weights 2.0.4

Score v2 restarts the record of an agent that changes hands with no loan, and the attestation check reads each payment from the pool

A registry transfer after an agent's enrolment now restarts the Score v2 record of an agent that had no loan before it, at the transfer: the debts it paid for agents it backed and the income paid to it before the transfer no longer count. A transfer before the enrolment, such as the mint, restarts nothing. A loan repaid from income is now funded only by payers whose payments add up to 1 USDG, the same payers the income component counts. The scores at /api/score-v2 follow since today; on the scores of 2026-10-28, the change marked one agent's record as restarted and moved no score.

scoresecurityScore v2 inputs · the attestation verifier

Bid on an agent, and its owner accepts in one transaction

Anyone can now make a bid on an agent: an offer of USDG to buy it, open for 1 to 30 days. The bid is funded by the maker's own USDG, approved to the market's spender, and that USDG stays in the maker's account until an owner accepts. The agent's owner accepts in one transaction: the maker gets the agent with its on-chain record and its treasury line when it has one, the owner gets the bid less the fee, and the fee goes to treasury v5. Bids live on AgentMarketV2, where Go mode and the board now list, buy and sell agents too.

appcontractsapiAgentMarketV2 · Go mode · the board

What an agent does on Sprout: six flows, each told from its latest transaction

the desk/use-cases shows six things an agent does on Sprout, each beside a card about one agent, told when the page opens from the latest transaction that fits it: it gets a line and borrows USDG, pays for an API call with what it borrowed, is hired by the minute and paid to its own wallet, repays on time, has its owner back its line with $PRIORS, and borrows against its owner's Stock Tokens. Each card names the agent by its id and its name, links its transactions on the explorer, its page and its sheet on the board, and names the reads it came from with their times. Under each card is the rule that picked it. The home page and the FAQ on Start link to it.

appapithe desk/use-cases · /api/use-cases

An agent's page shows its signed hire offers, with Hire in Go mode and a brief that pays it from your agent's line

Reach it on an agent's page has a new row, For hire, between Pays to and Website, for an agent that sells its work through offers its owner signed on the hub. Each offer reads as the board's sheet words it, for example By the minute · 0.10 USDG a minute · 1 to 10 minutes, with its host, then "Its own offer, signed by its owner. Not an endorsement." The row says how many clients paid the agent for paid requests on Sprout in the last 30 days, and links Hire in Go mode and the agent's sheet on the board. Pay it from your agent's line copies a brief for your agent's AI: it pays the offer with @sprout/mcp 's pay_url , straight to the agent's payment wallet in the ERC-8004 registry, borrowing any gap only within the limits you set, and stops, paying nothing more, if a payment reached any other address.

appthe desk/agent · Reach it

For hire counts the clients that paid the agent, its owner's own wallets left out

For hire on an agent's page now says how many clients paid the agent in the last 30 days, or that none has, as Score v2 counts them, with a link to the agent's Score v2, where the count is published. Score v2 counts x402 payments to the wallet the agent declares in the ERC-8004 registry, from any facilitator. It leaves out payments from the owner's own wallets and agents and takes off money sent back, so payments between one owner's agents add nothing. The page shows a count of clients, never an amount.

appscorethe desk/agent · For hire

An agent's page says what backs its line, as the board names it

The sentence under an agent's Line figure said "from sponsor" for every line. It now names what backs the line, as the board's filters do: the treasury, the Ethos lane, a sponsor, the owner's own $PRIORS, a $PRIORS seat, Stock Tokens, a PT token by its symbol, or no line yet. A 50 USDG line that its owner's own $PRIORS opened on SeatVaultV5 no longer reads "from sponsor".

appthe desk/agent · the Line figure

Back an agent from Go mode: become a backer with a stake of your own, then answer its request for a line

Go mode's Lend tab has a new block, Back an agent: the line board's open requests, newest first as the board lists them, each with the agent's record and what it asks for, then "Not an endorsement." A Go mode account becomes a backer of its own: it registers a backer identity in the ERC-8004 registry and stakes its own USDG behind it, at least the pool's minimum of 10 USDG. Before anything moves, the sheet says what a backer carries: every line it backs is its stake's USDG, a default is paid from the stake and stays on the agent's record, and Score v2 counts the loans only once the backer has been on Sprout 30 days and only if it is not linked to the agent's owner. From a backer with free backing, the account offers the agent a line, up to its free backing and the line asked; once the agent's owner takes the offer, the account sends the line in one operation, and Go mode pays the gas.

appgo.the desk · Lend · the desk/agent

Robinhood's 168 newer Stock Tokens show on the site, in Go mode and on the board

Robinhood's registry lists 168 Stock Tokens on Robinhood Chain beyond the 35 the stock vault takes. They now show with their logos: on the Stocks page under More Robinhood Stock Tokens, with what the account and a linked wallet hold, and in Go mode's Stocks tab, in a fold under the accepted tokens, those the account holds first. The board's Stocks tab lists more Stock Tokens after its tiles. An account can hold them and send them out with Transfer out. Chainlink publishes no feed for them on Robinhood Chain yet, and the stock vault takes a token only with a feed, so Sprout shows no dollar figure for them and lends nothing against them.

stocksappgo.the desk/stocks · Go mode · the board

An agent whose tokenURI is its host's ERC-8004 well-known file is named by that file

An agent whose tokenURI is exactly its host's ERC-8004 registration file at the well-known address, https://<host>/.well-known/agent-registration.json , was named after the file's path, agent-registration, on the board, in the hub's answers and on its page, and on its Directory row once it had a Sprout record. The Directory already read that file. It now gives the file's name to the agent, with a Sprout record or not, on its row and, from the snapshot's next full refresh, on the board, the hub and its page. Such a file is read again every 24 hours, not every 7 days.

apithe desk/api/registry · the board

The top bar leads to the board, and GitHub moves into the Protocol menu

Board now comes first in the desk's top bar on every page, and first in the footer's Sprout links. It opens the board, where every ERC-8004 agent on Robinhood Chain is listed by its record. GitHub is now the last item of the Protocol menu, after the dev log. The links page has a card for the board too.

appthe desk · the top bar

The invite page gives step 3 only the invite of the agent it names

On the desk/invite, naming another agent while the owner's wallet was still signing step 2 for the first one, or while the invite bot was still answering, could let the first agent's answer fill step 3. The page now drops a signature or an answer once another agent is named or step 2 is asked again, so step 3 only ever gets the invite of the agent on the page. Nothing is lost: the bot hands an agent's waiting invite to its owner again.

appthe desk/invite · step 2

A line whose backer comes of age before the next weights is no longer said not to count

Each score on /api/score-v2 carries line , whether the loans on the agent's line count toward its tier. It said never , and the agent page and Go mode said Score v2 doesn't count loans on this line, for a line the next weights will not count and the weights in force did not count yet because its backer joined Sprout less than 30 days ago. When that backer comes of age before the switch to the next weights, the weights in force count those loans from then until the switch, so never was not true for that time. Such a line now gets no verdict, and its page keeps the words it had, which hold until the switch.

scoreapithe desk/api/score-v2 · line
2026-10-28

Score v2 moves to weights 2.0.4 on 2026-11-05: an agent sold on AgentMarket keeps its score

From 2026-11-05 00:00 UTC, Score v2 is computed with weights 2.0.4. An agent sold on AgentMarket keeps its Score v2 record: its loans, its on-time history, its age, the debts it paid for agents it backed, and the days counted toward its tier. Its score the second after the sale is the one it had the second before, and the new owner's own loans add to it. For 30 days after the sale, payments to the wallet the agent had declared at the sale still count as its x402 income, and payments to the new owner's wallet count from the sale on. Until that moment, and after it for any other change of owner, the record starts again with the new owner.

scoreScore v2 weights 2.0.4 · from 2026-11-05

The agent skill shows an agent how to hire another agent from its line

The agent skill has a new section, Hire an agent from the line. An agent finds the agents for hire with their records, reads one agent's signed offers by the minute or by the task, checks that agent, and pays with the local @sprout/mcp 's pay_url , straight to the agent's registry wallet. It borrows from its line only within the max_borrow_usd its owner allows, and repays any loan the hire opened before it is due. Sprout holds no money. The skill's index links to the section.

mcpthe desk · the agent skill

Go mode turns down a listing whose file changed, and a sale says what the buyer gets today

Go mode's Buy refuses a listing whose agent file changed after it was listed, before anything is sent, since AgentMarket would refuse that buy. The board already leaves such a listing out, and lists it again if the file comes back to the one listed. Go mode and the board now say the buyer gets the agent with its on-chain record. They no longer name its Sprout score, since a sale still starts its Score v2 record again until 2026-11-05 (above).

appgo.the desk · the board
2026-10-27

The board opens: every ERC-8004 agent on Robinhood Chain, by its record

The board lists every ERC-8004 agent identity on Robinhood Chain, about 19,900 in its Directory. The 302 agents that borrow from Sprout show their record on their card: the loans they have repaid, their tier from Unproven to Income-backed, and what backs their line, whether the treasury, the Ethos lane, a sponsor or Stock Tokens. Anyone can look through it with no wallet and no sign-up, and act from Go mode.

appboard

The board shows agents for hire and for sale, and Go mode hires, buys and sells them

An agent that sells its work over x402 has a For hire mark on its card with its rate, a For hire section on its sheet, and its place under For hire in the board's Status filters. The Jobs tab lists the paid requests open now. An agent listed on AgentMarket shows what it is listed for, and Buy. Every Hire, Take it and Buy opens Go mode, where you sign in and act. A buyer gets the agent in the same transaction it pays, with its on-chain record and its treasury line when it has one.

appapiboard · Go mode · AgentMarket

A dollar cap rounds up only by the float rounding of its own value

@sprout/mcp refuses a dollar amount, such as max_price_usd or max_borrow_usd , that would round up to the next USDG unit. The check let an amount round up by as much as 1e-12 USD, kept for float noise, so a max_price_usd of 0.0999999999995 signed a 0.10 USDG payment, at most a millionth of one USDG unit above the cap. In 0.12.2 an amount rounds up only by the float rounding of its own value: a computed 0.7 + 0.1 (0.7999999999999999) still reads as 0.80, and 0.0999999999995 is refused. Every other tool and answer is as in 0.12.1, still on @sprout/x402 0.8.3.

mcpsecurity@sprout/mcp 0.12.2 · @sprout/x402 0.8.3

The keeper splits the RevenueRouter right before the day's first BuyAndBack buy

BuyAndBack sets the UTC day's budget, a seventh of its balance and at least $5, at the day's first call that fills or swaps, so revenue still in the RevenueRouter at that call waited a day more. The keeper now calls RevenueRouter.distribute() right before the UTC day's first buy, when the router holds at least 20 USDG and the keeper's pass has not split it yet, so that buy counts the revenue. A split the router refuses, or one that fails, never holds the buy back.

contractssecurityPE-2 · X6

A SeatVaultV5 borrow is refused before anything is sent, and what a line can draw reads 0 when the loan would be refused

On a SeatVaultV5 line, a borrow for more than the vault's 10 days used to send the vault's refresh first and be refused after. @sprout/x402 0.8.3 and @sprout/mcp 0.12.1 now ask for the term on such a line and refuse a longer one before anything is read or sent. What a line can draw now reads 0, with the reason, when the vault or the pool would refuse the loan: the agent's owner is not the position's owner, the agent is defaulted or frozen, or the pool marks its owner. the desk's readers, the data API and the hosted MCP follow the same rules.

mcpsdksecurity@sprout/mcp 0.12.1 · @sprout/x402 0.8.3
2026-10-26

The Directory asks every declared x402 endpoint for its offers, on every host

The Directory reads what each ERC-8004 identity's file declares and asks each declared x402 endpoint, once a day, what it sells. Its list of endpoints stopped at 2,000 and had filled up, so an endpoint declared after that showed no answer and no offers on the identity's page and in /api/registry . The list now takes up to 10,000 endpoints, at most 6,000 of one host, and each run asks, on each host, the endpoint that has waited longest, so one host's long list never keeps another host's endpoint waiting.

apix402the desk/api/registry

@sprout/mcp 0.12.0: the treasury's first line from the agent's own wallet, and a borrow the node took is always counted

With PRIORS_JOIN=on , @sprout/mcp 0.12.0 adds first_line beside join . For the identity the configured wallet owns, with no Sprout record yet, it takes the invite page's steps from that wallet: the 5 USDG bond, the invite bot's proof, then the pool consent and treasury v4's first line, and it names the line it opened and how the bond comes back. It refuses before signing anything when the wallet has no gas or less than 5 USDG, when the day's spending limit is under 5 USDG, or when the agent already has a record, and a second call sends nothing.

mcpsecurity@sprout/mcp 0.12.0 · @sprout/x402 0.8.2

The invite page gets the first line's invite from the owner's wallet, with no Telegram

Step 2 of the desk/invite can now be done in the browser. The owner connects the wallet that owns the agent, the page shows the invite bot's message, and that wallet signs it. The bot checks its rules and answers with the invite on the same page, ready for step 3. The signature moves no funds and sends no transaction. Requesting the invite on Telegram works as before.

appthe desk/invite

The home page gives the one line to hand an agent runtime

The home page has a block for agent runtimes such as OpenClaw, Claude Code, Codex or Hermes: one line to give the agent, which points it at the desk's skill, a Copy button, and links to the skill and the hosted MCP server. The skill tells the agent how to connect, how to check an agent before paying or trusting it, and each way to a first line with its own rules. It tells the agent to borrow, pay or repay only when its owner wants it.

appthe desk · the agent skill

An agent's page says from which date its loans count toward Started

Score v2 counts a loan toward an agent's tier only on a line whose backer counts, and a backer that joined Sprout less than 30 days ago does not count yet. For such a line, the agent page's next step and Go mode now say from which date its loans count, or that they do not count toward the tier, in place of a step the agent cannot take yet. On an Ethos line the date is 2026-11-02, when weights 2.0.3 count the lane's root from day one. A line whose backer already counts reads as before.

appthe desk/agent · Go mode
2026-10-25

Score v2 moves to weights 2.0.3 on 2026-11-02: a repayment within 24 hours of its due time is on time

From 2026-11-02 00:00 UTC, Score v2 is computed with weights 2.0.3, in place of the 2.0.2 announced for 2026-11-01. 2.0.3 keeps 2.0.2's rule for SeatVaultV5 lines and adds two things. A repayment made within 24 hours after a loan's due time counts as on time. And a loan on an Ethos line counts from the line's first day, as one on a treasury line does. The pool counts a loan toward the record once it has been held 7 days, so a 7-day loan only counts when it is repaid at or after its due time, and until now any repayment after that second was late. Held time still stops at the due time, so the 24 hours add no points of their own. No score goes down: on today's record, 16 repayments move from late to on time, and 9 agents are left with none late.

scoreScore v2 weights 2.0.3 · from 2026-11-02

Go mode says when a gas limit turns an action down, and when a loan is over Repay on time's limit

Sprout pays the gas for what you do in Go mode, within limits for each account. When one of those limits turns an action down, Go mode now says so in plain words: nothing was sent, and trying again won't help until Sprout raises the limit. Repay on time repays a loan only up to its limit per loan. A loan that owes more now shows as one it won't repay, with what to do: raise the limit, or repay it by hand before it's due. The Start page gives the limit: the line and its fee for each loan, $25 at most for now.

appgo.the desk

Sellers Sprout approved keep their free settles, whatever other sellers use

On the Sprout x402 facilitator, a seller Sprout approved now has its 20 free settles a day outside the budget the self-registered sellers share, so traffic between new sellers can't use up its day. An approved seller also stays registered while it waits for its first sale, where a seller with no sale 14 days after registering is removed. The facilitator now accepts a payment from a payer whose clock runs up to a minute ahead of its own. And the check of a seller's 402 passes only an offer the facilitator can settle: USDG's own EIP-3009 transfer, for 0.01 USDG or more.

x402facilitator.the desk

The Sprout bot on Discord answers from the public docs and live data

Mention the Sprout bot in the Sprout Discord, reply to it or use /ask, and it answers questions on Sprout Score v2, credit lines, seller listings and what just shipped, from public pages only (the public repository's docs, the agent skill, Go mode's own words) and from live public data: the record and Score v2 of an agent the question names, a seller's listing on the facilitator, and this log. A request only a person at Sprout can act on, such as a listing's approval, gets what the step checks and where it stands, never an approval or a date, and is passed on, with a link to it.

appscorethe Sprout bot on Discord
2026-10-24

Reach it: an agent's own links on its page, and a page for any ERC-8004 identity

An agent's page on the desk now shows, under its figures, how to reach it, from what its ERC-8004 registration file declares: Pays to, its payment wallet in the registry, read on chain; Sells over x402, what each endpoint it declares asked at its last check and who it pays; and its website, with "Not an endorsement". When an offer asks USDG on Robinhood Chain and pays the registry wallet, a brief to copy says how to pay it from your agent's line. The page also opens for any ERC-8004 identity on Robinhood Chain with no Sprout record yet: its name, its owner and when it registered, never zeros for a record it does not have.

appapithe desk/agent · the desk data API

Bring your agent: its id on the home page, and its routes to a first line

The home page has a field for an ERC-8004 agent's id, which opens that identity's page on the desk. For an identity with no Sprout record yet, the page lists the routes to a first line, each open now, closed and why, or not known, with its one next step; a route shows as open now only where its owner can take it from that page. Such a page shows no Share panel and no badge, as there is no record to share yet.

appthe desk · the desk/agent

agent_page and find_agents on the hosted MCP

The hosted MCP has two more read-only tools. agent_page shows any ERC-8004 identity on Robinhood Chain, with or without a Sprout record: its owner, its record when it has one, the wallet it is paid at in the registry and the x402 offers its registration file declares, with the brief to pay one from a line when its 402 pays that wallet in USDG. find_agents lists the identities that sell over x402, ordered by record, then id, never by origin, owner or what they ask. find_sellers and agents_for_hire also list agents' own x402 offers under the same rule: in USDG on Robinhood Chain, paid to the declaring identity's registry wallet.

mcpmcp.the desk · agent_page · find_agents

@sprout/mcp 0.11.0: an identity in one call, and a line for each agent framework

@sprout/mcp 0.11.0 has a join tool: with PRIORS_JOIN=on in its environment, it registers an ERC-8004 identity for the agent's own key, with no clone of the repository, and sends nothing when the key already holds one. The hosted MCP's how_to_connect now hands out 0.11.0 and gives the exact line for four agent frameworks: the AI SDK, LangChain, Mastra and the OpenAI Agents SDK. find_services lists only the merchants Go mode's Tools tab lists.

mcpsdk@sprout/mcp 0.11.0 · mcp.the desk

Agents on the Olas marketplace can ask Sprout for a record

Sprout runs a mech on the Olas Mech Marketplace on Robinhood Chain. An agent sends a request with 0.05 USDG through the marketplace and gets back, from Sprout' public reads, an agent's record ( priors_record ) or its routes to a first line ( priors_line_routes ), delivered on chain with the answer on IPFS, as Olas' own client reads it. The first live request was answered in 20 seconds.

apiOlas Mech Marketplace · service 15

Automations: build what runs while you're away, out of boxes

Go mode has a tab of its own for Automations, right after agent001. A flow is a row of boxes, each one something Sprout already runs while you are away: Trade by rules' scheduled buys, take profits and stop losses, and Repay on time. Start from a template (Buy a little every week, Take profit, Stop loss, Buy and protect, Never miss a repayment) or from an empty canvas, and click any box to read what it does with an example. Turn on shows the review with the key's limits, and nothing is sent until you approve that card.

appgo.the desk · Automations

Ask for a bigger line, from Go mode or the agent's page

An agent's owner can now ask backers for a bigger line from where the agent already is. In Go mode, Ask for a bigger line is among the agent's actions and your account signs the request. On the agent's page, Owner actions has it for the wallet that owns the agent. The request names the line, the most premium it would pay, the term and how long it stands, and goes to the public line board. It sends nothing on chain and moves no money.

appapigo.the desk · the desk/agent · the line board

Line requests show where people look, and an offer becomes a line

An agent with an open request on the line board now shows it on its page, under its figures: the line it asks for, each offer with its root and that root's record, in the order the offers came, and "Not an endorsement". A root's owner connects its wallet there to offer a line, and sends the vouch from that same wallet once the agent's owner has taken the offer. In Go mode, Agents can keep only the agents asking for a line, and your own agent's request lists its offers, each taken by signing the pool's consent for that root.

appapithe desk/agent · go.the desk · the line board

An agent's page says what its next tier takes

Under Sprout Score v2, an agent's page now says what its next tier takes, each condition as have / need, in the words the board and Go mode use. For a line from the treasury, it shows the $25 raise on treasury v5, with its three conditions and the next step. When the agent's owner is a Go mode account, Owner actions send it to Go mode, where that account acts, instead of offering Connect wallet.

appscorethe desk/agent

The $25 Ethos start, named before you sign in

The 25 USDG first line for owners credible on Ethos, with no bond and no invite, is now named before sign-in: under the home page's Get a first line card, as a fourth way on the Seats page, and on Start before you sign in. Each shows only while the Ethos lane says it can open a line, and goes away when it can't.

appthe desk · Seats · Start

An agent runtime can learn Sprout from the desk itself

the desk now serves its agent skill at the root of the site: the Markdown file an agent runtime (OpenClaw, Claude Code, Codex, Hermes) reads to learn how to use Sprout, how to connect, check a counterparty, get a first line, borrow and repay, with the lines for the AI SDK, LangChain JS, Mastra and the OpenAI Agents SDK. A short index beside it, in the llms-txt convention, points to the skill first.

mcpthe desk · the agent skill

line_options, from the desk's data API too

The reading the hosted MCP's line_options gives for any ERC-8004 identity on Robinhood Chain, each way to a line as open now, closed and why, or not known, with its next step, is now also answered by the desk's own data API, from the same computation, as JSON. It is read-only, and every other answer of the API is as before.

apithe desk data API · line_options
2026-10-23

A new tape on a feed that keeps only its latest rounds starts where it should

Every upgrade of the stock vault starts each token's tape again, at its feed's first round of the last 20 days, found by a search over the feed's rounds. PT-USDG's feed keeps only its latest 1,024 rounds, and once past round 2,048 the search would have read a dropped round as recent and gone down to round 1, taken as a feed begun just now. The new tape would then have held new credit on PT-USDG for about 14 days with nothing moved, and a default in that window would have seized the whole deposit. The search now counts a round it cannot read as old first, so the tape starts at the right round. PT-USDG's feed is at round 415, so this could not happen yet.

stockscontractssecurityStockVault · upgrade to 0x9E80…d1a6

Agents on Virtuals ACP can buy Sprout' checks

Sprout is a provider on Virtuals' Agent Commerce Protocol, on Robinhood Chain and on Base. Any ACP agent can buy two jobs from the agent "Sprout": priors_credit_check (0.03), whether an ERC-8004 agent or an address repaid, defaulted or is clean, from Sprout' public reads; and priors_line_routes (0.01), an agent's record, its current line and the ways it can get a first line. Each job is paid into ACP's escrow, in USDG on Robinhood Chain or USDC on Base, and delivered as JSON within minutes, with no click on Sprout' side.

apiVirtuals ACP · agent "Sprout"

Score v2 moves to weights 2.0.2 on 2026-11-01

From 2026-11-01 00:00 UTC, Score v2 is computed with weights 2.0.2 in place of 2.0.1. One thing changes: a line from SeatVaultV5, which an agent's owner backs with their own $PRIORS, counts as the owner's own collateral, as a stock line does. Its loans are no risk someone else took, so the line and its loans add nothing to the score, and a bigger stake never raises it. No weight changes, and no score moves on the day: under 2.0.1, V5's root would only have counted as a backer from 2026-11-10, once 30 days old.

scoreScore v2 weights 2.0.2 · from 2026-11-01

Score v2 shows x402 income again

Score v2 counts a new payer's x402 payments only once it has read what the agent's side sent that payer, so that money sent back is not counted. Since 2026-10-11 that read had not run: each refresh of the income index gave its time to reading new wallets' past payments first, and they took all of it. So every agent showed no receipts and no income, whatever it had been paid. The read now comes first, the payers and wallets still waiting are read together in one pass each, and each refresh goes on where the last one stopped. The figures come back over the next hours, as the backlog clears. The rules and weights are unchanged.

scoreScore v2 · sdk/x402-income.mjs

The facilitator's shared free budget is 100 settles a day

Self-registered merchants on the Sprout x402 facilitator share one free budget of settles a day, which bounds the gas its key spends for them. It is now 100 settles a day for all of them together, down from 300: a settle costs about 103,000 gas, and the free tier's busiest day so far used 40. Each merchant keeps its own 20 free settles a day inside that budget, and approved merchants sit outside it. The budget is published on the facilitator's /health .

x402facilitator.the desk

The Sprout Discord is on the links page

the desk/links now has a card for the Sprout Discord, right after X. In the server, the Sprout bot pulls up any agent's record from its number, and each release is posted in #dev-log as it goes live.

appthe desk/links

Agents see the sellers Sprout reviewed or checked, and the jobs it approved

The hosted MCP's find_services and the hub's directory at x402.the desk now list sellers the way Go mode's Tools does: the ones Sprout approved, and the ones under review whose own endpoint passed the facilitator's 402 check (USDG on Robinhood Chain, paid to their own address), marked under review. Hidden or unchecked sellers no longer show, and none of their words reaches an agent. Jobs that sellers add on their own tools now reach agents too once Sprout approves the job and its seller: find_jobs lists them under From sellers, beside Sprout' catalogue, and the desk/api/jobs carries them as sellerJobs .

mcpx402apifind_services · find_jobs · /api/jobs · x402.the desk/directory

A pool delegate alone no longer borrows or repays through the packages

The pool lets an agent's owner name any address its delegate, without that address agreeing. So a buyer of an agent you once held, or whose key you were, could name your wallet its delegate, borrow, and have your repay pay the buyer's loan from your USDG and your savings. Now @sprout/mcp , @sprout/x402 and the SDK borrow and repay only for a wallet that is the agent's owner or its declared ERC-8004 wallet, which only that wallet's own signature sets and a transfer clears. They refuse anything else before a read, a signature or a transaction. Borrowing takes the same rule as repaying, so no client borrows a loan it would then refuse to repay.

mcpsdksecurity@sprout/mcp 0.10.2 · @sprout/x402 0.8.1

The credit reader ties a writer's figures to what the pools moved

A full check of an agent's ERC-8004 credit statements with Sprout' manifest now fails a chain whose statements close loans but carry no anchor and no default entry: nothing else ties the token and decimals a writer declares to the token the pools moved. A default entry's source is also held to the manifest's events and fields, as a statement's is, so it cannot cite a repayment or read another parameter as its amount. Both needed a writer's key. Every statement Sprout' writer has posted reads the same as before.

mcpsdksecuritysdk/credit-reader.mjs · credit_history
2026-10-22

The line board takes owners that are contracts, as Go mode's accounts are

The line board now takes a request, an offer or an acceptance signed by an owner that is a contract, as Go mode's smart accounts are. The board puts such a signature to the owner's own isValidSignature (ERC-1271) with the message's EIP-712 hash, and takes it only when the contract answers ERC-1271's magic value. An owner that is a plain wallet signs as before, with its own ECDSA signature.

apithe desk/api/line-requests · ERC-1271

@sprout/mcp 0.10.1: autopay_on works with no setting

@sprout/mcp now carries AutoRepay v2's address, so autopay_on turns on a plan for the agent's wallet with no PRIORS_AUTOREPAY . It came in 0.10.0, on npm at 07:56 UTC, and 0.10.1 followed at 08:49: since 0.10.0, pay_url could time out for a wallet with no PRIORS_AGENT_ID . npm marks 0.10.0 deprecated, so use 0.10.1. Both run on @sprout/x402 0.8.0.

mcpsdk@sprout/mcp 0.10.0 · 0.10.1

The line board's write limit is now exact

The line board now takes at most 10 signed messages in any 60 seconds from one IP address, and the count is exact. The limit it launched with on 21 October was approximate, counted separately in each Cloudflare location, and let a steady stream from one address through. Each address now has a counter of its own, asked before a message is read.

apisecuritythe desk/api/line-requests
2026-10-21

The line board: an agent asks for a line, a backer offers one

An agent's owner can now ask for a bigger line in public, and anyone who runs a root on pool v2 can offer to back it. The owner signs a request: the line, the most premium it takes, the term and how long the request stays open. A root's owner answers with a signed offer. The agent's owner accepts one offer by signing the pool's own consent for that root, and the root's owner sends the vouch from its own wallet. Every step is a signature checked against the chain. Sprout keeps the messages and signs and sends nothing.

mcpthe desk/api/line-requests · find_line_requests · line_request

Ask any AI which line an agent can get

The hosted MCP has two new read-only tools. line_options takes any ERC-8004 identity on Robinhood Chain, with or without a Sprout record, and goes through each way to a line: the treasury's first line by invite, the Ethos lane, a stock line, and a line on its owner's own $PRIORS. For each one it says open now, closed and why, or not known, how big the line would be, and the next step. priors_line_quote says how much of the owner's $PRIORS a SeatVaultV5 line of a given size takes, what the owner holds and what is missing, and links the Go mode page where the owner opens it. Neither moves money or touches a score.

mcpmcp.the desk · line_options · priors_line_quote
2026-10-20

Ten draft standards for agent credit, open for comments

The parts of Sprout that another lender, a wallet or a reader would need are now written up as ten draft ERCs, each with a reference implementation and tests in a public repository. They cover credit history for ERC-8004 agents, one interface for agent credit lines, a shared registry of defaults, third parties that back a lender's line and an agent's income statements, among others. Each is discussed on Ethereum Magicians. None is submitted to ethereum/ERCs yet, and the ERC editors give each its number when it is.

contractsgithub.com/sprout-agents · ten draft ERCs
2026-10-19

Repay on time: your account repays your agent's loans before they are due

Go mode can now repay an agent's loans for you. Turn on Repay on time when you create an agent on the Start page, or later in Automations on the agent001 tab. Each loan you take for that agent in Go mode is then repaid from your account in the 6 hours before it is due, while the account holds enough, with no click per loan. Loans the agent's own key takes are never paid from your account. It makes an on-time repayment more likely; it is not a promise.

appcontractsAutoRepay v2 · 0x72B5…83A0

A 25 USDG first line for owners credible on Ethos

A new agent whose owner shows an Ethos score of 1400 or more can now start with a 25 USDG line instead of the treasury's 5, with no bond and no invite. On Go mode's Start page, choose "Credible on Ethos (1400+)? Start with a $25 line", connect the wallet your Ethos profile uses and create the agent. That wallet signs one message to show the score is yours, with no transaction and no gas. The line comes from the Ethos root, agent #8823, out of its own stake.

appgo.the desk · Start · Ethos lane

Trade by rules: your account buys and sells a stock token while you're away

Automations on Go mode's agent001 tab now has Trade by rules. Set a scheduled buy of a stock token with USDG, from every 6 hours to every week, with a take profit and a stop loss, and approve a trading key once, with limits you choose up to 10 USDG a trade and 50 USDG in all, for 7, 14 or 31 days. Sprout' executor runs your rules every 10 minutes and trades on Uniswap, and Sprout pays the gas. Pause stops it, and Turn off drops the key at Sprout and removes it from your account.

appstocksgo.the desk · agent001 tab · Automations

Pay for Sprout AI with a loan on one of your agents

Sprout AI's credit can now come from a loan. In the agent001 tab's settings, Borrow for credit takes one of your agents' lines or stock lines and an amount, then two approval cards follow: the first borrows to your account, the second adds it to Sprout AI as credit. The loan is repaid in full by its due date like any other, and its repayment counts on that agent's record. Unused credit stays as credit.

appgo.the desk · agent001 tab · settings · Sprout AI

APIs under review show in Tools, and sellers can add jobs

Go mode's Tools now also shows APIs listed with Sprout and not reviewed yet, once their own address answers 402 in USDG on Robinhood Chain, paid to the address they registered. They are marked Under review, and your agent pays one only if you let it, at most 1 USDG a use. In Sell your API, a listed API shows its review and can add up to 5 jobs that other agents can hire it for. They show in Jobs, under From sellers, marked Under review until Sprout approves them.

appx402go.the desk · Tools · Jobs · Sell your API

Any agent's AI can find paid jobs and sellers, with no Go mode account

The hosted MCP has three more tools. find_jobs lists the jobs of Go mode's Jobs that any agent can do for a client and sell: what the client gets, the paid tools each one uses, what a run costs, the loan that covers it if the wallet is short, and whether it is Live now or Coming next. job_brief gives one live job's brief for the agent's AI. find_sellers lists what an agent's line can pay over x402 in USDG on Robinhood Chain, under one rule for every seller.

mcpx402apimcp.the desk · find_jobs · job_brief · find_sellers

An agent's page says who has held it, and what customers paid it

Each agent's page on the desk now has an Owners panel: every owner from the ERC-8004 registry's transfers, with their dates and whether they registered the agent or it changed hands, and the owner line says since when. It tells the loans repaid with this owner apart from every owner's. A new line under the agent's four figures shows what customers paid it in the last 30 days and how many paid, counting payments to the wallet it declared, its own wallets left out.

appscoreapithe desk/agent · Owners

Savings shows what your savings earned

Go mode's Savings now shows Earned since you saved next to Saved: what your USDG in the Steakhouse USDG vault on Morpho earned since the save that began your current savings. It comes from the vault's own records: what your savings are worth now, plus what you withdrew, less what you saved. It moves with Morpho's variable rate, and a loss in the vault lowers it.

appgo.the desk · Savings

Add USDG from another network

Go mode's Add USDG now has From another network, beside From Base. Send USDC from your own wallet on Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Linea, Unichain, World Chain, Ink, HyperEVM, Monad or Arc: Across converts it, and it arrives in your account as USDG, usually within seconds. Your wallet asks you to approve the amount for Across, then to send it, and you pay that network's gas.

appgo.the desk · Add USDG · From another network

PT-USDG backs agent lines

Pendle's PT-USDG now backs a line the way a stock token does. An agent's owner deposits it in the stock vault, and the vault lends USDG against 60% of its value, with one 1,000 USDG cap across all PT-USDG lines. New PT-USDG credit opened by itself at 17:37:53 UTC, once its feed had 14 days of rounds; nothing was signed for it that day.

stockscontractsStockVault · 0xbEcd…02B6
2026-10-18

A stock default waits for the vault's tape instead of taking the whole deposit

When a stock token's tape was more than 6 rounds behind its feed, the vault treated it as a lending hold, and a default on a lending hold seizes every token of the position. So a default marked, repaid into or settled while the tape lagged took the depositor's whole deposit, where it should take what is owed plus 20% and return the rest. Now a tape behind is a reason of its own: the seizure waits, the whole deposit with it, until anyone records the tape, and then settle takes only its share.

stockscontractssecurityStockVault · upgrade to 0xd303…2c72

One look on every page, our own dropdown, and Jobs in the sidebar

The design Jobs was built in now covers Go mode, the account pages and the public pages, in light and dark. Every list you pick from, like a loan's term, an agent or Jobs' Sort, opens our own dropdown instead of the browser's, and the language list takes the same look. In Go mode, Jobs is its own item in the sidebar, right under Tools, and Tools keeps Use tools and Sell your API.

appthe desk · go.the desk · every page
2026-10-17

Chat with your own AI in Builder mode

Builder mode's chat page is now on the desk/chat. Connect the AI you use, through OpenRouter's sign-in or an Anthropic or OpenAI key that stays in your browser, and the wallet that owns your agent. Your AI reads Sprout and prepares borrows and repayments, and your wallet signs each one after you press Confirm on it.

appmcpthe desk/chat

Jobs: paid work your agent can take on its line

Go mode's Tools now has Jobs: 50 paid jobs in 8 kinds, from checking agents before a deal to a daily pool brief. Each one shows the tools it pays for and what each costs, the loan it needs and what you keep of what the client pays. The agent borrows on its line, pays each tool per use from its own wallet, gets paid through its own API and repays. The jobs it can run today are marked Live now, and the rest read Coming next.

appx402go.the desk · Tools · Jobs

Every account has a profile, and anyone's opens by its address

The account menu now opens your profile: your tree, your total in dollars with $PRIORS beside it, a bar of where your money sits, then Holdings, Activity and Agents with their public record. Any address opens the same way from a link, read only: go.the desk/account?profile= and the address. Every address is shown the same way.

appgo.the desk · account menu · Profile

Each agent's card shows its next level and what's left

Go mode's agent panel now reads "Next level" and lists each condition with what the agent has and what it needs. On your own agent it also says what moves each one. The score and the level stay as they were: Score v2 now also says where an agent goes next.

appscorego.the desk · agent panel

The stock vault's lending hold reads every round of its 14 days

New credit on a stock token is held when its feed moves more than 25% against any round of the last 14 days. The vault used to compare the latest quote with a sample of past rounds (1, 2, 4 and so on up to 4,096 back), so a round between two samples could go unseen. It now keeps a tape of each UTC day's lowest and highest quote for each feed, and compares the latest quote with every round of the window.

stockscontractssecurityStockVault · upgrade to 0xcD1A…BAa9

SeatVaultV5's keeper sales could pay leavers more than the day's budget counts

A private report, rated Low, is about SeatVaultV5, whose libraries are fixed at deployment, so docs/SECURITY-v2.md now describes it and how far it goes (V5-3). V5's keeper sells, for USDG, the $PRIORS of those leaving the vault. Each sale was sized and counted against the day's sell budget at the lower of the pool's spot rate and its 24-hour median, while the pool pays at spot. With spot above the median, a day's sales could pay leavers more USDG than the budget recorded, by about the gap.

contractssecuritySeatVaultV5 · V5-3

Go mode moves with what's true

A figure lights once when its value changes, and new activity rows slide in. The Launchpad's done steps draw in, and its mark grows a pixel bonsai tier per step. The stocks dot is live only while a stock's quote is under 15 minutes old, and the pool's dot is green while its figures are fresh. Nothing moves with reduced motion turned on, and no figure moves or lights with balances hidden.

appgo.the desk · every tab

The live page's Capital counts what DefiLlama counts

Sprout is listed on DefiLlama. The Capital card on the desk/live adds two rows on the same perimeters: USDG held by Sprout' contracts, which is DefiLlama's TVL, and $PRIORS in the seat vaults, its staking. Loans out count there as borrowed, not as TVL.

appthe desk/live · Capital
2026-10-15

@sprout/x402 0.8.0: pay a seller in Keyring's catalog with one USDG payment

@sprout/x402 0.8.0, on npm since 18:06 UTC, adds payViaGateway . Most sellers in Vantis' Keyring catalog are paid in USDC on Base. Keyring takes one USDG payment on Robinhood Chain, pays the seller and relays its answer, so an agent's Sprout line can cover such a seller with no float on Base. It is off unless createPayer({ gateway }) names it, and was tested against a mock gateway only.

x402sdk@sprout/x402 0.8.0
2026-10-14

Share an agent's record as a card or a video

Each agent's page on the desk now has a Share panel where Badge was. It shows the agent's card, the same picture its link shows on X, then plays its record on it once: its loans repaid climb along a line, day by day, while its tree turns slowly once, and the film ends on the card. Share on X opens a post with the agent's name, its loans repaid, its defaults and its link. Download video saves the film and Download card saves the picture. On a phone the panel comes right after the agent's four figures, and Share video hands the film to the phone's share sheet. Go mode's agent panel has the same Share button, in all five languages.

appscorethe desk/agent · Share

The Protocol page, the Guide and the help pages say what the protocol does today

We checked every page against the chain and the live app, and corrected what had fallen behind. The Protocol page now covers the fair default on stock lines, Score v2, Back agents and the treasury's settings as the contracts have them. Go mode's Guide says stock lines back 25% to 70% of a token's value, and that a default keeps what is owed plus 20% and gives the rest back. The lender, stocks, builder and x402 pages, Go mode's help and agent001's answers say the same facts, in all five languages.

appstockscontractsthe desk · go.the desk · docs

Every line is backed, and every page says so

Every Sprout line is backed in USDG by its backer's stake, locked in the pool: the treasury's, a sponsor's or a Sprout vault's. A default is paid in full by that backer. The site, Go mode in five languages and the README now say it that way, and the older words for a line with no backing are gone.

appthe desk · go.the desk · README

Go mode's buttons sit where you need them

We went through every screen of Go mode and moved buttons to where your hand already is. Field helpers like Max are as tall as their field. A stock line's three actions sit together. Lend and Savings use one button size. The deposit sheet's Cancel sits beside its main button. On a phone, the main move gets its own line.

appgo.the desk · every tab

Sprout AI's credit and agent001's top-up, in one clear place

The Sprout AI section in agent001's settings now shows your credit and what today used. The $0.50 trial is one row with Try it, and adding credit is one row: amount, asset, button. agent001's auto top-up is a card of its own, with its setting in an On or Off pill and the monthly cap in dollars. Every answer shows on the section's own line, right under its buttons.

appgo.the desk · agent001 tab · settings

Connect your AI shows each app's own icon

The tiles in Connect your AI now show the real mark of each app: Claude and Claude Code, ChatGPT and Codex, Cursor and VS Code, in light and dark. Sprout' own report API shows the Sprout tree. Every other service keeps its letter.

appx402go.the desk · Tools · Connect your AI

@sprout/mcp 0.9.3: a PT-USDG trade whose answer is lost is never said to have done nothing

@sprout/mcp 0.9.3, on npm since 16:41 UTC, applies the rule the v2 SDK got the same day for a lost answer (C-13) to its PT-USDG trades. A trade that may have been sent is said to be so, and a buy stays counted against PRIORS_MAX_PT_TOTAL_USD .

mcpsdksecurity@sprout/mcp 0.9.3

A borrow whose answer is lost is never said to have done nothing

A private report, rated Low, found that the v2 SDK's borrow , and so sprout-v2 borrow , let a lost answer through as a bare network error once the loan could have been taken. Running borrow again then opened a second loan for one intended borrow, and nothing said the first might exist. The SDK and the CLI are fixed in the public repository since 10:26 UTC.

sdksecuritysprout-v2 · sdk/sprout-v2.mjs

A fresh deposit into an aged lender wallet can skip the pool's exit fee

A private report, rated Low, is about the pool, which cannot be upgraded, so docs/SECURITY-v2.md now describes it and how far it goes (O-6). A lender's wallet has one clock for all its deposits, and withdraw charges the 0.5% exit fee while that clock is under seven days old. A fresh deposit into a wallet whose older deposits are well past seven days can leave the clock past seven days, so money only seconds old leaves with no fee. It is O-5 the other way round.

contractssecurityCreditPoolV2 · O-6
2026-10-13

A stock line's default keeps what is owed plus 20%, and gives the rest back

Until now a default on a stock line kept the whole deposit, however much it was worth. The stock vault now keeps tokens worth what the agent owes (the defaulted loans' principal and fees) plus a 20% buffer, valued at the token's last usable Chainlink quote, and sends the rest back to the depositor. If the token can't be valued that day, or the deposit is worth less, it keeps all of it. A falling stock never sells a deposit. The deposit sheet and the MCP's stock_line_request say the rule in plain words.

stockscontractsStockVault · upgrade to 0x02f0…af5d

@sprout/mcp 0.9.2: a merchant's text stays inside its fence, and Autopay's budget keeps its bound

Two private reports, each rated Low, are fixed in @sprout/mcp 0.9.2, on npm since 17:30 UTC. The hosted MCP has the fence's fix since the same day. Versions up to 0.9.1 were affected by both, and the advisories were published on 14 October.

mcpsdksecurity@sprout/mcp 0.9.2

@sprout/mcp 0.9.1 and @sprout/x402 0.7.1: stock line requests the vault takes, and a record check that fails closed

@sprout/mcp 0.9.1, on npm since 08:08 UTC, fixes how stock_line_request sizes and checks a request, so its link opens a deposit the vault takes. @sprout/x402 0.7.1, on npm since 08:09 UTC and under 0.9.1, no longer passes a payer when the record service's answer holds no record.

stocksmcpx402sdk@sprout/mcp 0.9.1
2026-10-12

Go mode is open to everyone

Any Google account can now sign in to Go mode. The closed list Go mode opened with on 1 October is over. You still sign in with Google, with nothing to write down, and Sprout pays the gas.

appgo.the desk · sign-in

An agent's 5 USDG bond now stays until its line is closed

The Safe raised the number of qualified loans the treasury asks for (minQualified) from 3 to 1,000,000, and the bond contract reads the same number. So a bond no longer comes back after 3 qualified loans while the agent's $5 line is still open. That let an owner take the bond back, then draw the line and default without losing anything. The bond now comes back once the agent has no line and no open loan, at least 4 days after it was posted. In Go mode, the owner presses Close line and take the bond back on the agent's card, and the bond arrives by itself within about 30 minutes.

contractssecurityTreasurySponsorV4 · setRules (minQualified)

192 more first lines this week

The treasury's weekly cap of new first lines is $1,000 until 16 October 2026 at 02:16 UTC, then back to $100 a week. 907 USDG of new stake backs them. The raise to $25 stays on hold.

appcontractsTreasurySponsorV4 · setRules

agent001 answers in your own words, with no AI key of your own

If you haven't connected your own model, the agent001 tab now uses Sprout AI. Before, a question in your own words needed your own OpenRouter, Anthropic or OpenAI key, and without one only the presets worked. Each question costs what the model costs Sprout, plus 20%, paid from Sprout AI credit you add in USDG or $PRIORS. If your agent posted its bond or repaid a loan, $0.50 of credit is offered once. It answers only questions about Sprout, up to $1 a day per account, and an off-topic question is refused at no cost.

appgo.the desk · agent001 tab · Sprout AI

Stock lines: SGOV backs 70% of its value, SPY and QQQ 60%

The Safe retuned the stock vault. A Treasury fund (SGOV) now backs a line at 70% of its value, the code's maximum, and the two index funds at 60%. A split or dividend now holds new credit on that stock for one day instead of fourteen, so SGOV, TSM and ORCL lend again. The two names with the thinnest exits take no new line, and three others share a smaller cap. A record of repaid treasury loans now earns its loan-to-value bonus ten times sooner.

stockscontractsStockVault · setPriceGuard, setAsset, setRecordBonus

Open a stock line by the line you need

On Stock lines, the deposit sheet now asks for the line you need, in dollars, and fills in how much stock to deposit. That is what the line needs at the stock's loan-to-value, times 1.3 for room to fall. If you hold enough for the line but not the extra room, it fills in all you hold. If you hold less than the line needs, it says how much more to buy. The sheet says how much you keep and what borrowing the whole line costs for a day and for a week, in cents. It also says what the vault keeps on a default, read from the live vault. Nothing moves until you press Deposit and open line.

appstocksgo.the desk · Stock lines · deposit sheet

An agent can ask its owner for a stock line

When an agent's line is too small for a task, stock_line_request asks its owner for a line backed by a Robinhood stock token the owner holds. It checks that the stock takes new lines now and that the agent can take one. Then it sizes the deposit, gives the cost in cents for a day and a week, and says what a default would keep. Its answer carries a Go mode link to the owner's deposit sheet, already filled in. It holds no key and sends nothing, so nothing moves until the owner deposits. It is in @sprout/mcp 0.9.0 and on mcp.the desk.

stocksmcpsdk@sprout/mcp 0.9.0

@sprout/x402 0.7.0: check a payer's record in one line before any x402 paywall

@sprout/x402/check checks a payer's Sprout record in front of an x402 paywall, whatever runs it. It reads the payer from the payment header. A payer whose agent defaulted gets a 403 before the paywall checks anything, and a request with no payment header goes on to the paywall's 402 as before. The rest of the package is unchanged.

x402sdk@sprout/x402 0.7.0

@sprout/mcp 0.8.5: daily and session limits count money still in flight

Two private reports, each rated Low, were about the limits an owner sets on what an agent can borrow and spend. Both are fixed in @sprout/mcp 0.8.5, on npm since 04:09 UTC and handed out by the hosted MCP from about 04:15 and by the site from about 05:20. 0.9.0, released that evening, includes both fixes.

mcpsdksecurity@sprout/mcp 0.8.5

Every backer's record on the pool, in one free endpoint

the desk/api/desks lists every pool root, a backer whose own USDG stake stands behind the lines it vouches for. For each one it gives its age, its stake and the lines it vouches for now. It counts the loans it backed, how many were repaid (and of those, how many qualified or were late), how many are open now, and the defaults marked on chain. Its losses count every loan past its due date and grace that was not repaid, marked on chain or not. The hosted MCP's desk_record gives the same figures.

apimcpthe desk/api/desks

Copy an agent's badge for a README

Each agent's page on the desk now shows its live badge, with its score and loans repaid (red after a default), and a Copy badge button. The button puts Markdown on the clipboard: the badge image, linked to the agent's page. Go mode's agent panel has Copy badge too. If the browser blocks the clipboard, the Markdown is selected so you can copy it by hand.

appscorethe desk/agent · Copy badge

Know when an agent is one loan from its next step

For an agent with a line on Back agents, Go mode's notifications and agent001 now say when it is one counted loan from its next step. They give that step's ceiling and the date its 14 days on the current step end. In Telegram, send /watch <agent id> to @priors_agents_bot. The chat then gets one message when that agent is one counted loan from its next step, and one when it moves up. The bot checks every half hour.

appgo.the desk · notifications
2026-10-11

The timelock now has no waiting time

The protocol's timelock owns PoolSteward, the engines' settings and the stock vault's upgrade key. Its waiting time is now zero: Sprout' Safe, where two of its three owners must sign, still schedules every change in public on chain, and the change can run as soon as it is scheduled. The stocks page and the protocol page say so.

contractssecurityTimelockController · updateDelay(0)

Every date on a loan explains itself

On Home's Repay step, each part of the loan's timeline opens a short explanation on hover, focus or tap: before day 7, day 7 (from then a repayment counts as a week-long loan, which builds the agent's record), the best window to repay, the due date, the grace days after it, today and the countdown. Each uses the loan's own dates.

appgo.the desk · Repay

Tap a stock on Home to open its backing page

Each row of Home's Stocks card opens Backing with that stock token already picked in the deposit form. When the stock feeds haven't moved for a day (the market is closed), the card says Market closed and shows a dash instead of 0.00%.

appstocksgo.the desk · Home's stocks

Back agents, rebuilt: see the line before you confirm

Pick your agent, type an amount of your own $PRIORS, and the line steps from $25 to $500 show the line it opens before anything is sent. What you share (the fees the agent pays, in USDG, nothing promised) and the risk (three quarters of your $PRIORS behind it burns on a missed payment) each take one line. Below, every agent that repays is listed by its record, with search and sorting. Backing stays open to each agent's own owner.

appgo.the desk · Back agents

agent001 answers "what next" and "how am I doing" itself

agent001 reads plain requests in English, Spanish, French, Portuguese and Chinese, answers "what next" and "how am I doing" from the account's own records, and drafts each move as a card with one main button. Nothing is sent until you approve it, and a card that may have been sent is never opened again.

appgo.the desk · agent001

When something doesn't go through, the message sits next to its button

A failed borrow, repayment, transfer, line or backing now answers right under the button you pressed, in plain words: what happened, whether anything was sent, and what to do. Gas refusals and the pool's errors are worded, never shown as codes. A read the network didn't answer is tried again once by itself.

appsecuritygo.the desk · errors

Setting up an agent: copy its key first, and add enough to repay

The Start page keeps you on the agent's key until it is copied, since every loan goes to that key's wallet. It asks for enough USDG to repay the agent's loan, not only the bond. Each agent's card now shows the USDG in the agent's own wallet, where its loans go.

appgo.the desk · Start and agent cards

The x402 tab is now Tools

Tools lists what an agent can pay for per use, each with a plain description, what its endpoint actually charges in USDG and how often it was used. Give to my agent copies a ready instruction for your AI. Connect your AI walks through Claude, ChatGPT, Cursor and other apps, says which of them can pay, and keeps setup code behind Show setup code. Sell your API takes three steps.

appx402mcpgo.the desk · Tools

Help and the Guide cover today's Go mode

Help and the Guide now explain linking an agent's X account, the daily limits, Add USDG from Base, Back agents and Tools, and what to do when something didn't go through. Go mode links @priors_trade.

appGo mode · Help and the Guide

A consent window, a privacy page, and Go mode as an app on your phone

Every page asks before anything non-essential is collected (accept, reject or manage, reopenable from every footer), and a privacy page says what is collected, why and where it goes. Fonts are served from Sprout' own domain. Go mode can be installed on a phone's home screen; it never stores account data, API answers or chain reads on the device.

appthe desk · privacy
2026-10-10

Go mode's sidebar in groups, and the pool's figures at the top of Home

Go mode's sidebar keeps Home, Agents, agent001 and History at the top, then two named groups: Earn & back, and Payments. Transfer out moves into the account menu, and New agent leaves the sidebar, since Home's card and the Agents tab both have it. Home's top bar now shows the same figures as every other tab, above the card that takes an account from Add USDG to repaying its agent's loan.

appgo.the desk · sidebar and Home

Link an agent's X account to its ERC-8004 record

In Go mode, an agent's owner can link the agent's X account to its record on the ERC-8004 identity registry. The X account posts a line with the agent's number and its link code, and the owner saves that post's address to the agent's record, in one operation whose gas Sprout pays. The agent's panel then shows an "@handle · linked" chip while X still shows that post.

appGo mode · the agent panel

Set up an agent in ElizaOS, OpenClaw, Hermes or any MCP app

The x402 tab's Use APIs pane has a new section, Where it runs, with blocks to copy for the program an agent runs in: ElizaOS, OpenClaw, Hermes or any MCP app. The recommended way needs no key. The agent connects to the hosted Sprout MCP, reads records and asks to borrow or repay, and its owner approves each request in Go mode. With its key, the agent also pays for APIs from its own wallet through @sprout/mcp 0.8.0.

appx402mcpGo mode · x402 tab

agent001's setup run links the agent's X account

"Set up my agent" in the agent001 tab has a new step, Link X, after "Key and connection" and before "Borrow". agent001 takes the handle, gives the line with the link code and X's compose window, and checks the pasted post with X. Then it shows a card, "Save @handle to <name>'s record", and nothing is saved until the owner presses Approve.

appgo.the desk · agent001 tab

A new preview image for links to Go mode

Links to go.the desk/account and /start now preview with a new image, 1600 x 900: a voxel tree lit at night with small robots at its roots, the line "you can fake reviews. you can't fake having paid back debt." and a "launch your agent" button beside go.the desk. It replaces the older bonsai card on both pages.

appgo.the desk/account · /start
2026-10-09

Home is one card: add USDG, create your agent, borrow and repay

Go mode's Home is built around one card with five steps: Add USDG, Create your agent, Borrow, Repay and Grow its record. Borrowing and repaying happen inside the card. A step is marked done only when the chain shows it for the account. The card opens on the step the account is at, with a line that says where it stands, such as "$19.49 in your account", "Up to $5" or "Due in 3 days".

appsecuritygo.the desk · Home

New screens in Go mode: the sign-in page, What's new and a tab bar on phones

Signed out, go.the desk/account opens on a new page: the line "Reviews can be faked. Repaid loans can't.", what Sprout is in one sentence, the Google sign-in card, live figures and what you can do. Signed in, Home has a What's new card and the lead agent's tree, a repayment ends with a few pixel leaves rising from the card, and History, Lend and Back agents show loading, empty and error states. On phones, a tab bar sits at the bottom.

appgo.the desk

Add USDG from Base

Go mode can take money from Base. Each account gets one deposit address on Base, made once through Relay (a service that moves tokens between chains) and then kept, so every device shows the same one. USDC sent there on Base arrives as USDG in the account on Robinhood Chain, usually within a minute. Add USDG opens on From Base, with On Robinhood Chain beside it, on the account page, the Start page and Home's card.

appGo mode · Add USDG

The Start page checks for an open line before it locks the bond

Before Create locks the 5 USDG bond, the Start page now asks the invite service whether a line is open to this account right now. The check covers the day's and the week's limits on new lines, the account's two automatic invites, any invite waiting for it and the backing available. If no line is open, Create stays off and one sentence says why, for example "Today's new lines are taken. Nothing was spent. Come back after 00:00 UTC."

appgo.the desk/start

Repay has its own daily gas caps, and sends 20 loans at a time

Go mode's gas gate now counts a repayment apart from the day's other operations, so a day when the gas Sprout pays is used up no longer refuses a Repay and lets a loan go late. Repay sends an agent's open loans at most 20 to an operation, in order of due date, so each one counts as a repayment. Before, all of an agent's open loans went in one operation. With 21 or more, the gate counted it as an ordinary one, and with more than 41 it was too large for the gate on any day.

appsecurityGo mode · Repay

Go mode reads the chain faster, through its own endpoint

Since 7 October, Go mode reads the chain through go.the desk/rpc, its own read-only endpoint, and since 18:54 UTC on 9 October that endpoint asks a paid node before the public ones. A page load sends about a hundred reads at once. With 40 reads sent at once, each took about 4.1 s through the public nodes and 0.52 s through the paid node. In a check on 10 October, 40 reads sent at once all answered, with a median of 0.58 s.

appgo.the desk/rpc

agent001 sets up an agent, one approved step at a time

"Set up my agent" in the agent001 tab takes an account from nothing to a live agent and its borrow. Every money or chain move is one of agent001's approve or decline cards, and nothing is signed until the owner presses Approve. The run drafts only the steps still to do, and moves on when a step is done by hand elsewhere.

appgo.the desk · agent001 tab

SeatVaultV5 is live, and Go mode's Seats tab becomes Back agents

SeatVaultV5 is on Robinhood Chain. An agent's owner opens the agent's line by staking the owner's own $PRIORS behind it, and the vault backs the line in USDG from its own identity, #8641. Only the agent's owner can back it. In Go mode the Seats tab is now Back agents, with gas paid by Sprout, and SeatVaultV4 takes no new seats.

contractsappSeatVaultV5 · block 84,307,316

The pool's reserve sweep ran

PoolSteward's sweep() , which anyone can call once a day, ran at 17:07 UTC. It sent the 35.465696 USDG above the reserve's 190 USDG target to the RevenueRouter, which split it in half between PriorsLiquidity and BuyAndBack, 17.732848 USDG each.

contractsblock 84,320,598

Clear an agent's pool delegate before you sell it, and three other Low reports

Four private reports, each rated Low, are about contracts that cannot be upgraded, so docs/SECURITY-v2.md now describes each one and how far it can go. One changes what an owner should do. A pool delegate stays tied to the owner who named it, so clear it before you sell or transfer the agent, as the agent page's Delegate box now says.

contractsappsecurityO-4 · O-5 · X-5 · PE-1

Go mode's Help explains credit statements

Help has a new entry, "What are credit statements?". Sprout posts each agent's loan history to the ERC-8004 reputation registry as credit statements: loans repaid on time, repaid late or defaulted on. An agent gets a statement once it has a loan, then a new one at most once a week while it borrows or repays, and each default gets an entry of its own. Any lender or app can read them and check them against the pools' logs.

appscoreGo mode · Help

@sprout/x402 0.6.1 and 0.6.2, @sprout/mcp 0.7.1 and 0.7.2: three Low fixes

Both packages had two releases on 9 October for private reports, each rated Low. The site's setup commands changed with them: they now keep an agent's key in a file only its owner can read and hand the client its path, never the key.

x402mcpsdksecurity@sprout/x402 0.6.1 · 0.6.2

@sprout/mcp 0.8.0, for agents that run on their own

@sprout/mcp 0.8.0 is for agents that run without a person at the keyboard, in ElizaOS, OpenClaw, Hermes or their own code. Every change is opt-in, so a 0.7 configuration behaves as before. The site has handed out 0.8.0 since 21:23 UTC. @sprout/x402 stays at 0.6.2.

mcpsdksecurity@sprout/mcp 0.8.0

The hosted MCP server has a privacy policy

mcp.the desk now publishes a privacy policy, linked from its home page. The server has no accounts, sign-in or cookies, holds no key and sends no transaction. It keeps nothing in a database. Nothing is sold, shared for advertising or sent to an AI model.

mcpmcp.the desk/privacy
2026-10-08

The stock vault's lending hold looks back 14 days again

The Safe set the stock vault's lending hold back to its full window. New credit is held again when a token's feed moves more than 25% against any round of the last 14 days, and the wait after a split or a multiplier change stays 14 days. Since 5 October the hold had compared each round only with the one before it, so a split the feed had printed but the token had not marked yet could be lent against at the inflated value. On a fork of the live vault, $100 of CLSK drew a $250 line.

stockscontractssecurityblock 83,193,347

@sprout/mcp 0.6.2 to 0.6.4: a money call answers in time, and counts what it may have sent

Three releases for private reports about money calls that take long or lose their answer. The worst case, rated Medium, was an MCP client's retry acting a second time: a second buy for one authorised trade, or a second loan. npm now marks 0.6.0 to 0.6.3 deprecated.

mcpsdksecurity@sprout/mcp 0.6.2 · 0.6.3 · 0.6.4

The credit reader counts only the writers its manifest names

The ERC-8004 credit reader in the public repository ( sdk/credit-reader.mjs , scripts/verify-credit.mjs ) and the hosted credit_history tool now count a writer's statements only when the reader's manifest names that writer. Before, the reader took the sources a writer declared as the lender's own and counted a full rebuild of them as checked, so a leaked writer key could declare its own contract and pass.

scoremcpsdksecurityERC-8004 credit reader

The CLI refuses a private key glued to other text

The v2 CLI refused a private key on the command line only when an argument was the key alone, so PRIORS_KEY=0x… , key:0x… or --invite=0x… got through. It now refuses 64 hex digits that are not part of a longer run, anywhere in an argument, before anything runs, and warns to rotate the key. A second Low fix lets the SDK's float read a pending settlement from x402's own payment-response header.

sdksecuritysprout-v2 · sdk/float.mjs
2026-10-07

Go mode shows money in dollars and cents, and errors in plain sentences

Later on 7 October, Go mode began showing money in dollars and cents everywhere, in one figure style. Home's hero no longer has Sign out, and Home shows the pool's figures, the balance and Add USDG once. Errors read as plain sentences, and the tips describe how pool v2 works.

appgo.the desk

History reads old logs at a steady pace, and keeps the ones that cannot change

Since 17:56 UTC on 7 October, History reads its old logs from the chain's official node alone. History and an agent's panel share any read made in the last 20 seconds, and a closed window, whose logs cannot change, is kept in the browser, so a later visit asks only for the newest one. Early on 8 October, History began reading one window at a time and waiting longer after a slow answer.

appgo.the desk · History

A stock vault upgrade now waits 48 hours, in public

The stock vault is the one Sprout contract that can be upgraded. Its upgrade key now belongs to the protocol's 48-hour timelock instead of the 2-of-3 Safe. Any upgrade has to be scheduled first, so anyone can read the new code for two days before it can run.

contractsstockssecurityblock 82,418,858

History loads again

Since 6 October, the History tab, the list of agents an account received and an agent's own events had stopped loading. The chain had grown past the widest range of blocks the public node answers in one request. The account now reads it in smaller windows and asks each window again when a node gives a bad answer, so one slow reply no longer empties the page.

appgo.the desk · History
2026-10-06

The engines' first step ran: PoolSteward owns the pool, and the new fee split is live

The calls the Safe scheduled on 4 October ran at 21:04 UTC, after their 48 hours on the timelock. The pool now belongs to PoolSteward, which holds it to a written policy, and every new loan uses the new fee split. What an agent pays does not change.

contractsblock 81,933,798

A Guide inside Go mode

Go mode now has a Guide: how the app works, in plain words, in five languages. It sits at the foot of the sidebar, above Help. A contents list stays on the left as you read, and diagrams show the parts that are easier to see than to read.

appGo mode · Guide
2026-10-05

Each Sprout note on the ERC-8004 registry now carries its own evidence

The score Sprout publishes to the ERC-8004 reputation registry used to point to a live page. Each new note now carries its own record inside it, fixed by its hash: the score and rung at a given block, the line the pool extends to the agent, its on-time repayments with the transactions that prove them, and the payment from the pool to the agent. It stays readable on chain even if the site goes away.

scoreERC-8004 · attestation v2

Hire an agent by the minute: agent002 on the desk

agent002 is an open-source fleet of three worker agents that sell their time. On the new Hire page you pick the minutes (1 to 10), describe the task and pay from your own wallet: 0.10 USDG a minute over x402, or 25 $PRIORS a minute by a transfer checked on chain. The worker does the job with a language model and read-only Sprout tools, and the result comes back with a receipt.

appx402the desk/hire

PT-USDG in Go mode: buy, sell and redeem, with gas paid

Go mode can buy PT-USDG with USDG, sell it before maturity and redeem it 1:1 for USDG from 25 March 2027, through Pendle's router, and Sprout pays the gas. PT-USDG is Pendle's principal token for USDG on Robinhood Chain: held to maturity, it pays a fixed amount of USDG. agent001, Builder mode, the SDK and both MCP servers trade it with the same calls.

appmcpsdkgo.the desk

Each agent's card shows its tree, its score and its rung

In Go mode, an agent's card now opens with its tree: a voxel bonsai that grows with the agent's Score v2 rung, from a seedling at unproven to a tree in fruit at income-backed, and stands bare after a default. Next to it, the score out of 1000 and the five rungs, then the line, what it can borrow now, what it repaid and whether it was ever late.

appscoreGo mode · the agent card
2026-10-04

The engines are deployed, and their first step is on the 48-hour timelock

Six contracts for the engines are on Robinhood Chain. None of them runs yet. The 2-of-3 Safe scheduled the first step through the protocol's 48-hour timelock, so anyone can read the calls before they run; they can be executed from 6 October, 21:04 UTC. When they do, part of what Sprout earns starts to flow into the engines. The new seat vault comes after its external audit.

contractsthe engines · block 80,236,272

Client packages 0.5.0, and 0.2.11 for the 0.2 line

Both packages are out in 0.5.0, with three security fixes that 0.2.11 also carries for anyone staying on the 0.2 line. npm now marks 0.2.0 to 0.2.10 deprecated, and the site hands out 0.5.0.

sdksecurity@sprout/x402 · @sprout/mcp 0.5.0

Selling an agent that has a bonded line

An agent's treasury line follows the agent, while its 5 USDG invite bond stays with the wallet that posted it. Sold with its line open, or with its invite still unused, the agent let a buyer borrow and default, and the seller's bond paid for it. No bond was exposed: every active bond is held by its agent's owner.

securityInviteBond

Stock vault: settle gives the line back too

The 2-of-3 Safe upgraded the stock vault again. When the pool's last hook into the vault failed, the position was ended by settle , which never gave the line back to the vault's weekly budget, so whoever called it first kept up to $250 of room counted until the week rolled. No funds were at risk, and no position is open.

stockscontractsStockVault

agent001 can do everything Go mode does

agent001 has its own tab in the sidebar now, and it can do every action in Go mode. Ask it to save, lend, back an agent or repay, and it shows the card for exactly that. Nothing moves until you press Approve.

appgo.the desk
2026-10-03

agent001 in Go mode: a desk for your agents

Go mode has an agent001 tab. Pick one of your agents and see what it can borrow, when its next loan is due, its Score v2 and its wallet, then ask for a repayment, a borrow, a deposit to lend or a seat offer. Nothing moves until you press Approve.

appgo.the desk

Confirm your AI's requests with your wallet

A borrow or a repayment your AI asks for through the Sprout MCP, in Claude, ChatGPT or another MCP client, can now be confirmed with the wallet that owns the agent, in the agent console on the desk, as well as in Go mode.

mcpappmcp.the desk

Go mode: steps you can move past, and a new Seats tab

Go mode shows its next steps one at a time, and you can move past a step and come back to it. The menu marks the tabs that need you. Home shows your $PRIORS, and Seats now lists the agents you can back, with what their backers received.

appgo.the desk
2026-10-02

Connect your AI in one step

Builder mode now starts with Connect your AI: pick Claude, ChatGPT, Codex, Claude Code, VS Code, Cursor or agent001, and get the one link or command that adds the hosted Sprout MCP. In Claude, ChatGPT, VS Code and Cursor, Sprout answers inside the chat with an app of its own, and your AI can ask to borrow or repay for your agent. You confirm each request in Go mode.

mcpappmcp.the desk 0.3.0

Go mode opens on its sign-in, and Stocks becomes Backing

go.the desk now opens on a full-screen Google sign-in, and a sign-in always lands on Home. Every page's header has Join and Go mode, and the app's Stocks tab is now Backing: everything an owner can put behind an agent's line, in one place.

appgo.the desk

@sprout/x402 and @sprout/mcp 0.2.9 and 0.2.10: one purchase, one payment

Four private reports and one finding of our own review: the same multipart form could still be spelled as two purchases, and two sessions of one wallet could sign one purchase more than once. Both are fixed.

sdksecurity@sprout/x402 0.2.10

Merchants can check who is paying

An x402 merchant can now read the payer's Sprout record before it serves them, and refuse an agent that defaulted, ask for repaid loans, or charge less for a good record. A payment it refuses never reaches the facilitator, so nothing moves.

x402sdk@sprout/x402 0.2.8

agent001: an open-source agent on Sprout

agent001 holds its own wallet, joins Sprout, borrows and repays before the due date by itself, sells a service over x402, and talks from a terminal or Telegram. Its money moves go through @sprout/mcp . It comes with a Sprout skill for OpenClaw.

sdkmcpagent001

Check an agent before you deal with it

A free API on the desk answers what an agent has actually repaid, by its agent id or by an address: an x402 payTo , a payer, a counterparty's wallet. No key, no account. And a badge for a page or a README.

api/api/check

Sprout scores on the ERC-8004 reputation registry

Each agent's Sprout Score v2 is now on Robinhood Chain's ERC-8004 reputation registry, posted from one attester address that owns no agent. Any contract or app can read it there without asking Sprout.

scoreERC-8004

Score v2 counts x402 income settled through Permit2

Until now Score v2 read only x402 payments settled with EIP-3009. Payments settled through Permit2 (the upto scheme, and exact on a token without EIP-3009) now count the same way.

scorex402Score v2 inputs

@sprout/x402 and @sprout/mcp 0.2.7

A private report showed that 0.2.6's fix for "one purchase per form" missed multipart forms. 0.2.7 fixes it.

sdksecurity@sprout/x402 0.2.7
2026-10-01

Go mode opens on go.the desk

Go mode is the Sprout app. You sign in with Google, with no wallet to set up, and Sprout pays the gas. The first people on the waitlist are in, and more come in waves.

appgo.the desk

Optional two-step verification

A Go mode account can turn on codes from an authenticator app. While it is on, a change of transfer address, a transfer out and every key export ask for a 6-digit code.

appsecuritygo.the desk

@sprout/x402 and @sprout/mcp 0.2.6

After the private reports, Sprout audited the public repo itself and found nine more issues in the packages, P-23 to P-31. 0.2.6 fixes all nine, and the site now hands it out.

sdksecurity@sprout/x402 0.2.6

SDK and CLI fixes from Sprout' own audit

The same audit covered the SDK and the CLIs, findings C-3 to C-9. The fixes stop them from paying a stranger's loan, or approving USDG to another pool because of a .env .

sdksecuritysprout-v2

@sprout/x402 and @sprout/mcp 0.2.4 and 0.2.5

Two releases from private reports. They fix how the packages tell one purchase from another, and they count a borrow whose answer was lost.

sdkmcp@sprout/x402 0.2.5

Treasury v4: $100 of new lines a week

The Safe raised the treasury's weekly limit on new first lines and raises from $25 to $100 at 08:55 UTC, after the change to two agents per wallet below. That is room for up to 20 first lines of $5 a week, as long as the treasury has free stake to back them.

contractsTreasurySponsorV4

Stock vault: a close gives its line back to the weekly budget

The 2-of-3 Safe upgraded the stock vault for SV-15, a Low finding. A close requested while a loan was open never gave the line back to the vault's weekly budget, so four such cycles could fill the $1,000 cap with nothing open. No funds were at risk, and no position had been opened.

stockscontractsStockVault

Two agents per wallet

Each owner address can now get two automatic first lines from the treasury instead of one, in Go mode and Builder mode. Each line still needs its own 5 USDG bond, and the treasury's weekly limit on new lines is unchanged.

securityinvite bot

Score v2: a change of hands after v1 history restarts the record

Score v2 restarts an agent's record when the agent changes hands. It saw a change of hands only through the owners of v2 loans, so an agent sold after its v1 history kept that history. Found by Sprout' own audit (S-2, Info).

scoreScore v2 inputs
2026-09-29

Bigger lines: $50, with $PRIORS at stake

An agent with 10 or more repaid loans can now get a $50 line with a seat of $PRIORS behind it, most often its owner's own. If the agent defaults, half the seat burns and the rest goes back to the staker. The vault's USDG backs every line in full, so lenders are never reached.

contractsSeatVaultV4

Your account goes by a name, not your email

The account pages no longer show the Google account you signed in with. Your Sprout account gets a name of its own, drawn at random, and you can change it on your account page to any name no other account holds.

securitythe desk/account
2026-09-28

@sprout/x402 and @sprout/mcp 0.2.0: stock lines

The npm packages read the stock vault with no setup: the tokens it accepts, whether it lends on each right now, and the collateral behind an agent's stock line.

sdkmcp@sprout/x402 0.2.0

Stock lines are live

An agent can now borrow against Robinhood stock tokens. Its owner deposits one of 35 accepted tokens and the stock vault backs a line against it, valued by Chainlink. Loans on it are ordinary pool loans: same fee, same terms, same default rules.

stockscontractsStockVault

Score v2 weights 2.0.1

A loan backed by the agent's own stock is the agent's own money, so it doesn't count as risk someone else took on it.

scorescore 2.0.1
2026-09-27

Sprout Score v2 is live

A second score beside the on-chain one. It counts only risk someone else took on an agent, and reads x402 income from the chain, whoever settled the payment. Every point comes with its reason.

scorex402score 2.0.0
2026-09-26

The seat vault sizes its own seats

SeatSizer now owns the seat vault. It keeps a $PRIORS seat worth about five lines on its own, from a day-long median, inside fixed bounds.

contractsSeatSizer
2026-09-25

Seat vault v3

The vault's levers now reach seats that are already open, and a seat is bound to the owner who accepted it.

contractsSeatVaultV3

An automatic invite for a 5 USDG bond

Post a refundable 5 USDG bond from the wallet that owns the agent, prove you own it, and the invite bot signs a treasury invite on the spot.

contractsInviteBond

Hosted MCP and a paid API

Any AI agent can read a Sprout record over MCP with no key, or buy it per call over x402.

mcpapimcp.the desk

The Sprout facilitator

An x402 facilitator for USDG on Robinhood Chain. Merchants sign up themselves at x402.the desk .

x402facilitator.the desk

@sprout/x402 and @sprout/mcp on npm

Pay x402 in USDG from code, or run an MCP server that lets an agent pay, borrow and repay with its own wallet.

sdk@sprout/x402 0.1.3

SDK and CLI on v2, with x402 float

A v2 client and CLI, and an x402 client that pays from the balance and borrows only the shortfall from the agent's line.

sdksprout-v2

The bug bounty moves to v2

Critical $3,000, High $1,000, Medium $250, public credit below that. Every known v2 finding is listed with its test.

securityBOUNTY.md
2026-09-24

Pool v2 is live

Every credit line is 100% backed by a backer's locked pool shares. A default burns them, principal and fee, so no path has been found for a loan loss to reach lender principal. That assumes the ERC-8004 registry, which its owner can upgrade, and USDG, an upgradeable token, keep working as they do today; the contracts have had no outside audit.

contractsCreditPoolV2

Three ways onto the ledger

A treasury invite, a $PRIORS seat, or a backer who stakes USDG and vouches directly.

contractsTreasurySponsorV4
2026-09-22

A first line needs an invite

Treasury v3 opens a first line only against an EIP-712 invite from a key the treasury's owner named. Registration stays permissionless.

contractsTreasurySponsor v3

A bug bounty

BOUNTY.md : rewards for valid findings in the live contracts.

securityBOUNTY.md
2026-09-21

The reviewed pool, with every record carried across

CreditPool isn't upgradeable, so the review's fixes shipped as a new pool, and every agent's repayment history came with it.

contractssecurityCreditPool

Reverts that say what broke

The SDK asks the contract for fees, decodes all 34 custom errors, and simulates every write before it spends gas.

sdksprout
2026-09-20

Live on Robinhood Chain

The credit pool goes live on mainnet: ERC-8004 agents borrow USDG against their repayment record.

contractsCreditPool

Failover, and a broadcast sent once

RPC_URL takes a list of endpoints tried in order, and a transaction broadcast is never retried.

sdksprout

A security policy, and CI on every push

Private vulnerability reporting on GitHub. Every push runs forge fmt, build and test, npm test and the publish guard.

securitySECURITY.md
2026-09-19

The repository goes public

Contracts, SDK, CLI and an agent skill. npm run quickstart walks a fresh agent through a loan and a score on a local chain.

contractssdksprout 0.1.0