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.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.
Profile
update_display_name
update_display_name
Change your display name shown to other Moneda users.Try asking: “Change my display name to Federico”
Transaction annotations
update_transaction_category
update_transaction_category
Assign a spending category to a transaction (e.g. Groceries, Restaurants, Travel).Try asking: “Categorize my last coffee purchase as Restaurants”
add_transaction_note
add_transaction_note
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”
batch_update_transaction_categories
batch_update_transaction_categories
Assign spending categories to up to 25 transactions at once.Try asking: “Categorize all my uncategorized transactions from last week”
batch_add_transaction_notes
batch_add_transaction_notes
Add or update notes on up to 25 transactions at once.Try asking: “Add notes to my recent transactions”
External accounts
add_wallet
add_wallet
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…”
add_bank
add_bank
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
add_contact_external
add_contact_external
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_contact_moneda
add_contact_moneda
Add a Moneda user to your contacts by their username.Try asking: “Add @alice to my contacts”
Payments
initiate_payment
initiate_payment
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”
get_payment_status
get_payment_status
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
request_receipt_upload
request_receipt_upload
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?”finalize_receipt_upload
finalize_receipt_upload
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_receipt_from_url
import_receipt_from_url
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”reparse_receipt
reparse_receipt
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
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_card
freeze_card
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_card
unfreeze_card
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.
