Alpaca Trading API integration for Model Context Protocol (MCP)
Moneda is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Financial intelligence for AI: manage balances, transactions, payments, and more
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http moneda-mcp https://mcp.moneda.com/api/mcp
# 2 — ask your agent for something these tools do
# health, search_knowledge, list_faq_categories and 135 more
Moneda costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http moneda-mcp https://mcp.moneda.com/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
138 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Check the health and status of the Moneda MCP server
No parameter schema on file.
Search the Moneda knowledge base (FAQ) for answers to questions about Moneda's features, fees, security, accounts, earnings, deposits, withdrawals, legal info, and more. Use this whenever a user asks about how Moneda works.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Search term or question to look up in the knowledge base (e.g. 'fees', 'security', 'how to deposit') |
| category | string | no | Optional category slug to narrow results (e.g. 'fees', 'security-and-privacy', 'earnings-account'). Use the moneda://knowledge resource to see available slugs. |
| limit | number | no | Maximum number of results to return (default: 5, max: 20) |
List the FAQ table of contents: every category (slug, name) with each item's id and question. Use an id with get_faq_item for the full answer.
No parameter schema on file.
Get all FAQ items in a specific category. Use the moneda://knowledge resource to discover available category slugs.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Category slug (e.g. 'about-moneda', 'fees', 'security-and-privacy', 'earnings-account', 'deposits-and-withdrawals', 'virtual-accounts', 'legal-compliance', 'using-moneda', 'moneda-card', 'technical-we |
Get a specific FAQ item by ID, including its full answer and resolved related questions. Use this after search_knowledge or get_faq_category to drill into a specific question.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The FAQ item ID (returned by search_knowledge and get_faq_category) |
Get the user's account balances (USD Account, EUR Account, CHF Account, CAD Account, MXN Account, USD Earnings, EUR Earnings, USD Smart Earnings, EUR Smart Earnings), optionally filtered by currency. CHF, CAD, and MXN rows only appear for users in their staged rollouts (gated by ENABLE_CHFAU, ENABLE_CANADA, and ENABLE_MXNB). Balances are fetched live from the blockchain by default. If blockchain q
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | no | Filter by currency (USD, EUR, CHF, CAD, or MXN) |
Get the user's Moneda smart wallet address on Base network. IMPORTANT: Only supports USDC, EURC, CHFAU, CADD, and MXNB on Base — other tokens or chains will result in permanent loss of funds. For Moneda-to-Moneda transfers, prefer sharing @username (instant, feeless).
No parameter schema on file.
Get transaction history including card programme activity. Standard format returns JSON; tax_export returns a compact CSV with full unmasked addresses, token contracts, vault tokens, sender/recipient details, and tax labels (Koinly/CoinTracker/TaxBit compatible). Use year for annual tax exports (up to 250 per request). Filter by typeGroup, type, category, currency, dates, counterparty, amount, sta
| Parameter | Type | Required | Notes |
|---|---|---|---|
| format | string | no | "standard" (default): JSON with direction, amount, counterparty. "tax_export": compact CSV with sent/received amounts, token addresses, sender/recipient with full unmasked addresses, user address, and |
| year | integer | no | Tax year (e.g. 2025). Filters Jan 1 – Dec 31. Overrides startDate/endDate. |
| limit | number | no | Max results (standard: default 5, max 10; tax_export: default 50, max 250) |
| offset | number | no | Skip N transactions for pagination |
| typeGroup | string | no | Group filter: transfer, exchange, deposit, withdrawal, earnings, topup, offramp, card, trade (crypto/stock buys and sells; rows carry a trade block with fills, fees and failure) |
| type | string | no | Exact TransactionType: TRANSFER, SWAP, DEPOSIT_YO, WITHDRAWAL, ON_RAMP, OFF_RAMP_BANK, etc. |
| category | string | no | Spending category: FRIENDS_FAMILY, GROCERIES, RESTAURANTS, SHOPPING, TRAVEL, SALARY, etc. |
| currency | string | no | Currency filter |
| startDate | string | no | From date (ISO 8601, e.g. 2025-01-01) |
| endDate | string | no | To date (ISO 8601, e.g. 2025-12-31) |
| counterparty | string | no | @username, wallet address, wallet name, IBAN, external provider (e.g. 'Coinbase'), or card merchant name (matches CARD_PURCHASE / CARD_ATM_WITHDRAWAL / CARD_REFUND rows by their merchantName). Use t |
| minAmount | number | no | Min amount in human units (e.g. 100 = $100) |
| maxAmount | number | no | Max amount in human units (e.g. 500 = $500) |
| hasNote | boolean | no | Filter by note presence. false = missing notes (for bulk annotation). true = only annotated. |
| hasCategory | boolean | no | Filter by category presence. false = uncategorized transactions. true = only categorized. |
| hasReceipt | boolean | no | Filter by receipt presence. false = no receipt attached (e.g. to chase missing receipts). true = has a receipt. |
| sort | string | no | Sort: newest/oldest by date, amount_desc/amount_asc by raw amount (default: newest) |
| status | string | no | Status filter. Default hides PENDING/FAILED (returns COMPLETED + COMPLETED_DELAYED). Pass "all" to return every status. |
| direction | string | no | Direction relative to the user: incoming (you received), outgoing (you sent), or exchange (internal swap). |
| transactionHash | string | no | Exact transaction hash (0x prefix optional, case-insensitive). Returns at most one transaction. |
Get spending grouped by transaction type group (transfer, exchange, deposit, withdrawal, earnings, topup, offramp) for a 7/30/90-day window. Includes period-over-period comparison. For finer breakdowns by user-assigned category, contact, or merchant, use get_spending_by_category / get_spending_by_contact / get_spending_by_merchant. (This tool was previously named get_spending_summary.)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| period | string | yes | Time period for the summary |
| currency | string | no | Filter by currency (USD, EUR, CHF, CAD, or MXN) |
Get the current exchange rate between two currencies
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | yes | Source currency |
| to | string | yes | Target currency |
Get your lifetime accumulated savings from using Moneda — total fees Moneda covered on your behalf (sponsored network fees + on/off-ramp fees) plus your plan's fee discount vs the Standard plan. This is NOT a balance: never answer "how much have I saved" from wallet or vault amounts. Returns the total AND its three components, so you can say where the savings came from.
No parameter schema on file.
List the user's bills (AP queue), ordered 'due-soon first' (dueDate ASC NULLS LAST, id DESC). Filter by status[] — defaults to ['PENDING']. Cursor-paginated; pass nextCursor from the previous page back as cursor to advance. Each row carries the extracted merchant, total, currency, invoice number, and due date.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | array | no | Filter by BillStatus. Default ['PENDING']. Pass multiple to include several states (e.g. ['PENDING','PAID']). |
| limit | integer | no | Page size (default 25, max 100). |
| cursor | string | no | Opaque cursor from a previous response's nextCursor. |
Fetch a single bill by id with full extracted detail — merchant (name, taxId, address), total, currency, due date, invoice number, vendor IBAN/BIC/routing/account, payment status, and a presigned downloadUrl valid for ~15 minutes.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| billId | string | yes | Bill id (from list_bills output). |
Get the current APY (Annual Percentage Yield) rates for Moneda earnings products. Morpho Earnings is a DeFi lending vault and YO Smart Earnings is a higher-yield vault. USD and EUR have both Morpho and YO vaults; MXN has a Morpho-only vault (no YO). CHF and CAD are accepted at the parameter boundary for consistency but currently return empty (no yield vault on those currencies yet).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | no | Filter by currency (USD, EUR, CHF, CAD, or MXN) |
Get a daily time series of earnings and vault balance for a Morpho or YO vault account. Returns up to one year of UTC-day data points (timestamp, earnings, balance) plus totalEarnings and netDeposits summaries.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainRef | string | yes | Chain reference (e.g. 'base') |
| accountId | string | yes | Account ID of the vault account to fetch earnings for |
| vaultProvider | string | yes | Vault provider — MORPHO (Earnings) or YO (Smart Earnings) |
Update the authenticated user's display name
| Parameter | Type | Required | Notes |
|---|---|---|---|
| displayName | string | yes | The new display name |
Rename a passkey so it is recognisable in the security screen (e.g. 'Work laptop'). Pass the passkey id from get_passkeys. Cosmetic only — it cannot add, remove, or weaken a credential. Send an empty label to clear it back to the provider name.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The passkey id, as returned by get_passkeys (id field) |
| target | string | no | WALLET for a smart-account passkey (what get_passkeys lists), LOGIN for an email login passkey |
| label | yes | New nickname, max 40 characters. Empty or null clears it. |
Set whether the user's conversations with Moneda AI may be used to train Moneda's own models (the Settings > Privacy toggle). enabled=false turns it off; enabled=true turns it back on. The choice applies to what the user sends from then on: messages sent while objected stay excluded even if it is turned back on. It does not change how Moneda answers the user, security logging, or quality measureme
| Parameter | Type | Required | Notes |
|---|---|---|---|
| enabled | boolean | yes | false = object to AI training on my conversations; true = allow it (the default) |
Change the user's decimal separator (DOT = 1,234.56, COMMA = 1.234,56), or opt in or out of marketing and product-update emails and push notifications. Pass only what the user asked to change; at least one field. Security and transactional messages always send and cannot be turned off. Only call this when the user explicitly asks. Returns the settings after the change. Language and theme are app-o
| Parameter | Type | Required | Notes |
|---|---|---|---|
| decimalSeparator | string | no | DOT for 1,234.56, COMMA for 1.234,56 |
| marketingEmails | boolean | no | Marketing emails |
| productUpdatesEmails | boolean | no | Product-update emails |
| marketingPush | boolean | no | Marketing push |
| productUpdatesPush | boolean | no | Product-update push |
Get the user's current points balance from the rewards program
No parameter schema on file.
Get the user's points activity history showing what actions earned or spent points
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Number of activities to return (default: 10, max: 50) |
| offset | number | no | Number of activities to skip for pagination |
Get the user's unique referral code and referral count
No parameter schema on file.
Get the list of users this user has referred to Moneda
No parameter schema on file.
Get the user's virtual bank account details (IBAN and ACH), payment capabilities, and activation status. Minimum transfer: €1 for EUR (IBAN/SEPA) and $1 for USD (ACH).
No parameter schema on file.
Get how much of the user's Iron virtual-account spending limit is left, per direction (deposit = money in, withdrawal = money out), on a rolling 52-week window. Also reports whether Iron is currently requesting enhanced due diligence (EDD). Crossing a limit does NOT reject the transfer: Iron PAUSES it and gives the user 24 hours to supply a Source-of-Wealth document, so check this BEFORE proposing
No parameter schema on file.
List the compliance information requests (RFIs) Iron/MoonPay has sent the user about their virtual account: status, the open round's questions and any requested documents. Read-only. MoonPay requires the user to answer personally, so NEVER answer on their behalf or draft answers for them to paste: tell them to open the Moneda app at Settings > Features and limits and respond to the information req
No parameter schema on file.
Get the date a US bank (ACH) transfer would actually settle. Accounts for Iron's 3:00 PM ET same-day cutoff, weekends, AND US federal bank holidays — a transfer sent the afternoon before Thanksgiving does not arrive the next day. Use this to answer 'when will my money arrive?' instead of saying 'next business day'. USD/ACH only; Iron publishes no equivalent cutoff for EUR/SEPA.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| submittedAt | string | no | ISO timestamp of when the transfer was submitted. Omit to estimate for a transfer sent right now. |
Get the user's contacts: Moneda users they interact with, saved external wallets, and saved bank accounts. Each wallet and bank entry has a contactAccountId field — pass it as the contactAccountId parameter to initiate_payment (transfer_contact_bank / transfer_contact_wallet). Use the contact's username (from the owner field or the username field) as contactUsername.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Number of contacts to return (default: 20, max: 50) |
| offset | number | no | Number of contacts to skip for pagination |
| search | string | no | Search by username, display name, wallet name, or IBAN |
Get the user's app settings and preferences: language, currency, country, theme, notifications, biometrics, and display options.
No parameter schema on file.
Get the user's recovery contacts and the people who have you as their recovery contact (guardian).
No parameter schema on file.
Get the user's passkeys (security keys). target='WALLET' (default) lists the smart-account signing keys — id, label, provider, status, masked wallet address, creation date, kind ('primary' = the key from signup, 'backup' = an extra key added later as a second Safe owner), and onchainStatus (a 'pending' backup exists but cannot sign yet). target='LOGIN' lists the email-login credentials — id, label
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | string | no | WALLET (default) = smart-account signing keys, LOGIN = email login credentials |
Get the user's saved external wallets and bank accounts for withdrawals/off-ramping. Each entry has an accountId field — pass it as the accountId parameter to initiate_payment (transfer_account). These are NOT the user's Moneda wallet — use get_wallet instead to get the user's actual Moneda smart wallet address.
No parameter schema on file.
Assign a spending category to a transaction. Identify the transaction by its transactionHash from get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| transactionHash | string | yes | The transaction hash (from get_transactions output) |
| category | string | yes | The category to assign |
Add or update a personal note on a transaction. Identify the transaction by its transactionHash from get_transactions. Maximum 140 characters.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| transactionHash | string | yes | The transaction hash (from get_transactions output) |
| note | string | yes | The note to attach (max 140 characters) |
Assign spending categories to multiple transactions at once. Accepts up to 25 items. Each item maps a transactionHash to a category. Returns per-item results. Use with get_transactions hasCategory=false to find uncategorized transactions first.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | Array of {transactionHash, category} pairs |
Add or update notes on multiple transactions at once. Accepts up to 25 items. Each item maps a transactionHash to a note (max 140 chars). Returns per-item results. Use with get_transactions hasNote=false to find unannotated transactions first.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | Array of {transactionHash, note} pairs |
Add a crypto wallet to the user's saved external accounts. IMPORTANT: The wallet must support USDC, EURC, CHFAU, CADD, and MXNB on the Base network. Sending other tokens or using other chains will result in permanent loss of funds. The user MUST confirm they understand this before the wallet is saved — set confirmed=true only after explicit user acknowledgment.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| walletName | string | yes | A descriptive name for the wallet (e.g. 'My Coinbase Wallet') |
| walletAddress | string | yes | The wallet address (0x-prefixed hex, 42 characters) |
| confirmed | boolean | yes | Set to true ONLY after the user has explicitly confirmed the wallet supports USDC/EURC/CHFAU/CADD/MXNB on Base. If false, the tool returns a confirmation prompt instead of saving. |
Add a bank account to the user's saved accounts. For EU: provide IBAN (and optionally BIC). For US: provide accountNumber, routingNumber, and accountType (CHECKING or SAVINGS). US banks support ACH transfers only. Bank capability is verified before saving.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| country | string | yes | Country code (e.g. 'US', 'DE', 'FR') |
| firstName | string | yes | Account holder first name |
| lastName | string | yes | Account holder last name |
| iban | string | no | IBAN for European bank accounts |
| bic | string | no | BIC/SWIFT code (optional for EU) |
| accountNumber | string | no | US bank account number |
| routingNumber | string | no | US ACH routing number |
| accountType | string | no | US account type |
Register an external (non-Moneda) contact with their details. EU Travel Rule requires first name, last name, and country of residence. At least one wallet address or bank account must be provided. For wallets, the user must confirm Base network USDC/EURC/CHFAU/CADD/MXNB support before saving.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| firstName | string | yes | Contact's first name (required by EU Travel Rule) |
| lastName | string | yes | Contact's last name (required by EU Travel Rule) |
| countryOfResidence | string | yes | Contact's country of residence — ISO 3166-1 alpha-2 (e.g. 'DE', 'US') or alpha-3 (e.g. 'DEU', 'USA') code. Required by EU Travel Rule. |
| string | no | Contact's email for automatic payment confirmations (optional) | |
| walletAddress | string | no | Wallet address (0x-prefixed, 40 hex characters) |
| walletName | string | no | Descriptive name for the wallet |
| walletConfirmed | boolean | no | Confirm wallet supports USDC/EURC/CHFAU/CADD/MXNB on Base. Required if walletAddress is provided. |
| bankCountry | string | no | Bank country code |
| iban | string | no | IBAN for EU bank accounts |
| bic | string | no | BIC/SWIFT code (optional) |
| accountNumber | string | no | US bank account number |
| routingNumber | string | no | US ACH routing number |
| accountType | string | no | US account type |
Add a Moneda user to your contacts by their username. If the contact already exists but was deactivated, it will be reactivated.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| username | string | yes | The Moneda username to add (without the @ prefix) |
Search for Moneda users by username, display name, full email, or phone number. Respects user privacy settings — users who have disabled search visibility for specific fields will not appear in results matching those fields. Returns username and display name for matching users.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Search term: username, display name, full email address, or phone number |
| limit | number | no | Maximum results to return (default: 10, max: 20) |
List the banks Koywe supports for a LATAM country, used when registering a third-party or first-party bank account that requires an explicit bank code (Colombia/PSE, Chile/CLP_BANK, Bolivia/BOB_BANK). Each bank entry has: name (human label), value (Koywe entity code — pass back as bankCode), and domain (for logo display). Mexico/Argentina/Peru also return banks but those rails resolve the bank fro
| Parameter | Type | Required | Notes |
|---|---|---|---|
| countrySymbol | string | yes | ISO 3166-1 alpha-2 country code. Supported: MX, AR, PE, BR, CO, CL, BO. |
List the country, currency, and rail combinations Moneda can pay out to. Each entry includes the required fields you'll need to collect from the user before calling add_bank, add_contact_external, or initiate_payment. The output is provider-agnostic — don't branch on which underlying processor handles each rail. Pass an optional countrySymbol to filter (e.g. 'BR' returns only Brazilian PIX). Emp
| Parameter | Type | Required | Notes |
|---|---|---|---|
| countrySymbol | string | no | Optional ISO 3166-1 alpha-2 filter (e.g. 'US', 'BR', 'CO'). Use 'EU' for SEPA destinations. Omit to list everything. |
Preview the cost, FX rate, and final amount for moving money between two currencies. Provide exactly one of amountIn (what the user sends) or amountOut (what they want to receive). Returns the quote ID, exchange rate, fee, and how long the quote stays valid. Use this BEFORE initiate_payment so the user can confirm the rate. Routes internally based on the currency pair — agents don't need to kn
| Parameter | Type | Required | Notes |
|---|---|---|---|
| fromCurrency | string | yes | Source currency. ONRAMP example: 'BRL' (sending Brazilian reais). OFFRAMP example: 'USDC' (sending Base USDC). |
| toCurrency | string | yes | Destination currency. ONRAMP example: 'USDC'. OFFRAMP example: 'BRL'. |
| amountIn | number | no | Amount to send (in fromCurrency units). Omit if specifying amountOut. |
| amountOut | number | no | Amount to receive (in toCurrency units). Omit if specifying amountIn. |
Send money to someone else (a Moneda user, a contact, or an external bank/wallet). Creates a payment request that requires user approval in the Moneda mobile app. Not for converting between the user's own currencies: use initiate_currency_exchange for that. Look up the recipient first via search_users, get_my_accounts, or get_contacts. Check balance with get_balance before calling. After calling,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| paymentType | string | yes | Type of payment: transfer_moneda (to a Moneda user), transfer_account (to own external account), transfer_contact_bank (to contact's bank), transfer_contact_wallet (to contact's wallet) |
| amount | string | yes | Amount in user-facing units (e.g. '50.00'). Must be greater than zero. |
| currency | string | yes | Currency for the payment |
| recipientUsername | string | no | Moneda username (without @) for transfer_moneda payments |
| accountId | string | no | Account ID for transfer_account payments (from get_my_accounts) |
| contactUsername | string | no | Contact username or display name for transfer_contact_bank or transfer_contact_wallet. Accepts @username, username, or display name. |
| contactAccountId | string | no | Account ID for the contact's bank or wallet (contactAccountId from get_contacts). Required when a contact has multiple bank accounts or wallets. |
| reference | string | no | Optional payment memo. For bank transfers: SEPA max 140 chars, ACH max 10 chars. Allowed: letters, numbers, spaces, and / - . |
| destinationChainId | string | no | Only Base ("eip155:8453") is accepted. Cross-chain payouts cannot be requested through an agent yet and are refused; the user can make them in the Moneda app. Only applies to transfer_contact_wallet. |
| source | object | no | Where the money comes from. Omit to pay from the main balance. |
Convert money between two of the user's own currency accounts (e.g. USD to EUR). Nothing leaves the user; to pay or send to anyone, use initiate_payment instead. Creates a request the user approves in the Moneda mobile app; the destination is the user's own account in toCurrency. Check balance with get_balance first. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | string | yes | Amount of fromCurrency to exchange, in user-facing units (e.g. '50.00') |
| fromCurrency | string | yes | Currency that leaves the user's account |
| toCurrency | string | yes | Currency that arrives in the user's account |
Propose a RECURRING payment (e.g. $50 monthly to a Moneda user or a contact's Base wallet). Creates a draft the user reviews, approves and signs with their passkey in the Moneda mobile app; nothing is sent until then and you never schedule or move funds yourself. Not for one-off payments: use initiate_payment. Look up the recipient first (search_users, get_contacts). The draft expires after 48 hou
| Parameter | Type | Required | Notes |
|---|---|---|---|
| paymentType | string | yes | transfer_moneda (to a Moneda user, pass recipientUsername) or transfer_contact_wallet (to a contact's wallet on Base, pass contactUsername or contactAccountId) |
| amount | string | yes | Amount per payment in user-facing units (e.g. '50.00') |
| currency | string | yes | — |
| frequency | string | yes | — |
| startDate | string | yes | First payment date, YYYY-MM-DD in the user's timezone. Today or later, within a year. |
| endDate | string | no | Last possible payment date, YYYY-MM-DD. Omit for no end. |
| recipientUsername | string | no | Moneda username (without @) for transfer_moneda |
| contactUsername | string | no | Contact username or display name for transfer_contact_wallet |
| contactAccountId | string | no | The contact wallet's account ID (from get_contacts), when the contact has several wallets |
| reference | string | no | Optional memo attached to each payment |
Buy or sell a crypto asset (e.g. cbBTC for Bitcoin, WETH for Ethereum) with the user's own balance. Not for sending money (use initiate_payment) or converting between currencies (use initiate_currency_exchange). The route/venue is chosen by the server. Creates a request the user reviews at the live price, approves and signs in the Moneda mobile app. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | yes | Crypto asset symbol, e.g. 'cbBTC' or 'WETH' |
| side | string | yes | BUY spends stableCurrency; SELL spends the asset |
| stableCurrency | string | yes | The user's balance the trade pays from or lands in |
| amount | string | yes | Amount spent, in user-facing units: stableCurrency on BUY (e.g. '100'), the asset on SELL (e.g. '0.001') |
Buy a Base token that is not in initiate_crypto_trade's catalogue, by contract address, spending the user's own USD, EUR, CHF or MXN balance. Use initiate_crypto_trade for catalogue assets (cbBTC, WETH, …). The token must be tradeable on Base via LiFi. Creates a request the user reviews at the live price, approves and signs in the Moneda mobile app. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tokenAddress | string | yes | Base ERC-20 contract address |
| stableCurrency | string | yes | The user's balance the buy is paid from |
| amount | string | yes | How much to spend, in stableCurrency (e.g. '25') |
Move the user's own money into or out of an earnings vault: DEPOSIT from a currency account into Earnings (MORPHO) or Smart Earnings (YO), WITHDRAW back out. Not for sending money (use initiate_payment), converting currencies (use initiate_currency_exchange) or trading (use initiate_crypto_trade). YO has USD and EUR vaults; MORPHO has USD, EUR and MXN. Check balances with get_balance and rates wit
| Parameter | Type | Required | Notes |
|---|---|---|---|
| direction | string | yes | DEPOSIT into the vault, or WITHDRAW back to the account |
| vaultProvider | string | yes | MORPHO = Earnings, YO = Smart Earnings |
| currency | string | yes | Currency of the account and vault |
| amount | string | yes | Amount in user-facing units, e.g. '50.00' |
| reference | string | no | Optional note shown on the approval |
Check the current status of a payment request. Use this to poll for approval after calling initiate_payment. Terminal statuses: COMPLETED, FAILED, EXPIRED, REJECTED.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| paymentRequestId | string | yes | The payment request ID returned by initiate_payment |
Pay for a resource using the x402 protocol (HTTP 402 Payment Required). When an API returns HTTP 402 with x402 paymentRequirements, use this tool to initiate the payment. The payment requires user approval in the Moneda app before it executes. Parameters map to x402 paymentRequirements fields: - payTo: the recipient wallet address from the 402 response - amount: the payment amount (e.g. "0.01")
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | string | yes | Payment amount in human-readable form (e.g. "0.01"). From paymentRequirements.maxAmountRequired or the exact price. |
| currency | string | yes | Payment currency. USD maps to USDC, EUR maps to EURC. |
| payTo | string | yes | Recipient wallet address (0x-prefixed, 42 chars) from paymentRequirements.payTo. |
| resource | string | yes | The URL that returned HTTP 402. Stored for audit and shown to the user. |
| network | string | yes | Blockchain network from paymentRequirements.network. Must be "base" or "base-sepolia". |
| maxAmountRequired | string | no | Maximum amount from the 402 response, if different from amount. |
| reference | string | no | Optional payment memo/reference (max 140 chars). |
List the crypto held in a Safe that can be sent out: balance (in the token's smallest unit), decimals, USD value where one can be found, and whether the token is allowlisted or merely discovered on LiFi's Base list. Covers the main account, vaults and joint accounts. Pass the returned contract address to initiate_crypto_send — never the symbol, because two tokens can claim the same one. `enabled:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | no | Vault or joint account to list. Omit for the main account's Safe. |
Send crypto out of a Safe — the main account, a vault or a joint account — to a Moneda contact or a raw Base address, for any token the account holds. Not for selling a token (use initiate_crypto_trade), buying one (initiate_token_buy) or sending money (initiate_payment). Amounts are in the token's own smallest unit (atoms): call list_sendable_crypto first and use its decimals and address. Cre
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tokenAddress | string | yes | Base ERC-20 contract address of the token to send |
| amount | string | yes | How much to send, in the token's smallest unit (atoms), e.g. '500000000000000000' for 0.5 of an 18-decimal token |
| recipientAccountId | string | no | Moneda contact / account UUID to send to |
| recipientAddress | string | no | Raw Base address to send to, for an external send |
| subAccountId | string | no | Vault or joint account to send FROM. Omit for the main Safe. |
List the user's sub-accounts (vaults / nested Safes). Excludes CLOSED vaults by default; pass includeClosed: true to see archived ones too. Returns id, name, status, type, and the on-chain child Safe address.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeClosed | boolean | no | Include CLOSED (archived) vaults in the result. |
Get one sub-account by id with full detail — name, status, type, members, parent + child Safe addresses, deployment index, close timestamp.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Sub-account UUID |
Read on-chain balances for a sub-account's child Safe. Pass currency (USDC / EURC / CHFAU / CADD / MXNB) to filter to a single token; omit to get every enabled token. Balances are returned as raw bigint strings — 6 decimals for USDC/EURC/CHFAU/MXNB, 18 for CADD.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Sub-account UUID |
| currency | string | no | Filter to a single token. Omit for all enabled currencies. |
Aggregate wealth across the user's main account + every live vault. Returns per-leg breakdown (wallet + Morpho + YO for main; wallet-only for vaults) plus per-currency totals (USDC, EURC, CHFAU, CADD, MXNB) and combined totalUsd/totalEur grand totals. USDC/EURC are cross-converted using the on-chain Aerodrome rate; CHFAU, CADD and MXNB keep their own columns but are also folded into totalUsd/total
No parameter schema on file.
List the OPEN spend / withdraw / membership / threshold requests on a joint account that needs multiple approvals (M-of-N). Returns each request's type, status, amount, how many approvals it has out of the threshold, and who proposed it. Read-only: voting and executing need the user's passkey on their device.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | yes | Joint sub-account UUID |
Get one joint-account request by id, including the per-member approval list (who approved, who rejected, and when). Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| proposalId | string | yes | Proposal UUID |
Move money from the user's main account INTO one of their sub-accounts. Not for paying someone (use initiate_payment) or converting currencies (use initiate_currency_exchange). Creates a request the user approves in the Moneda mobile app; nothing happens until then. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | yes | Sub-account UUID (from list_sub_accounts) |
| amount | string | yes | Amount in user-facing units, e.g. '25.00' |
| currency | string | yes | Currency |
Move money from a sub-account back to the user's own main account. Not for paying someone from a sub-account (use initiate_payment with source.kind=sub_account). Single-signature sub-accounts only; for a joint account use propose_sub_account_multisig_proposal. Creates a request the user approves in the Moneda mobile app; nothing happens until then. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | yes | Sub-account UUID (from list_sub_accounts) |
| amount | string | yes | Amount in user-facing units, e.g. '25.00' |
| currency | string | yes | Currency |
Swap inside a sub-account between a currency (USD, EUR, CHF, CAD, MXN) and a crypto asset (e.g. cbBTC), or between two currencies. Funds stay in the sub-account. Not for the main account (use initiate_crypto_trade or initiate_currency_exchange). Creates a request the user approves in the Moneda mobile app; nothing happens until then. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | yes | Sub-account UUID (from list_sub_accounts) |
| fromAsset | string | yes | What to sell: a currency code (USD) or asset symbol (cbBTC) |
| toAsset | string | yes | What to buy: a currency code (EUR) or asset symbol (WETH) |
| amount | string | yes | Amount of fromAsset to sell, e.g. '100' |
| slippageBps | integer | no | Max slippage in basis points (default 50) |
Freeze a sub-account the user created, blocking its spending. Unfreezing can only be done in the app. Creates a request the user approves in the Moneda mobile app; nothing happens until then. After calling, poll get_payment_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | yes | Sub-account UUID (from list_sub_accounts) |
Open a SPEND or WITHDRAW proposal on a joint account that needs more than one approval. This only creates the proposal; co-owners still approve and execute it in the Moneda app. For single-signature sub-accounts use propose_sub_account_withdraw or initiate_payment with source.kind=sub_account. Creates a request the user approves in the Moneda mobile app; nothing happens until then. After calling,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subAccountId | string | yes | Sub-account UUID (from list_sub_accounts) |
| proposalType | string | yes | SPEND pays a recipient; WITHDRAW returns to main |
| amount | string | yes | Amount in user-facing units, e.g. '25.00' |
| currency | string | yes | Currency |
| description | string | no | Note shown to co-owners |
| recipientUsername | string | no | SPEND only: Moneda username (without @) |
| accountId | string | no | SPEND only: one of the user's saved wallets |
| contactUsername | string | no | SPEND only: contact username |
| contactAccountId | string | no | SPEND only: contact wallet account ID |
Get the user's CURRENT subscription plan and how it is billed. Returns hasLiveSubscription, status (TRIALING/PENDING_FIRST_CHARGE/ACTIVE/PAST_DUE/CANCELLED), planType (STANDARD/PREMIUM/ULTRA), billingProvider (ONCHAIN/STRIPE/APP_STORE/PLAY_STORE), billedTo ('balance' | 'card' | 'app_store'; app_store plans are cancelled or changed in the user's Apple or Google account settings, not in Moneda), bal
No parameter schema on file.
List the user's subscription charge history (SUBSCRIPTION_CHARGE rows from the keeper cron), newest first. Cursor-paginated — pass nextCursor from the previous page back as cursor to advance. Each row carries the plan tier, billing period (MONTHLY/ANNUAL), amount (lower-units string), currency, status, on-chain transaction hash, billing period start/end, and the invoice number (null until the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Page size (default 25, max 100). |
| cursor | string | no | Opaque cursor from a previous response's nextCursor. |
Generate (idempotently) the ZUGFeRD plan invoice PDF for a single subscription charge and return a 1-hour presigned download URL. First call allocates the invoice number (YYYY-NNNNNN), renders the PDF/A-3 with embedded EN 16931 XML, and uploads to S3; subsequent calls return a fresh presigned URL for the existing row. The user must own the underlying charge. Returns `{ invoiceNumber, downloadUrl }
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chargeTransactionId | string | yes | The SUBSCRIPTION_CHARGE Transaction id (from list_subscription_charges output). |
List the user's in-app notifications, newest first. Pass filter='unread' to scope to unread items (use this to answer 'do I have any new notifications?'). Each notification has a type, an optional deepLink, and a metadata JSON blob whose shape varies by type. Returns up to limit items (default 20, max 50) with a nextCursor for pagination.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Pagination cursor — id of the last seen notification. |
| limit | integer | no | Number of notifications to return (default 20, max 50). |
| filter | string | no | Filter by read state. Default: all. |
Number of unread in-app notifications for the user. Cheaper than list_notifications when the agent only needs the count to answer 'do I have anything new?'.
No parameter schema on file.
Read one message from Moneda (a notification with type MONEDA_MESSAGE, id from list_notifications): title, body, tone, optional button, attached documents (by index), and reply, which is null when no reply is asked for, else says whether a document is none/optional/required. repliedAt is set once the user has replied.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notificationId | string | yes | Id of the MONEDA_MESSAGE notification. |
Get a download link (valid 10 minutes) for a document Moneda attached to a message. index comes from the message's attachments list in get_moneda_message.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notificationId | string | yes | Id of the MONEDA_MESSAGE notification. |
| index | integer | yes | Attachment index from get_moneda_message. |
List the replies the user sent to messages from Moneda, newest first: text, the message title, and the attached document's name if any. Returns up to limit items (default 20, max 50) with a nextCursor for pagination.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Pagination cursor: id of the last seen reply. |
| limit | integer | no | Number of replies to return (default 20, max 50). |
Step 1 of 2 for attaching a document to a reply to a message from Moneda (only when get_moneda_message shows reply.attachment optional or required). Returns a presigned S3 PUT URL (uploadUrl), a signed uploadKey and a literal curlCommand to run in your code sandbox; the file bytes go straight to S3 and never enter the conversation. After the PUT succeeds, pass uploadKey to reply_to_moned
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mimeType | string | yes | MIME type of the file. |
| fileSizeBytes | integer | yes | Exact file size in bytes (e.g. wc -c <file>). Signed into the URL: the PUT fails if the body differs. |
Send the user's reply to a message from Moneda that asks for one. The reply is delivered to the Moneda team, so only send text the user wrote or explicitly approved word for word, never text you composed on your own, and show it to the user before sending. One reply per message (max 600 characters); it cannot be edited afterwards, only undone within 10 seconds (undo_message_reply). When the messag
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notificationId | string | yes | Id of the MONEDA_MESSAGE notification. |
| body | string | yes | Reply text, written or approved by the user. |
| uploadKey | string | no | From request_message_reply_upload, after the curl PUT succeeded. |
| fileName | string | no | Display name of the attached document, e.g. 'payslip.pdf'. |
Undo a reply the user just sent to a message from Moneda. Only call this when the user asks to undo, and only within 10 seconds of sending (until the reply's undoableUntil); afterwards it fails with "too late". The reply and its document are deleted and the message asks for a reply again.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| replyId | string | yes | Id of the reply, from reply_to_moneda_message. |
List the user's transaction receipts (PDFs, images, structured invoices), newest first. Each entry carries extracted summary fields (merchant, total, date, currency) plus the linked transactionId when attached. Use transactionHash (from get_transactions) to scope to one transaction, needsReview=true to find rows flagged for manual review, and status to filter by lifecycle state. Default pa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| transactionHash | string | no | Restrict to receipts linked to a single transaction (on-chain hash from get_transactions). |
| status | string | no | Filter by lifecycle status. Default: everything except DELETED. |
| needsReview | boolean | no | If true, only return rows the extractor flagged for manual review. |
| limit | integer | no | Page size (default 20, max 100). |
| offset | integer | no | Number of receipts to skip for pagination. |
Fetch a single receipt by id with full extracted fields (merchant, total, currency, tax breakdown, line-item count) plus a presigned downloadUrl valid for ~15 minutes. Use this when the user asks about a specific receipt or to surface the file URL to the LLM context.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id (from list_receipts output). |
List the parsed line items on a receipt — description, quantity, unitPrice, totalPrice, taxRate, and category. Useful for spend-by-product breakdowns or itemized review of an invoice.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id whose line items to fetch. |
Search across every parsed line item the user has uploaded (case-insensitive substring on description + normalized description). Returns matching items, total count, and aggregate spend grouped by currency. Optional category, startDate, and endDate further narrow the window. Use this for questions like 'how much did I spend on cappuccinos this year?'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Free-text query (>= 2 chars). Matched against item description. |
| category | string | no | Restrict to a line-item category id (e.g. 'food_dairy'). |
| startDate | string | no | ISO date — items from receipts dated on/after. |
| endDate | string | no | ISO date — items from receipts dated on/before. |
| limit | integer | no | Page size for the items array (default 50, max 200). |
| offset | integer | no | Number of items to skip for pagination. |
List German hospitality-receipt (Bewirtungsbeleg) overlays attached to the user's transactions. Each row carries the underlying transactionId, date, location, occasion, total/tip/subtotal split, deductible vs non-deductible amounts, and signing state. Pass transactionHash (from get_transactions) to scope to one transaction. Default page 20, max 100.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| transactionHash | string | no | Restrict to overlays linked to a single transaction (on-chain hash from get_transactions). |
| limit | integer | no | Page size (default 20, max 100). |
| offset | integer | no | Number of rows to skip for pagination. |
List self-issued substitute receipts (Eigenbeleg) — used when the original receipt for a transaction was lost or never issued. Each row carries the linked transactionId, recipientName, amount, reason, and signing state. Pass transactionHash (from get_transactions) to scope to one transaction. Default page 20, max 100.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| transactionHash | string | no | Restrict to Eigenbelege linked to a single transaction (on-chain hash from get_transactions). |
| limit | integer | no | Page size (default 20, max 100). |
| offset | integer | no | Number of rows to skip for pagination. |
Step 1 of 2 for uploading a local receipt file. Returns a presigned S3 PUT URL (uploadUrl), a signed uploadKey, and a literal curlCommand to execute in your code sandbox to stage the file. The file bytes are sent directly to S3 — they never enter the conversation context. After the curl PUT succeeds, call finalize_receipt_upload with the returned uploadKey to run OCR + matching. Use this
| Parameter | Type | Required | Notes |
|---|---|---|---|
| fileName | string | yes | Original file name (used for the audit trail). E.g. 'rent-may.pdf'. |
| mimeType | string | yes | MIME type. Only PDF, JPEG, and PNG are accepted by the pipeline. |
| fileSizeBytes | integer | yes | Size of the file in bytes (use wc -c <file> or your stdlib's stat). Signed into the URL — the S3 PUT will fail if the actual body doesn't match. |
Step 2 of 2 for uploading a local receipt file. Pass the uploadKey returned from request_receipt_upload AFTER you've executed the curlCommand to PUT the file to S3. Validates the staged file, runs OCR + LLM extraction, attempts to auto-match to an existing transaction, and persists line items. Returns receiptId, optional billId (for invoice-shaped docs), and matched/suggested/`transa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uploadKey | string | yes | The opaque signed key returned by request_receipt_upload. |
| captureSource | string | no | Provenance label for the audit trail. Defaults to MANUAL_UPLOAD. |
Import a receipt directly from an https:// URL (S3, Drive shared link, public file host, etc.). The server fetches the file behind an SSRF guard (rejects private IPs, Moneda infra, and non-https), validates it, then runs OCR + matching. Single tool call, no sandbox needed. Use this when the receipt is already accessible at a URL.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | https:// URL the receipt file can be fetched from. Public hosts only (S3, Drive shared, etc.). |
| fileName | string | no | Override the auto-derived filename. Defaults to the last path segment of the URL. |
| mimeType | string | no | Override the Content-Type the source server returns. Useful when the source serves application/octet-stream. |
| captureSource | string | no | Provenance label for the audit trail. Defaults to MANUAL_UPLOAD. |
Re-run the OCR / LLM extraction pipeline on an existing receipt and return the refreshed fields. Use this when the user reports incorrect extraction or after a model upgrade. Refuses DELETED rows and rows without a stored file. Synchronous — the response carries the post-extraction snapshot.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id to reparse (from list_receipts output). |
Permanently delete a receipt and its stored file. This is a HARD delete — the row, its line items, and any Bewirtungsbeleg/Eigenbeleg overlay go with it, and there is no undo and no recycle bin. Confirm with the user before calling. To move a receipt to a different transaction use detach_receipt + attach_receipt instead; deleting loses the extraction.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id to delete (from list_receipts output). |
Mark a receipt as a partial payment: the document covers more than this one payment (a deposit or instalment against a larger invoice), so its total differing from the transaction amount is expected. Replaces the amount_mismatch review reason with partial_payment so the receipt stops warning; the flag survives a reparse. Does not change any amounts. Check with the user first; only use it when
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id to mark (from list_receipts output). |
Correct a receipt's top-line amounts when the scan read them wrong: total, subtotal, tax amount, tax rate and tip. Each field is optional: omit it to leave it unchanged, pass null to clear it. At least one field is required. taxRateValue is a percentage (19 for 19%, not 0.19). Only the stored amounts change; a later reparse_receipt re-extracts and overwrites them. Use values the user gave or confi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id to update (from list_receipts output). |
| totalAmountValue | no | Receipt total. Omit to leave unchanged; null clears it. | |
| subtotalValue | no | Subtotal before tax and tip. Omit to leave unchanged; null clears it. | |
| taxAmountValue | no | Tax amount. Omit to leave unchanged; null clears it. | |
| taxRateValue | no | Tax rate as a percentage, 0-100 (19 for 19%). Omit to leave unchanged; null clears it. | |
| tipAmountValue | no | Tip amount. Omit to leave unchanged; null clears it. |
File an unattached receipt against a transaction. A transaction holds at most ONE receipt, so this returns a conflict if another is already attached — detach that one first. Also clears any pending match suggestion, since the user has now decided.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id to attach (from list_receipts output). |
| transactionId | string | yes | Transaction id to attach it to. Resolve this from get_transactions first — this is the internal id, not the transaction hash. |
Unlink a receipt from its transaction, leaving the receipt itself intact as an orphan. Use this to correct a wrong match, or to free a transaction so a different receipt can be attached. Does NOT delete anything.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id to detach (from list_receipts output). |
Accept the matcher's suggested transaction for a receipt, promoting the soft suggestion to a real attachment. Suggestions exist when the match score was too low to attach automatically — read suggestedTransactionId / suggestedMatchScore from get_receipt and check the suggestion with the user before confirming.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id carrying the suggestion (from get_receipt). |
Dismiss the matcher's suggested transaction for a receipt. The receipt stays an unattached orphan and stops being offered against that transaction. Use attach_receipt afterwards if you know the correct one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| receiptId | string | yes | Receipt id carrying the suggestion (from get_receipt). |
List the email addresses set up for ZK email-based account recovery. Returns id, email, weight, status (pending/invited/accepted/declined/removed), and timestamps. Defaults to the user's main account when accountId is omitted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| accountId | string | no | Account UUID. Defaults to the user's main LOCAL account when omitted. |
Get one recovery email's full detail by id — email, weight, status, timestamps, notes, and the on-chain account address it protects.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Recovery email UUID |
Get the recovery configuration for an account: accepted recovery emails, total weight, and the threshold required to approve a recovery. The threshold is a fixed number that must match the on-chain Universal Email Recovery Module config.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| accountId | string | no | Account UUID. Defaults to the user's main LOCAL account when omitted. |
Get the most recent ZK email recovery request snapshot for an account. Returns hasActiveRecovery: false when no recovery exists or the latest is in a terminal state (cancelled/completed/expired); otherwise returns recovery details including approved/pending recovery emails (anonymized as a***@domain) and time until executable. Reads from DB only — agents tolerate the slight lag while the cron sync
| Parameter | Type | Required | Notes |
|---|---|---|---|
| accountId | string | no | Account UUID. Defaults to the user's main LOCAL account when omitted. |
Get daily spending totals for a stablecoin over a window. Returns one data point per UTC day with non-zero spending. Amounts are in currency units (26.5 means 26.50), like get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | yes | — |
| period | string | no | Rolling time window. Mutually exclusive with from/to. |
| from | string | no | ISO 8601 UTC start of an absolute window |
| to | string | no | ISO 8601 UTC end of an absolute window |
Get spending grouped by user-assigned transaction category over a window. Transactions without a category land in an 'UNCATEGORIZED' bucket. Amounts are in currency units (26.5 means 26.50), like get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | yes | — |
| period | string | no | Rolling time window. Mutually exclusive with from/to. |
| from | string | no | ISO 8601 UTC start of an absolute window |
| to | string | no | ISO 8601 UTC end of an absolute window |
Get the total amount sent to a single recipient (Moneda user, external bank, or external wallet) over a window. Identify the recipient by their account ID (recipientAccountId). Amounts are in currency units (26.5 means 26.50), like get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | yes | — |
| recipientAccountId | string | yes | — |
| period | string | no | Rolling time window. Mutually exclusive with from/to. |
| from | string | no | ISO 8601 UTC start of an absolute window |
| to | string | no | ISO 8601 UTC end of an absolute window |
Get spending grouped by recipient/merchant. Each Moneda user gets their own bucket; off-ramps share a single bucket per type (bank-withdrawal, external-wallet, coinbase, wallet-connect). Amounts are in currency units (26.5 means 26.50), like get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | yes | — |
| period | string | no | Rolling time window. Mutually exclusive with from/to. |
| from | string | no | ISO 8601 UTC start of an absolute window |
| to | string | no | ISO 8601 UTC end of an absolute window |
Compare total spending across two arbitrary windows (e.g. this month vs last month, year-over-year). Returns absolute and percentage deltas; deltaPct is null when previous total is 0. Amounts are in currency units (26.5 means 26.50), like get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | yes | — |
| currentFrom | string | yes | — |
| currentTo | string | yes | — |
| previousFrom | string | yes | — |
| previousTo | string | yes | — |
List the underlying spending transactions for a window. Optionally drill down into a category bucket (bucketKind='category', bucketId=CategoryType or 'UNCATEGORIZED') or a merchant bucket (bucketKind='merchant', bucketType=..., bucketId=user UUID for type='user'). Paginated via take/skip. Amounts are in currency units (26.5 means 26.50), like get_transactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| currency | string | no | — |
| period | string | no | Rolling time window. Mutually exclusive with from/to. |
| from | string | no | ISO 8601 UTC start of an absolute window |
| to | string | no | ISO 8601 UTC end of an absolute window |
| bucketKind | string | no | — |
| bucketId | string | no | — |
| bucketType | string | no | — |
| recipientAccountId | string | no | — |
| orderBy | string | no | — |
| direction | string | no | — |
| take | integer | no | — |
| skip | integer | no | — |
Create a scoped autonomous payment session bound to your agent. The user pre-funds a dedicated child Safe and installs an on-chain spending policy (single pinned recipient, per-execution and per-period caps) with a passkey in the Moneda app. After that you can call agent_execute_payment repeatedly within the policy — no per-payment approval. This call does NOT activate the session: it returns a co
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recipient | string | yes | The single crypto recipient address (0x…) pinned for this session. Phase 1 is crypto-to-crypto; every execution must go to this address. |
| currency | string | yes | Stablecoin denomination for the session (USD or EUR). |
| maxAmountPerExecution | string | yes | Max per single payment, in user-facing units (e.g. '25.00'). Must be > 0 and ≤ maxAmountPerPeriod. |
| maxAmountPerPeriod | string | yes | Max total spend per rolling period, in user-facing units (e.g. '100.00'). Must be > 0. |
| periodSeconds | integer | yes | Length of the spending period in seconds (e.g. 86400 for a daily cap). |
| expiresAt | string | no | Optional ISO-8601 expiry. After this, executions are rejected and the session can no longer be used. |
| fundingAmount | string | no | Optional initial parent→child funding amount, in user-facing units. The child Safe balance is the hard ceiling on worst-case loss. |
Execute a payment to an ACTIVE agent session's pinned recipient, within its on-chain spending policy — no per-payment user approval. The recipient and amount must satisfy the session's allowlist and per-execution / per-period caps, and the child Safe must hold enough balance. For safe retries pass a stable idempotencyKey: retrying with the SAME key returns the original transaction instead of doubl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sessionId | string | yes | The agent session id returned by create_agent_session. |
| recipient | string | yes | The crypto recipient address (0x…). Must match the session's pinned recipient. |
| amount | string | yes | Amount to send, in user-facing units (e.g. '10.00'). Must satisfy the per-execution and remaining per-period caps. |
| currency | string | yes | Stablecoin denomination — must match the session token. |
| idempotencyKey | string | no | Optional stable key for safe retries. Reuse the SAME key when retrying a payment you're unsure completed (e.g. after a timeout) — the original transaction is returned rather than sending twice. Use a |
Get one agent session's full detail by id: status, spending policy, remaining period cap, and the 5 most recent executions. Poll this after create_agent_session until status is ACTIVE.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sessionId | string | yes | The agent session id. |
List your scoped autonomous agent sessions, newest first, with status, policy, remaining period cap, and expiry. Filter by status to find ACTIVE sessions ready to execute against.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | Optional status filter. |
Revoke an agent session. This immediately halts all further execution on the backend (the execute path only runs ACTIVE sessions). The on-chain session remains installed until the user completes the uninstall in the Moneda app, but no payments can be made through it in the meantime. Use this when the agent is done with the mandate or the user asks to stop it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sessionId | string | yes | The agent session id to revoke. |
List the user's active login sessions (signed-in devices and clients: mobile app, web, CLI, API) and connected agents (MCP integrations). Use this to answer 'what devices am I signed in on?' or before terminating a session. Each login session has an id (pass to terminate_session), a type, device/location info, and lastActive. Each connected agent has an id (pass to disconnect_connected_ser
No parameter schema on file.
Terminate one login session by id (from list_active_sessions). The device is signed out immediately and cannot renew. Returns { success } — false means the session was already gone or isn't the user's.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sessionId | string | yes | The login session id from list_active_sessions. |
Terminate all of the user's login sessions on other devices (every signed-in app/web/CLI/API session). Does NOT disconnect agent connections — use disconnect_connected_service for those. Returns { revoked } = how many were terminated.
No parameter schema on file.
Disconnect a connected agent (MCP integration) by id (from list_active_sessions) or by its OAuth client id. Revokes its access immediately. If you disconnect the agent making this call, this connection ends.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| serviceId | string | yes | The connected-agent id from list_active_sessions, or the agent's OAuth client id. |
List the API keys on the account: name, prefix (first 12 characters), scopes, last use, expiry, and whether each is still active. The secret itself is stored hashed and is never returned here — it is shown only once, when the key is created.
No parameter schema on file.
Create an API key for a script, the CLI, or an integration. Returns the secret ONCE — it cannot be retrieved again, so hand it to the user immediately and tell them to store it somewhere safe. Maximum 10 active keys. The key can only carry scopes this connection already holds, and payment scopes are never available on an API key.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | What the key is for, e.g. 'monthly export script' |
| scopes | array | yes | Permissions for the key. Grant the narrowest set that does the job — it is a long-lived credential. |
| expiresInDays | integer | no | Optional expiry, 1-3650 days. Omit for a key that does not expire. |
Revoke an API key by its id (from list_api_keys). The key stops working on its very next request. Irreversible — a new key must be created to restore access.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| keyId | string | yes | Key id from list_api_keys |
Redeem a CONFIRMED on-chain charge for prepaid AI usage credits. Provide the transactionHash of a completed transfer you (the user) sent to the Moneda treasury tagged as a usage-credit purchase. The amount is read from the verified on-chain charge — never from input — converted to USD budget with the standard markup, and granted exactly once (idempotent on the hash, so re-calling is safe).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| transactionHash | string | yes | Hash of the confirmed on-chain charge to the Moneda treasury (from get_transactions). |
Set (or clear) the monthly spend limit on AI usage credits — the ceiling on how much of the prepaid balance may be consumed per calendar month (resets the 1st, UTC). Pass a USD amount to cap spending, or null to remove the cap (unlimited). Idempotent: setting the same value twice is a no-op.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| monthlyLimitUsd | yes | Monthly USD cap on prepaid-balance draw-down, or null for no limit (unlimited). |
Read the config for redeeming Moneda Points into AI usage credits: the points-per-$1 rate, the minimum redemption, the monthly cap, the user's current points balance, and how much of the monthly allowance is left. Call this before redeem_points to price and gate a redemption.
No parameter schema on file.
Redeem the user's Moneda Points for prepaid AI usage credits. Spends points (a negative points transaction) and grants the matching AI budget atomically. Enforces the minimum, the sufficient-balance check, and the monthly cap (see get_points_redemption_config). Pass a stable requestId (uuid) held across retries when you can: retrying with the same value is a no-op (returns granted:false). Omitting
| Parameter | Type | Required | Notes |
|---|---|---|---|
| points | integer | yes | How many points to redeem for AI credits. |
| requestId | string | no | Optional idempotency key (uuid). Reuse the same value on a retry; if omitted the server derives one from (user, points, 30s window). |
Check what the user may currently do with tokenized equities (dShares): whether they can trade, which regulatory jurisdiction they are onboarded under, and — if they cannot trade — the ordered list of reasons why. Call this before proposing any stock purchase so the user is told what to fix rather than hitting a failure at approval time.
No parameter schema on file.
For a US-jurisdiction user, list what is still outstanding before their brokerage account can be opened: missing profile answers, unaccepted disclosures, and whether a taxpayer id is on file. Returns field NAMES and counts only, never the user's answers. Regulatory disclosures and attestations can only be completed by the user in the Moneda app — this tool tells you what to explain and where to se
No parameter schema on file.
Is the US stock market open, and when does it change? Returns the current session (pre_market, open, after_hours or closed), whether today is a trading day, any holiday or early close, the trading day's four windows as ISO instants, and the next session change. Render the instants in the user's own timezone.
No parameter schema on file.
Companies that have filed with the SEC to go public in the US (S-1 or F-1) and have not listed yet: name, stage (filed, priced or listed), proposed ticker, website, and first and latest filing dates. Use for "what IPOs are coming up?" or "is X going public?". Nothing on the list can be bought until it lists; to follow one and be alerted when it prices, send the user to the IPO page under Invest in
No parameter schema on file.
How many commission-free stock trades the user has left this window, without quoting an order. The window steps from their own subscription anniversary, not the calendar month, so quote resetsAt rather than a day of the month. If degraded is true the count could not be read: say so, never state it as fact.
No parameter schema on file.
List the user's crypto conditional orders (LIMIT / STOP_LOSS / TAKE_PROFIT / TRAILING_STOP, settled via CoW), newest first. Each has status (PENDING_ACTIVATION / ARMED / PUBLISHED / FILLED / CANCELLED / EXPIRED), side, assetSymbol, triggerPrice or trailPercent, raw-unit sellAmount / minBuyAmount, expiresAt and skipReason (why the keeper last did not act, e.g. insufficient_balance). Orders can only
No parameter schema on file.
Get one crypto conditional order by id, with its full status, trigger, amounts and fill details.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| orderId | string | yes | Conditional order id (from list_conditional_orders). |
Cancel a crypto conditional order rule: every open repeat (PENDING_ACTIVATION, ARMED, PUBLISHED or WAITING) of the order's rule is cancelled, so passing any repeat's id stops the whole repeating rule. A PUBLISHED order is live in the CoW order book: it is withdrawn on-chain first, then marked CANCELLED; if the withdrawal fails the order stays live and the call errors (retry). Filled, cancelled or
| Parameter | Type | Required | Notes |
|---|---|---|---|
| orderId | string | yes | Conditional order id (from list_conditional_orders). |
Fetch complete account overview in one call: balances, recent transactions (last 7 days), and current APY rates. Use this instead of calling get_balance + get_transactions + get_apy_rates separately.
No parameter schema on file.
Fetch balance check data in one call: all account balances, exchange rates, and APY rates. Use this instead of calling get_balance + get_exchange_rate + get_apy_rates separately.
No parameter schema on file.
Fetch comprehensive financial summary data in one call: balances, recent transactions (10), APY rates, and exchange rates. Use this instead of calling 5+ individual tools.
No parameter schema on file.
Fetch points and referral data in one call: points balance, recent activity, referral code, and referees. Use this instead of calling get_points_balance + get_points_activity + get_referral_code + get_referees separately.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| activityLimit | number | no | Number of recent points activities to return (default: 10) |
Fetch earnings overview data in one call: earnings vault balances, APY rates, and recent earnings transactions. Use this instead of calling get_balance + get_apy_rates + get_transactions(typeGroup=earnings) separately.
No parameter schema on file.
Fetch security checkup data in one call: passkeys, recovery contacts, and security-related settings. Use this instead of calling get_passkeys + get_recovery_contacts + get_settings separately.
No parameter schema on file.
Fetch all account setup data in one call: wallet address, Moneda account balances, virtual bank accounts, and saved external accounts. Use this instead of calling get_wallet + get_balance + get_virtual_accounts + get_my_accounts separately.
No parameter schema on file.
Fetch payment readiness data in one call: KYC status, virtual accounts, external accounts, contact count, and balances. Use this instead of calling 5 individual tools to check payment readiness.
No parameter schema on file.
Fetch spending analysis data in one call: spending by type group, daily totals, and category breakdown for a period. Use this instead of calling get_spending_by_type_group + get_daily_spending + get_spending_by_category separately. All totals are in USDC units (26.5 means 26.50).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| period | string | no | Analysis period (default: 30d) |
Generate a PDF balance statement of your activity (opening/closing balances, transactions with home-currency values, fees, FX rates) for a tax year or date range. Async: returns a requestId immediately — poll get_statement_status until it is READY to get a time-limited download link. Not tax advice.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| year | integer | no | Tax year (Jan 1 – Dec 31 UTC). Use this OR from/to, not both. |
| from | string | no | ISO-8601 start (inclusive, UTC). Required if year is omitted. Not before 2020-01-01. |
| to | string | no | ISO-8601 end (exclusive, UTC). Defaults to now; a future date is clamped to now. The period can cover at most 366 days. |
| currency | no | Statement filter: USD, EUR, CHF, CAD, MXN or CRYPTO. A currency scopes the statement to that currency's balance and activity (e.g. an 'EUR, June 2026' statement). CRYPTO lists crypto and stock trades; | |
| reportingCurrency | string | no | Currency the amounts are valued in (USD, EUR, CHF or CAD). Defaults to the currency filter when it is one of those, then your account's display currency, then USD. |
Check the status of your most recent balance-statement request. When READY, returns a time-limited PDF download URL. Not tax advice.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| requestId | string | no | The requestId returned by generate_statement. Pass it to poll that exact statement; without it you get the most recent one. |
| currency | no | Without requestId: scope to the latest statement for a specific filter (USD, EUR, CHF, CAD, MXN or CRYPTO; matches what you passed to generate_statement). null = the latest all-activity statement. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Moneda or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| health | no tags | |
| search_knowledge | no tags | |
| list_faq_categories | no tags | |
| get_faq_category | no tags | |
| get_faq_item | no tags | |
| get_balance | no tags | |
| get_wallet | no tags | |
| get_transactions | no tags | |
| get_spending_by_type_group | no tags | |
| get_exchange_rate | no tags | |
| get_lifetime_savings | no tags | |
| list_bills | no tags | |
| get_bill | untrusted-input | untrusted-input: keyword "fetch" |
| get_apy_rates | no tags | |
| get_earnings_time_series | no tags | |
| update_display_name | state-write | state-write: declares readOnlyHint: false |
| set_passkey_label | state-write | state-write: declares readOnlyHint: false |
| set_help_improve_moneda | state-write | state-write: declares readOnlyHint: false |
| update_settings | state-write | state-write: declares readOnlyHint: false |
| get_points_balance | no tags | |
| get_points_activity | no tags | |
| get_referral_code | no tags | |
| get_referees | no tags | |
| get_virtual_accounts | no tags | |
| get_virtual_account_limits | no tags | |
| get_information_requests | no tags | |
| get_settlement_estimate | no tags | |
| get_contacts | no tags | |
| get_settings | no tags | |
| get_recovery_contacts | no tags | |
| get_passkeys | no tags | |
| get_my_accounts | no tags | |
| update_transaction_category | state-write | state-write: declares readOnlyHint: false |
| add_transaction_note | state-write | state-write: declares readOnlyHint: false |
| batch_update_transaction_categories | state-write | state-write: declares readOnlyHint: false |
| batch_add_transaction_notes | state-write | state-write: declares readOnlyHint: false |
| add_wallet | state-write | state-write: declares readOnlyHint: false |
| add_bank | state-write | state-write: declares readOnlyHint: false |
| add_contact_external | state-write | state-write: declares readOnlyHint: false |
| add_contact_moneda | state-write | state-write: declares readOnlyHint: false |
| search_users | no tags | |
| list_banks_for_country | no tags | |
| list_supported_destinations | no tags | |
| get_payment_quote | no tags | |
| initiate_payment | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| initiate_currency_exchange | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| propose_scheduled_payment | state-write | state-write: declares readOnlyHint: false |
| initiate_crypto_trade | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| initiate_token_buy | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| initiate_earnings_move | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_payment_status | no tags | |
| pay_x402 | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_sendable_crypto | no tags | |
| initiate_crypto_send | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_sub_accounts | no tags | |
| get_sub_account | no tags | |
| get_sub_account_balance | no tags | |
| get_total_wealth | no tags | |
| list_sub_account_proposals | no tags | |
| get_sub_account_proposal | no tags | |
| propose_sub_account_top_up | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| propose_sub_account_withdraw | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| propose_sub_account_swap | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| propose_sub_account_freeze | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| propose_sub_account_multisig_proposal | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_current_subscription | no tags | |
| list_subscription_charges | no tags | |
| get_subscription_invoice | untrusted-input | untrusted-input: keyword "download" |
| list_notifications | no tags | |
| get_unread_notification_count | no tags | |
| get_moneda_message | no tags | |
| get_moneda_message_attachment_url | untrusted-input | untrusted-input: keyword "download" |
| list_message_replies | no tags | |
| request_message_reply_upload | state-write | state-write: declares readOnlyHint: false |
| reply_to_moneda_message | state-write | state-write: declares readOnlyHint: false |
| undo_message_reply | state-write | state-write: declares readOnlyHint: false |
| list_receipts | no tags | |
| get_receipt | untrusted-input | untrusted-input: keyword "fetch" |
| get_receipt_line_items | no tags | |
| search_receipt_line_items | no tags | |
| list_bewirtungsbelege | no tags | |
| list_eigenbelege | no tags | |
| request_receipt_upload | state-write | state-write: declares readOnlyHint: false |
| finalize_receipt_upload | state-write | state-write: declares readOnlyHint: false |
| import_receipt_from_url | state-write | state-write: declares readOnlyHint: false |
| reparse_receipt | state-write | state-write: declares readOnlyHint: false |
| delete_receipt | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| mark_receipt_partial_payment | state-write | state-write: declares readOnlyHint: false |
| update_receipt_amounts | state-write | state-write: declares readOnlyHint: false |
| attach_receipt | state-write | state-write: declares readOnlyHint: false |
| detach_receipt | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| confirm_receipt_suggestion | state-write | state-write: declares readOnlyHint: false |
| reject_receipt_suggestion | state-write | state-write: declares readOnlyHint: false |
| list_recovery_emails | no tags | |
| get_recovery_email | no tags | |
| get_recovery_config | no tags | |
| get_recovery_status | no tags | |
| get_daily_spending | no tags | |
| get_spending_by_category | no tags | |
| get_spending_by_contact | no tags | |
| get_spending_by_merchant | no tags | |
| get_spending_comparison | no tags | |
| get_spending_transactions | no tags | |
| create_agent_session | external-sinkstate-write | external-sink: parameter "recipient"; state-write: declares readOnlyHint: false |
| agent_execute_payment | external-sinkstate-write | external-sink: parameter "recipient"; state-write: declares readOnlyHint: false, destructiveHint: true |
| get_agent_session | no tags | |
| list_agent_sessions | no tags | |
| revoke_agent_session | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_active_sessions | no tags | |
| terminate_session | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| terminate_all_other_sessions | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| disconnect_connected_service | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_api_keys | no tags | |
| create_api_key | state-write | state-write: declares readOnlyHint: false |
| revoke_api_key | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| purchase_usage_credits | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| set_ai_usage_limit | state-write | state-write: declares readOnlyHint: false |
| get_points_redemption_config | no tags | |
| redeem_points | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_dinari_capabilities | no tags | |
| get_dinari_us_requirements | no tags | |
| get_market_status | no tags | |
| get_upcoming_ipos | no tags | |
| get_free_trade_allowance | no tags | |
| list_conditional_orders | no tags | |
| get_conditional_order | no tags | |
| cancel_conditional_order | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_account_overview_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_balance_check_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_financial_summary_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_points_rewards_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_earnings_overview_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_security_checkup_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_my_accounts_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_payment_readiness_data | untrusted-input | untrusted-input: keyword "fetch" |
| get_spending_analysis_data | untrusted-input | untrusted-input: keyword "fetch" |
| generate_statement | untrusted-inputstate-write | untrusted-input: keyword "download"; state-write: declares readOnlyHint: false |
| get_statement_status | untrusted-input | untrusted-input: keyword "download" |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.3.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Moneda can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.