{"server":"services.ottoai/otto","count":18,"changes":[{"tool":"otto_holder_analytics","kind":"removed","observed_at":"2026-10-07T01:54:33.453Z","fields":[],"description_before":"Read holder analytics for a Base ERC-20 token: total holders, top-10, 25, 50 and 100 supply share from the ranked top 100, labelled top holders with top-1, 5, 10 and 20 concentration and the contract-held share, and an AI concentration-risk read. Holder-count change, whale tiers and the acquisition mix are not available from the current source: they are null and named in notCovered. Holder data only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.03 USDC through x402.","description_after":null,"description_similarity":null,"before_hash":"c2e633842dbd8f1bb9d1b98651cb366e","after_hash":null},{"tool":"otto_holder_analytics","kind":"changed","observed_at":"2026-10-05T19:20:50.105Z","fields":["description"],"description_before":"Read holder analytics for a Base ERC-20 token: total holders with 24h, 3d, 7d and 30d holder-count change, whale-tier distribution, the acquisition mix (swap, transfer or airdrop), top-10, 25, 50 and 100 supply share, labelled top holders with top-1, 5, 10 and 20 concentration and the contract-held share, and an AI concentration-risk read. Holder data only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.03 USDC through x402.","description_after":"Read holder analytics for a Base ERC-20 token: total holders, top-10, 25, 50 and 100 supply share from the ranked top 100, labelled top holders with top-1, 5, 10 and 20 concentration and the contract-held share, and an AI concentration-risk read. Holder-count change, whale tiers and the acquisition mix are not available from the current source: they are null and named in notCovered. Holder data only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.03 USDC through x402.","description_similarity":0.718,"before_hash":"3a8c39bd185b13b6d9613485c203e61d","after_hash":"c2e633842dbd8f1bb9d1b98651cb366e"},{"tool":"otto_token_security","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Screen a token contract with GoPlus across 8 chains for honeypot, rug-pull and scam signals: can’t-sell traps, hidden mint functions, malicious buy and sell taxes, and holder concentration. The chain defaults to Base (8453). Paid-only, including the first call: this read has no warm cache behind the hosted free allowance. A screen of known risk signals, not a guarantee that a token is safe and not a recommendation. Hosted access: paid-only; each call costs $0.001 USDC through x402 and preserves the free allowance.","description_similarity":null,"before_hash":null,"after_hash":"fb036928017965095b23844231f045b4"},{"tool":"otto_pools_search","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Search DEX pools on Base, Ethereum, Solana, Polygon, BSC, Arbitrum, Optimism and Avalanche by token symbol, name or contract address. Returns each pool address, DEX, USD price, 24h volume, liquidity (TVL), FDV, 24h price change and 24h transaction count as flat numbers. The list may be empty when nothing matches; that answer is charged. Pool discovery only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.001 USDC through x402.","description_similarity":null,"before_hash":null,"after_hash":"4ced9e80d7d780ecfcfbc28ff0656df7"},{"tool":"otto_holder_analytics","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read holder analytics for a Base ERC-20 token: total holders with 24h, 3d, 7d and 30d holder-count change, whale-tier distribution, the acquisition mix (swap, transfer or airdrop), top-10, 25, 50 and 100 supply share, labelled top holders with top-1, 5, 10 and 20 concentration and the contract-held share, and an AI concentration-risk read. Holder data only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.03 USDC through x402.","description_similarity":null,"before_hash":null,"after_hash":"3a8c39bd185b13b6d9613485c203e61d"},{"tool":"otto_proposed_insider_sales","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read the SEC Form 144 notices of proposed insider sales for a US ticker, which are filed before the Form 4 that reports an executed trade: who intends to sell, the units, the filer’s own market-value estimate, the broker, the approximate sale date and any Rule 10b5-1 plan dates. Up to the latest 20 notices in a 90-day lookback, which may be fewer. The list may be empty when no notices were filed in the window; that answer is charged. A notice is not a completed trade and may never be executed. Public-domain SEC EDGAR data; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.005 USDC through x402.","description_similarity":null,"before_hash":null,"after_hash":"5be557bb35b4c17005f38fd89af9b256"},{"tool":"otto_material_events","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read up to 20 Form 8-K material events a US-listed company filed in the last 90 days (flagged `truncated` when there were more), each tagged with the SEC’s own numbered item codes and titles, for example 1.01 material agreement, 1.05 cybersecurity incident, 2.06 impairment, 3.01 delisting notice and 5.02 officer or director change. The event date and the filing date are kept separate, amendments are labelled, and EDGAR links are included; earnings-only filings are excluded and counted. The list may be empty when there were no material filings in the window; that answer is charged. Public-domain SEC EDGAR data; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.003 USDC through x402.","description_similarity":null,"before_hash":null,"after_hash":"d8b016f634f1e0304688df836f87bf9e"},{"tool":"otto_financial_statements","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read the SEC statement set for a US-listed company: income statement, balance sheet and cash flow, up to five fiscal periods on both an annual and a quarterly basis. Each figure names the XBRL concept it was filed under, the filing and date it came from, and whether it was filed, reconstructed from year-to-date figures or computed from named lines; a restated period is flagged with the earlier value, and a period the filer did not tag is an explicit null, never carried forward. Includes the 10-K, 10-Q and 8-K filing index with 8-K item codes and EDGAR links. A fund vehicle or a filer that reports only in a non-USD currency has no statements: that is refused as `not_applicable` and nothing is charged. Public-domain SEC EDGAR data; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.003 USDC through x402.","description_similarity":null,"before_hash":null,"after_hash":"93fca74d103ed66f0a6d2af0cd7c74d6"},{"tool":"otto_earnings_calendar","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read the earnings calendar and surprise history for a ticker: the next report date and session with EPS and revenue estimates (null when none is scheduled), the latest reported EPS against its estimate with the surprise percentage, and up to four quarters of history, which may be fewer. Funds and ETFs have no earnings coverage. Estimates keep the vendor’s units because the Finnhub feed does not name a currency, and event-window price drift is reported as unavailable rather than inferred. Paid-only, including the first call: licensed vendor data is not part of the hosted free allowance. Not a recommendation. Hosted access: paid-only; each call costs $0.003 USDC through x402 and preserves the free allowance.","description_similarity":null,"before_hash":null,"after_hash":"06153e2cfed2661646dca74fbc7177b0"},{"tool":"otto_equity_news","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read licensed Finnhub company headlines for a ticker from the trailing seven days, each with publication time, source and summary. Only articles that name the company are served, labelled `primary` when the headline names it and `mentioned` when only the summary does; a ticker that is also an English word (for example ON or IT) can still match an unrelated upper-case headline. A week with no articles naming the company is refused as `no_recent_news` and nothing is charged. Redirect URLs are withheld and no sentiment is generated. Paid-only, including the first call: licensed vendor data is not part of the hosted free allowance. News context only; not a recommendation. Hosted access: paid-only; each call costs $0.003 USDC through x402 and preserves the free allowance.","description_similarity":null,"before_hash":null,"after_hash":"0c2791aab7fa8ea934c3033176e27777"},{"tool":"otto_tokenized_stock_movers","kind":"added","observed_at":"2026-10-02T00:43:38.638Z","fields":[],"description_before":null,"description_after":"Read the day movers among tokenized US stocks and ETFs on two rails in one call: Robinhood Chain (4663) and the Coinbase-issued Base B20 tokens, keyed by token address. Gainers and losers are ranked by the underlying stock’s real day-over-day change against the prior NYSE close, with per-rail coverage counts. A token with no listing is named with its reason under `excluded`; a token that cannot be quoted at the time is counted as uncovered, not named. Off-hours values freeze, and a tokenized share can trade at a premium or discount to the underlying. Refreshed every 15 minutes. Paid-only, including the first call: the movers are built from licensed Finnhub quote data. Market context only; not a recommendation. Hosted access: paid-only; each call costs $0.003 USDC through x402 and preserves the free allowance.","description_similarity":null,"before_hash":null,"after_hash":"e32b4ee150059ac66aa67d4795f79b73"},{"tool":"otto_submit_under_delegation","kind":"changed","observed_at":"2026-09-28T06:53:58.885Z","fields":["title","description"],"description_before":"Submit a verified otto_prepare_swap envelope on Base under the end user's CDP delegation. Arguments: { userId, envelope (the otto_prepare_swap result), prepareInput (the exact otto_prepare_swap request, with slippage.minAmountOut) } — validated strictly AFTER the caller is authenticated, so the listed input schema is intentionally permissive. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. Before any send the server confirms, in this order: the Model-B project policy is installed and reads back by name and rules digest; the user's grant is active past the envelope's valid_until; the account is one of that end user's own CDP accounts as CDP reports them; the envelope passes the 13-check verifier for exactly the request that produced it; the plan is inside the fence (allow-listed input token, reviewed spender, gross at or below the 5000 USD engine ceiling); and the plan is at or below the per-swap cap THIS user chose when they minted, which is recorded against their grant on this server. A delegation with no recorded cap is REFUSED (DELEGATION_CAP_UNRECORDED) rather than defaulted to the ceiling — the grant cannot be used for delegated sends; check status and use Stop if it remains active. For an eligible confirmed grant, the three steps (allowance reset, approval, swap) are submitted in order under the delegation, each waited to a sealed canonical block; a halt clears the allowance and reports the read-back. One delegated plan at a time per user. Coinbase's engine bounds the delegated key to Model-B swap shapes through LI.FI up to the 5000 USD ceiling, which is shared by every delegated user and cannot be narrowed per user by the engine; the user's own lower cap and the receiver binding are Otto's server-side checks, and the user can revoke at any time.","description_after":"New Model B delegated trading is retired: swaps, stock buys and yield deposits are refused with DELEGATION_TRADING_RETIRED, including under old grants. The prepare-only tools remain available. This retained tool can submit a qualified vault withdrawal and replay an existing terminal result. Arguments: { userId, envelope, prepareInput (with slippage.minAmountOut) }, validated after caller authentication using the `x-otto-delegation-auth` header. Withdrawal identity comes from the fully verified plan's registered share input, never a caller operation label: output must be USDC, spender and share amount must satisfy the withdrawal fence, receiver must be the user's CDP account, and both fence v2 and confirmed ruleset-v2 consent are required. All existing grant, expiry, cap-record, replay-binding, journal and worker-guard checks remain. No new trading plan is signed, funded or submitted. The withdrawal's reset, approval and call are submitted sequentially with canonical receipts and allowance clearing on halt. Uncertain prior operations are never retried here: use delegation operations/reconciliation. Status, revoke and independently qualifying exits remain available. Shared Muse permissions use their separate tools.","description_similarity":0.275,"before_hash":"ea3f745024a9932743044b4f817a4cdd","after_hash":"2e375d32056f322ab05037c09118bc8f"},{"tool":"otto_prepare_stock_buy","kind":"changed","observed_at":"2026-09-28T06:53:58.885Z","fields":["title","description"],"description_before":"Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that buys one of the executable Coinbase B20 tokenized equities on Base with USDC, as a LI.FI route through the fenced diamond whose receiver is the signing account. The token comes from the registry row named by executableEquityId and is never an input; the caller's registryCommitment must equal the commitment recomputed over the current record. The WORST PERMISSIBLE FILL (amount over the route's own floor) is checked against the equity's own Chainlink total-return mark and refused when it exceeds the pinned tolerance, or when the feed is frozen (> 24 h). Returns the pair unchanged plus a preview; never signs or submits — submit the pair through otto_submit_under_delegation under the end user's per-swap cap. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.","description_after":"Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that buys one of the executable Coinbase B20 tokenized equities on Base with USDC, as a LI.FI route through the fenced diamond whose receiver is the signing account. The token comes from the registry row named by executableEquityId and is never an input; the caller's registryCommitment must equal the commitment recomputed over the current record. The WORST PERMISSIBLE FILL (amount over the route's own floor) is checked against the equity's own Chainlink total-return mark and refused when it exceeds the pinned tolerance, or when the feed is frozen (> 24 h). Returns the pair unchanged plus a preview; never signs or submits. New Model B delegated trading is retired, including under existing grants: otto_submit_under_delegation refuses this pair. Preparation does not authorize execution. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.","description_similarity":0.843,"before_hash":"0cebd82a40e8ce22ace3f01523e47341","after_hash":"47a6f3a925c48b03ca7260ef00a4c152"},{"tool":"otto_prepare_yield_deposit","kind":"changed","observed_at":"2026-09-28T06:53:58.885Z","fields":["title","description"],"description_before":"Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that deposits USDC into one of the executable Morpho vaults from the Yield Copilot registry, as a LI.FI position-acquisition route (which may buy shares or compose a protocol deposit) whose output token is the vault's ERC-4626 share token and whose receiver is the signing account. The vault comes from the registry row named by executableMarketId and is never an input; the caller's registryCommitment must equal the commitment recomputed over the current record. The quoted shares are checked against the vault's own previewDeposit and refused when they fall short by more than the pinned tolerance. Returns the pair unchanged plus a preview; never signs or submits — submit the pair through otto_submit_under_delegation under the end user's per-swap cap. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.","description_after":"Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that deposits USDC into one of the executable Morpho vaults from the Yield Copilot registry, as a LI.FI position-acquisition route (which may buy shares or compose a protocol deposit) whose output token is the vault's ERC-4626 share token and whose receiver is the signing account. The vault comes from the registry row named by executableMarketId and is never an input; the caller's registryCommitment must equal the commitment recomputed over the current record. The quoted shares are checked against the vault's own previewDeposit and refused when they fall short by more than the pinned tolerance. Returns the pair unchanged plus a preview; never signs or submits. New Model B delegated trading is retired, including under existing grants: otto_submit_under_delegation refuses this pair. Preparation does not authorize execution. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.","description_similarity":0.837,"before_hash":"fbd0cd7338cf60f08a1bf9ecb5cd89bb","after_hash":"c23a81cec39dcd888bb281a59fb0872d"},{"tool":"otto_prepare_perp_order","kind":"removed","observed_at":"2026-09-27T07:46:13.208Z","fields":[],"description_before":"Prepare and verify an unsigned Hyperliquid perpetuals order (limit, with optional reduce-only take-profit and stop-loss triggers bundled as normalTpsl) for the caller-owned Hyperliquid account, returned as the canonical L1 action plus the exact EIP-712 Agent domain, struct, and connectionId recipe the caller's own signer needs. The asset id, size grid, and price grid come from the live perp universe: an unknown or delisted perp, a size finer than the asset's szDecimals, or a price off the venue's 5-significant-digit / (6 - szDecimals) decimal grid is refused by name rather than rounded to a different order. There is no market order — name your own aggressive limit price with 'Ioc'. Otto's builder attribution is spec'd and valueless today, so the action carries no builder field and the envelope says so. The nonce is chosen by the signer, never here; the envelope's valid_until is committed to the artifact digest AND placed inside the signed digest as expiresAfter, so the venue itself rejects a stale action, while the Hyperliquid signer nonce remains the replay boundary and this tool cannot guarantee single execution. This tool never signs or submits, holds no key, and derives no agent wallet. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.","description_after":null,"description_similarity":null,"before_hash":"864e61b59eccd4a4fddcc29d43bbe764","after_hash":null},{"tool":"otto_delegation_cap","kind":"changed","observed_at":"2026-09-25T00:00:10.489Z","fields":["title","description"],"description_before":"TWO PHASES, both header authed, both resolving the end user from the access token. { phase: \"reserve\", accessToken, perSwapCapUsd, requestedDays, mintKey } takes a generation-bound unified mint claim, picks a whole-second expiry instant at or BEFORE the requested duration that no durable row for this user already occupies, writes the chosen cap (whole USD, 1…5000) against it, and answers { expires_at, mint_expires_at, per_swap_cap_usd, recorded }. Call createDelegation with mint_expires_at EXACTLY as given — it is the reserved instant plus a one-millisecond filler, because CDP refuses an expiry ending .000 and truncates the filler away — and with mintKey as the idempotencyKey. Then { phase: \"confirm\", accessToken, mintKey } re-reads the grant from CDP and promotes only the exact still-current claim whose reported instant IS the reserved one. A mismatch, Stop overlap, or stale claim remains unconfirmed and authorises nothing; no confirm path issues CDP's user-wide revoke because that could delete a newer permission, so use a fresh explicit Stop to revoke whichever permission is current. Why this shape: Coinbase issues no grant id and a send can learn nothing about a live grant except its expiry, so the expiry is made an identity BY CONSTRUCTION — reserved server-side, recorded before the mint, asserted after it. Until a reservation is successfully confirmed active, otto_submit_under_delegation refuses that delegation (DELEGATION_CAP_UNCONFIRMED) rather than falling back to the 5000 USD ceiling. A reservation is IMMUTABLE per mint key — pressing again returns the same instant and cap, and an older revoke generation cannot be revived. Coinbase's engine cannot hold this number: end-user accounts are fenced by ONE project-scope policy shared by every delegated user, so a lower per-user cap is enforced by Otto's server alone. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. The listed input schema is intentionally permissive — the strict schema is validated after the caller is authenticated.","description_after":"Legacy Model B cap confirmation. New { phase: \"reserve\" } requests are retired and refused before any claim or reservation is written. { phase: \"confirm\", accessToken, mintKey } remains available for a permission already minted against a prior reservation: the server re-reads CDP and confirms only the exact still-current claim and reserved expiry. A mismatch or Stop overlap remains unconfirmed; a fresh explicit Stop handles the current grant. Without a confirmed per-user cap, delegated sends refuse. This tool does not issue new permissions. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. The listed input schema is intentionally permissive — the strict schema is validated after the caller is authenticated.","description_similarity":0.333,"before_hash":"cb383cce209235640d0eab7553c8739f","after_hash":"a90fc723a2eff8b1682fcc0fe252a8ae"},{"tool":"otto_delegation_fence_status","kind":"changed","observed_at":"2026-09-25T00:00:10.489Z","fields":["description"],"description_before":"PUBLIC and read-only, no header: whether the Model-B project policy that fences every delegated send is installed and v-current on this server, with its versioned name, rules digest, the per-swap cap ceiling in USD (shared by every delegated user — a person may choose any whole-dollar cap from per_swap_cap_min_usd up to it, enforced server-side and recorded against their own grant), and Otto's PUBLIC CDP project id (a UUID — the authority an agent binds its mint to). Exposes ONLY the fence's public promise — never an end user, a grant, an address or a policy's contents. An agent about to mint a delegation (otto-execute delegate) reads this first, mints to the published project_id and no other, and refuses to mint when the fence is not present; the server enforces fence-before-authority on every delegated send regardless. Arguments: {}.","description_after":"PUBLIC and read-only, no header: reports whether the Model B project policy still fences existing delegated sends, its name and rules digest, the shared cap ceiling, and mint_enabled for new Model B trade setup. New trade-permission creation is retired, so mint_enabled is false on the serving retirement build. Existing status, revoke and exits remain available. No user, grant, address or policy contents are exposed. Arguments: {}.","description_similarity":0.256,"before_hash":"89d7c9e4c244bae5da919a4055848aef","after_hash":"05b67d2f468f3cf142e7c3b8e8a069ae"},{"tool":"otto_submit_under_delegation","kind":"changed","observed_at":"2026-09-25T00:00:10.489Z","fields":["description"],"description_before":"Submit a verified otto_prepare_swap envelope on Base under the end user's CDP delegation. Arguments: { userId, envelope (the otto_prepare_swap result), prepareInput (the exact otto_prepare_swap request, with slippage.minAmountOut) } — validated strictly AFTER the caller is authenticated, so the listed input schema is intentionally permissive. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. Before any send the server confirms, in this order: the Model-B project policy is installed and reads back by name and rules digest; the user's grant is active past the envelope's valid_until; the account is one of that end user's own CDP accounts as CDP reports them; the envelope passes the 13-check verifier for exactly the request that produced it; the plan is inside the fence (allow-listed input token, reviewed spender, gross at or below the 5000 USD engine ceiling); and the plan is at or below the per-swap cap THIS user chose when they minted, which is recorded against their grant on this server. A delegation with no recorded cap is REFUSED (DELEGATION_CAP_UNRECORDED) rather than defaulted to the ceiling — mint the permission again to set one. Then the three steps (allowance reset, approval, swap) are submitted in order under the delegation, each waited to a sealed canonical block; a halt clears the allowance and reports the read-back. One delegated plan at a time per user. Coinbase's engine bounds the delegated key to Model-B swap shapes through LI.FI up to the 5000 USD ceiling, which is shared by every delegated user and cannot be narrowed per user by the engine; the user's own lower cap and the receiver binding are Otto's server-side checks, and the user can revoke at any time.","description_after":"Submit a verified otto_prepare_swap envelope on Base under the end user's CDP delegation. Arguments: { userId, envelope (the otto_prepare_swap result), prepareInput (the exact otto_prepare_swap request, with slippage.minAmountOut) } — validated strictly AFTER the caller is authenticated, so the listed input schema is intentionally permissive. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. Before any send the server confirms, in this order: the Model-B project policy is installed and reads back by name and rules digest; the user's grant is active past the envelope's valid_until; the account is one of that end user's own CDP accounts as CDP reports them; the envelope passes the 13-check verifier for exactly the request that produced it; the plan is inside the fence (allow-listed input token, reviewed spender, gross at or below the 5000 USD engine ceiling); and the plan is at or below the per-swap cap THIS user chose when they minted, which is recorded against their grant on this server. A delegation with no recorded cap is REFUSED (DELEGATION_CAP_UNRECORDED) rather than defaulted to the ceiling — the grant cannot be used for delegated sends; check status and use Stop if it remains active. For an eligible confirmed grant, the three steps (allowance reset, approval, swap) are submitted in order under the delegation, each waited to a sealed canonical block; a halt clears the allowance and reports the read-back. One delegated plan at a time per user. Coinbase's engine bounds the delegated key to Model-B swap shapes through LI.FI up to the 5000 USD ceiling, which is shared by every delegated user and cannot be narrowed per user by the engine; the user's own lower cap and the receiver binding are Otto's server-side checks, and the user can revoke at any time.","description_similarity":0.913,"before_hash":"b0e1c6f87de171cdcb41419bd2861b08","after_hash":"ea3f745024a9932743044b4f817a4cdd"}],"next_before":null,"next_actions":[]}