Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.moneda.com/llms.txt

Use this file to discover all available pages before exploring further.

Write tools let your AI assistant make changes on your behalf. All write tools require the appropriate permissions, and payments always require your explicit approval in the Moneda mobile app.

Profile

Change your display name shown to other Moneda users.Try asking: “Change my display name to Federico”

Transaction annotations

Assign a spending category to a transaction (e.g. Groceries, Restaurants, Travel).Try asking: “Categorize my last coffee purchase as Restaurants”
Add or update a personal note on a transaction. Maximum 140 characters.Try asking: “Add a note to my last transaction: Birthday dinner with friends”
Assign spending categories to up to 25 transactions at once.Try asking: “Categorize all my uncategorized transactions from last week”
Add or update notes on up to 25 transactions at once.Try asking: “Add notes to my recent transactions”

External accounts

Save an external crypto wallet to your account. The wallet must support USDC or EURC on the Base network. You’ll be asked to confirm this before the wallet is saved.Try asking: “Save this wallet address: 0x…”
Save a bank account for withdrawals. Supports EU bank accounts (IBAN) and US bank accounts (ACH routing + account number).Try asking: “Add my bank account”

Contacts

Register an external (non-Moneda) contact with their wallet address or bank account details. EU Travel Rule requires first name, last name, and country of residence.Try asking: “Add John as an external contact with his wallet address”
Add a Moneda user to your contacts by their username.Try asking: “Add @alice to my contacts”

Payments

Payment requests created through MCP are sent to your Moneda mobile app, where you must approve them with biometric authentication. No money moves without your explicit confirmation.
Create a payment request that requires your approval in the Moneda app. Supports transfers to Moneda users, your own external accounts, or contact bank accounts and wallets.Try asking: “Send $50 to @alice” or “Transfer EUR 100 to my bank account”
Check the current status of a pending payment request. Terminal statuses are: completed, failed, expired, or rejected.Try asking: “What’s the status of my last payment?”

Receipts

Step 1 of 2 for uploading a local receipt file. Returns a presigned S3 PUT URL, a signed upload key, and a literal curl command for your code sandbox to stage the file. The file bytes go straight to S3 — never through the conversation context. Follow up with finalize_receipt_upload.Try asking: “I want to upload a receipt — what do I do?”
Step 2 of 2 for uploading a local receipt file. Pass the upload key from request_receipt_upload after you’ve PUT the file to S3. Runs OCR + LLM extraction, attempts to auto-match to an existing transaction, and persists line items. Returns the receipt id, optional bill id (for invoices), and any matched/suggested transaction.Try asking: (used as a follow-up to request_receipt_upload)
Import a receipt directly from an https:// URL (S3, Drive shared link, public file host). The server fetches the file behind an SSRF guard, validates it, then runs OCR + matching. Single tool call, no sandbox needed.Try asking: “Import this receipt from this URL”
Re-run the OCR / LLM extraction pipeline on an existing receipt and return the refreshed fields. Use when extraction looks wrong or after a model upgrade.Try asking: “Re-scan this receipt — the merchant looks wrong”

Cards

These tools require the write:cards scope, which is not in the default scope set. Your AI client has to ask for it explicitly when connecting.
Freeze/unfreeze are the only card-lifecycle operations available through MCP. They run on-chain via the Server-Safe-controlled PausableCardGuard, are fully reversible, idempotent, and never touch issuer-side card state. Destructive operations — suspend, terminate, replace, change PIN, reveal PIN, approve 3DS — stay mobile-app-only behind a fresh passkey assertion.
Freeze a card on-chain. Settlement is blocked at the on-chain Roles Module level so no further spending lands until you unfreeze. Idempotent — re-freezing an already-frozen card succeeds without changing on-chain state (no spend, no double-block), though a fresh transaction is still submitted on every call. Returns a CONFLICT error if the card’s on-chain proxy hasn’t been deployed yet (you’ll need to finish card setup in the mobile app first).Try asking: “Freeze my virtual card” or “Block spending on card ending 1234”
Unfreeze a card on-chain. Restores settlement. Idempotent — unfreezing an already-active card succeeds without changing on-chain state, though a fresh transaction is still submitted on every call.Try asking: “Unfreeze my virtual card” or “Re-enable spending on card ending 1234”

Learn more

Read tools

Tools for querying balances, transactions, account data, recovery setup, notifications, vaults, receipts, bills, and card metadata.

Scopes

Permission scopes that control which tools your AI can use.