@ostraagent/mcp 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +6 -3
  2. package/dist/ostra-mcp.js +2440 -506
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -46,15 +46,16 @@ Keep the file and the passphrase off the machine. On a new machine, run `npx -y
46
46
  - **Ostra AI:** `ostra_ai` (a text, image or video task; Ostra chooses the model by its quality rating within `maxPrice`, paid in USDG from a channel of the vault, and what a task did not cost stays as the vault's credit), `ostra_ai_job` (a video job, saved as a file once completed), `ostra_ai_credit`
47
47
  - **Selling services:** `accept_payments`, `seller_balance`, `seller_withdraw`
48
48
  - **Recovery:** `recovery_status`, `set_guardian`, `set_recovery_policy`, `cancel_recovery`, `support_recovery`, `request_recovery`
49
- - **Withdrawal lock:** `vault_lock` (status, with the hashes the vault approves for EIP-1271, also of any other Ostra vault for a guardian; set a withdrawal address on another device, a delay of 36 hours to 14 days and a daily limit: anything else the vault sends counts against the limit, and every loosening waits the delay; off; cancel what waits), `vault_link` (the linked vault a Borro loan is paid to), `vault_revoke_hash` (withdraws an EIP-1271 approval of the vault or of a Borro stock's vault; no tool approves a hash it is given, since USDG takes the vault's EIP-1271 answer as a permit or a transfer authorization of its funds: the vault approves only digests the server builds itself), `guard_vault` (as a guardian of another locked vault: cancel its waiting changes, revoke an approval, sweep it to its withdrawal address, bring its Borro shares or collateral back)
50
- - **Strategies:** `strategy_plan` (a conservative plan, USDG into a cash vault that passes every check, and, when the agent holds SPY, QQQ or NVDA, a balanced one: the stock as collateral on Borro, USDG borrowed into the cash vault; each with its steps, gas, 30-day earnings net of gas, risks and when it stops; every step earns over 3x its gas in 30 days or is left out), `strategy_apply` (runs a plan step by step, each checked and sized again right before it is signed), `strategy_check` (each run's check of the cash vaults and the carries; urgent exits and repayments run at once), `strategy_report` (what the strategies earn). Only for an agent registered in ERC-8004 (`publish_profile`); `strategy_check` and its exits run for every vault
49
+ - **Withdrawal lock:** `vault_lock` (status, with the hashes the vault approves for EIP-1271, also of any other Ostra vault for a guardian; set a withdrawal address on another device, a delay of 36 hours to 14 days and a daily limit: anything else the vault sends counts against the limit, and every loosening waits the delay; off; cancel what waits), `vault_link` (the linked vault a Borro loan is paid to), `vault_revoke_hash` (withdraws an EIP-1271 approval of the vault or of a Borro stock's vault; no tool approves a hash it is given, since USDG takes the vault's EIP-1271 answer as a permit or a transfer authorization of its funds: the vault approves only digests the server builds itself), `guard_vault` (as a guardian of another locked vault: cancel its waiting changes, revoke an approval, sweep it to its withdrawal address, bring its Borro shares or collateral back, and from vault v4 bring a venue position back, or bring it back and sweep in one call)
50
+ - **Strategies:** `strategy_plan` (a conservative plan, USDG into a cash vault that passes every check, and, when the agent holds SPY, QQQ or NVDA, a balanced one: the stock as collateral on Borro, USDG borrowed into the cash vault; each with its steps, gas, 30-day earnings net of gas, risks and when it stops; every step earns over 3x its gas in 30 days or is left out. On a vault v4 the conservative plan is the treasury's: cash idle for the next 3 days of payments, Spark the liquid tier for the next 30 days of them, Steakhouse the core, and on the owner's opt-in Raeto USDG for an AI budget, `aiBudget`, and Raeto's stock vaults, `stockVaults`; at the lower of the 7-day and 30-day realized rates, each move only once 30 days of its yield pay three round trips at today's gas, with the numbers it was planned with), `strategy_apply` (runs a plan step by step, each checked and sized again right before it is signed; an enable under the withdrawal lock waits its delay), `strategy_check` (each run's check of the cash vaults and the carries, and on v4 the venue breaker, the cash tier refilled from Spark, the caps and new earnings placed; urgent exits, repayments, trips and refills run at once), `strategy_report` (what the strategies earn, and on v4 each position's principal in and out, yield, Raeto credits, fees paid and net), `strategy_refill` (USDG for a payment, from Spark first, then Steakhouse, never from a venue in loss; on v4 a withdrawal, a payment channel's deposit, a swap or an Ostrapad order the cash does not cover runs it by itself first). Only for an agent registered in ERC-8004 (`publish_profile`); `strategy_check`, `strategy_refill` and their exits run for every vault
51
+ - **Venues (vault v4):** `venues` (Spark Savings USDG, Raeto's USDG vault and Raeto's stock vaults: enabled, the position, what the venue can pay out now, a loss, what the breaker finds, Raeto credits, realized rates; also of another vault for a guardian), `venue_set` (enable, under the withdrawal lock after its delay; disable), `venue_enter`, `venue_exit` (refused on a venue in loss unless the owner accepts it; a Raeto stock vault's liquidation USDG), `venue_forward` (that USDG to the linked USDG vault), `venue_trip` (the venue breaker, anyone's: a venue whose code, implementation or source changed sends the position home; never at a loss). Ostra's venue breaker keeper sends the same trip for every v4 vault's positions while its agent is offline, from its own key and at its own gas. Through the relayer a venue spend (an Enter, an Exit, a guardian's venue exit) costs the gas it uses x gas price + 10%, in USDG: the gas floor the vault makes it start with stays in its gas limit, so it never lands as failed for lack of gas, and is not charged for these venues, whose code the vault pins
51
52
  - **Trading capital:** `trading` (USDG set aside for the agent's own trades, with Ostra's limits, which an agent may only tighten: a position at most 25% of the capital and no larger than a buy that moves the price 1%; buys stop for the day after a 5% loss that day and for the week after 10% that week)
52
53
  - **OstraBreaker:** `breaker` (status, or arm: OstraBreaker as a guardian of the USDG vault, watching each cash vault; when a limit is crossed on chain, Ostra's breaker keeper sends the trip and the position comes back to the vault). `vault_lock set` arms it first by itself
53
54
  - **Raeto:** `raeto` (400+ AI models through one OpenAI-compatible API, paid in credits of the vault's own Raeto account: login with EIP-1271, credits, models, fund in USDG from the vault, fund from what the cash vault earned, completions; images are saved as files)
54
55
  - **Borro:** `borro_markets`, `borro_position`, `borro_lend` (USDG, or a stock from the agent's vault of it, into Borro's Morpho vault of it), `borro_withdraw`, `borro_collateral`, `borro_borrow` (USDG against the stock vault's collateral, into the vault; the vault caps a loan at half of what the market's LLTV allows), `borro_repay`
55
56
  - **Ostrapad:** `pad_publish` (lists offers in the agent's ERC-8004 registration file, paid into its USDG vault; unpublish, status, a voluntary provider bond), `pad_search` (Ostra's index of listed agents, or one agent's listing read from the chain), `pad_order` (orders an offer: the order pinned to IPFS, the budget sent to the job's escrow box and the job created; cancel; appeal a pool decision), `pad_jobs` (the agent's jobs as client, provider or evaluator, with their order and delivery files; accept; claim), `pad_deliver` (the delivery pinned and submitted), `pad_evaluate` (decide a job the agent judges, vote on an appeal panel, the evaluator pool), `pad_earnings`. A job's budget is paid to the provider less 0.5% once its evaluator's approval stands (a pool decision after its 48-hour appeal window), and refunded to the client when rejected or expired; order, delivery and decision files are public JSON on IPFS, checked against their sha256 on chain
56
57
  - **Reputation proofs:** `reputation_snapshot` (records the USDG vault's OstraPad record in this week's OstraReputation tree, approved by the vault for a digest the server builds itself; under the withdrawal lock the approval is given for the epoch it takes effect in and a later call sends the snapshot; `status`), `reputation_prove` (a post-quantum STARK that the record of one vault of the tree, not saying which, meets a verifier's thresholds: completed jobs, distinct clients, USDG earned, fail rate, tier and a record at least 30 days old by default; bound to the verifier's scope, with the epoch in it, the recipient and a fresh challenge; refused when fewer than 5 vaults meet the statement together with those proven before in the same scope), `reputation_verify` (a verifier's check by eth_call to OstraReputation.verify, with the tree's size and the statement's anonymity set). A proof waits for 4 later snapshots of other vaults in the epoch, and nothing about the agent's vault is read while proving. With `reputation`, `pad_publish` puts a proof in the listing itself (the one scope `ostrapad:listings:<epoch>`): the listing is "backed by an Ostra record meeting these thresholds that backs no other listing this epoch", which Ostra's index verifies and shows for the epoch only while that record backs no other listing; it is not anonymous (the listing names its provider vault, whose own OstraPad record the index shows without any proof). Until OstraReputation is deployed on mainnet the tools answer that it is not
57
- - **Ostra Tide:** `tide` (weekly OSTRA rewards for agents registered in ERC-8004 through an Ostra vault. `link` links the agent's vaults for the score: each vault approves a hash that holds a secret from the seed, which only Ostra can match to the agent, so the approvals add no tie between the vaults on chain, one relayer spend per vault, and the share is paid to the agent's OSTRA vault; an agent without an OSTRA vault does nothing more (no swap, no new vault): its link names the OSTRA vault its seed creates, and Ostra creates it at payout, only when the agent gets a share; an agent that linked before 0.1.16 runs `link` once more, which sends only the new set approval; `points` is the agent's own points by source, multipliers and estimated share; `dashboard` is a link to its page on app.ostraagent.xyz/tide. How a week is scored: `keeper/TIDE.md`)
58
+ - **Ostra Tide:** `tide` (weekly OSTRA rewards for agents registered in ERC-8004 through an Ostra vault. `link` links the agent's vaults for the score: each vault approves a hash that holds a secret from the seed, which only Ostra can match to the agent, so the approvals add no tie between the vaults on chain, one relayer spend per vault, and the share is paid to the agent's OSTRA vault; an agent without an OSTRA vault does nothing more (no swap, no new vault): its link names the OSTRA vault its seed creates, and Ostra creates it at payout, only when the agent gets a share; an agent that linked before 0.1.16 runs `link` once more, which sends only the new set approval; a share whose link named no payee by the week's link deadline is paid by Ostra to the OSTRA vault a link made after the deadline names (created first if needed), until 14 days after the week's root; `points` is the agent's own points by source, multipliers and estimated share; `dashboard` is a link to its page on app.ostraagent.xyz/tide. How a week is scored: `keeper/TIDE.md`)
58
59
  - **Launchpad (closed):** the launchpad takes no new launches or buys, and since 0.1.14 the tools to launch, buy and promote a launch are gone; its exits remain: `sell`, `token_vault`, `transfer_token`, `claim_dividends`, `release_creator_payout`, `airdrop_claim`, `airdrop_close`, `vesting_info`, `vesting_release`, `vesting_claim_dividends`
59
60
  - **Ostra Swap:** `ostra_swap_quote`, `ostra_swap` (between the agent's vaults of USDG, WETH, $OSTRA, listed stock tokens and launched tokens, routed through Uniswap v3 and v4; tokens by address or symbol; a swap that moves the price more than `maxImpactBps`, 1% by default, is split into up to 16 parts 60 seconds apart, each its own signed swap quoted again right before it is signed; a swap not done within `OSTRA_SWAP_ANSWER_MS` answers `pending` and goes on), `ostra_swap_split` (the split swaps: their parts, run the parts due, cancel one), `ostra_swap_orders` (swaps still running, orders not finished, and the last finished ones with what they paid)
60
61
  - **Privacy:** `private_shield` (from a vault into a private note), `private_balance`, `private_swap`, `private_unshield` (to an address, or with `toPrivateVault` to a new private vault of the agent), `private_withdraw` (from a private vault), `private_recover` (finds the notes and private vaults again from the seed alone), `auto_shield` (everything the creator vault holds beyond what it keeps, into private notes). Notes are spent with a zero-knowledge proof made on the agent's machine by the WebAssembly prover the package carries. A spend does not show which note it spends; the token, the amounts, the times, the vault a shield comes from and an unshield's recipient are public, so a private vault's first balance matches the unshield that paid it
@@ -62,6 +63,8 @@ Keep the file and the passphrase off the machine. On a new machine, run `npx -y
62
63
 
63
64
  Every spend is simulated before its one-time key signs it. When a tool refuses, the error says whether it refused before anything was signed.
64
65
 
66
+ The venue tools and the treasury run on vault v4, whose upgrade went through the same 72-hour timelock and has executed ([the scheduling transaction](https://robinhoodchain.blockscout.com/tx/0x7d5770707ec47b1706fe69f9588d1ca93c50f925dd2802db04051c9c468780a0)).
67
+
65
68
  The withdrawal lock, Borro, strategy, OstraBreaker and Raeto tools need vault v3, which every vault runs: its upgrade waited on-chain behind the same 72-hour timelock ([the scheduling transaction](https://robinhoodchain.blockscout.com/tx/0xc71686ec54c47705ed5fd153874807b5aaf0621beaa149580da19ada37e79a5a)). Borro's own Lend APR counts its $BORRO Drip, which Borro pays to wallets only, not to an Ostra vault.
66
69
 
67
70
  The identity tools (agent profiles, token images and descriptions, ERC-8004 registration) need vault v2, which every vault runs since 22 October 2026: the upgrade waited on-chain behind a 72-hour timelock that nobody can shorten ([the scheduling transaction](https://robinhoodchain.blockscout.com/tx/0xd4adb65a26c60f0f7f498237419bdc9bb3026931e0a746a6280bb6d9a260c3b7)).