Send
MCP server for Verus currency — send, convert, cross-chain transfer, balance/path/tx queries
Connector by vdappdev2 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/vdappdev2-send
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 27 read · 12 write · 1 delete · 9 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 49
Read from the source code; the running server may list different tools.
Read 27 · Look things up without changing anything.
estimateconversiongetaddressesbyaccountgetblockcountgetcurrencygetcurrencybalancegetcurrencyconvertersgetidentitygetidentitycontentgetidentityhistorygetinfogetoffersgettransaction
Show 15 more tools
getvdxfidgetwalletinfohelplistcurrencieslistidentitieslistopenofferslisttransactionsstatusvalidateaddressverifysignaturez_getoperationstatusz_listaddressesz_listreceivedbyaddressz_validateaddressz_viewtransaction
Write 12 · Create, change, send or run things.
closeoffersmakeoffersendcurrencysendrawtransactionsetidentitytimelocksigndatasignrawtransactionstoptakeofferupdateidentityverusdz_importviewingkey
Delete 1 · Delete, drop, revoke or wipe things.
revokeidentity
Not yet classified 9 · We could not tell from the name and description.
decryptdatadefinecurrencygetnewaddressrecoveridentityrefresh_chainsregisteridentityregisternamecommitmentz_exportviewingkeyz_getnewaddress
Files it touches
- Any path the agent passes to its tools
Tools (49)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
closeoffersClose (cancel) open offers and reclaim the locked funds. Returns null on success. Always closes expired offers automatically, even if no parameters are given. When specific offer txids are provided, closes only those offers. Use this to cancel offers that are no longer wanted, or as periodic cleanup to reclaim funds from expired offers.
decryptdataDecrypt data stored on-chain. Accepts a data descriptor (from z_listreceivedbyaddress memo), viewing key (EVK or IVK), and optional txid. With retrieve: true, the daemon fetches and decrypts the referenced data. Always pass the EVK (from z_exportviewingkey) — without it the daemon returns still-encrypted data even if the wallet holds the spending key. For encrypted identity content, pass the original encrypted DataDescriptor from signdata (not the on-chain version, which may have modified flags). Alternatively, use iddata to query and decrypt identity content by identityid and vdxfkey.
definecurrencyDefine a new currency on the blockchain. Creates a signed transaction that defines the currency — the transaction is NOT broadcast automatically. The returned `hex` field must be passed as the `hexstring` parameter to sendrawtransaction (in chain-mcp) to actually launch the currency. Supports simple tokens (options: 32), fractional basket currencies (options: 33), centralized tokens (proofprotocol: 2), ID control tokens (options: 2080), and Ethereum ERC-20 mapped tokens (proofprotocol: 3). A VerusID with the same name must exist, be controlled by the wallet, and have sufficient funds to pay th…
estimateconversionEstimate the output of converting one currency to another, accounting for pending conversions, fees, and slippage. Does not broadcast a transaction — this is a read-only estimate. Use this before sendcurrency with convertto to preview the expected output. Can estimate a single conversion or an array of conversions using the same basket. IMPORTANT: when both source and destination currencies are reserves of a fractional basket (neither is the basket itself), you MUST specify "via" with the basket name — use getcurrencyconverters to find valid baskets. For more options (getcurrencyconverters fil…
getaddressesbyaccountList all transparent addresses for an account. In Verus, the default account is "" (empty string). Returns an array of R-addresses associated with the account. Use this to see all transparent addresses the wallet has generated.
getblockcountGet the current block count (height of the longest chain). Returns a single number — the most lightweight way to check the current block height. Use this for polling block progress, such as waiting for a name commitment to confirm before calling registeridentity.
getcurrencyGet the full definition and current state of a currency. Returns the currency's configuration (reserves, weights, fees, preallocations, eras) and its latest on-chain state (supply, reserve balances, conversion prices). Use this to check if a currency exists, understand its structure (simple token vs. fractional basket), read current reserve ratios and conversion prices before performing conversions, or look up registration fees before registering identities or defining currencies on a specific chain. Fee interpretation: idregistrationfees is the fee amount. For basket currencies, if idimportfe…
getcurrencybalanceGet multi-currency balances for a specific address. Returns all currency balances held at the address, including the native chain currency and any reserve/token currencies. Supports transparent addresses, private (z) addresses, VerusIDs, and wildcard patterns. Use this for detailed per-address multi-currency holdings. For a quick overview of the wallet's total native balance, use getwalletinfo in chain-mcp instead.
getcurrencyconvertersFind fractional basket currencies that can convert between specified currencies. Returns all baskets that hold the listed currencies as reserves, along with their current state (reserves, prices, conversion volumes). Use this to discover conversion paths before calling estimateconversion or sendcurrency with convertto. Two input modes: simple (pass currency names) or advanced (pass a query object with target conversion details).
getidentityLook up a VerusID by name or i-address. Returns the identity's current state including primary addresses, signing authorities, content data (contentmultimap), revocation/recovery authorities, and wallet relationship (canspendfor/cansignfor). Optionally retrieve the identity as it existed at a specific block height. Use this to check if an identity exists, inspect its configuration, or verify wallet authority before performing write operations.
getidentitycontentGet identity content/data with optional VDXF key filter and height range. Returns the cumulative content state — all content across all updates within the specified range. Unlike getidentityhistory, this does not return per-revision snapshots. Use this to read structured data stored on an identity (profiles, timestamps, application data) without needing to process the full revision history.
getidentityhistoryGet the full revision history of a VerusID. Returns an array of identity snapshots, one per update transaction. Each entry shows the identity state as it was set in that specific transaction, along with the block hash, height, and transaction details. Use this to audit changes to an identity over time — primary address changes (transfers), content updates, authority changes, etc. Note: each history entry's contentmultimap shows only the content set in that specific update, not the cumulative state.
getinfoGet blockchain and node information for a running chain. Returns version, block height, connections, difficulty, sync status, and fee configuration. Use this to check whether a daemon is running and synced before performing operations on that chain.
getnewaddressGenerate a new transparent (R-address) for receiving payments. Use this to create fresh addresses for identity primaryaddresses, change addresses, or destination addresses. Each call generates a unique address from the wallet's keypool.
getoffersGet all open offers for a specific currency or identity. Returns both buy and sell offers — offers of the asset and offers for the asset. Use iscurrency to switch between currency offers and identity offers. Response keys are dynamic and generated by the daemon based on the queried asset — parse them dynamically. Use this to discover what's available on the market before making or taking offers.
Show 34 more tools
gettransactionGet detailed information about a wallet transaction by transaction ID. Returns amounts, confirmations, block info, and detailed input/output breakdowns including reserve transfers and multi-currency details. The transaction must be in the node's wallet.
getvdxfidGet the VDXF key ID from a URI string. Converts a human-readable VDXF URI (e.g., "vrsc::system.currency.export") into its on-chain i-address representation. Optionally combine with additional data (another VDXF key, a 256-bit hash, or an index number) to derive bound keys. Use this to resolve VDXF key names to i-addresses before querying getidentitycontent with a vdxfkey filter.
getwalletinfoGet wallet state for a running chain. Returns balances (confirmed, unconfirmed, immature, staking-eligible), reserve currency balances, transaction count, and key pool status. Use this for a quick overview of wallet health and native + reserve currency holdings. Note: reserve_balance is an object keyed by currency name, showing all non-native currencies held in the wallet.
helpGet daemon documentation for any RPC command. With no command argument, returns a list of all available RPCs grouped by category. With a command name, returns detailed usage including parameters, types, and examples. Use this when an agent needs to understand an RPC that isn't exposed as an MCP tool, or to check exact parameter formats before constructing a complex call.
listcurrenciesList and search currencies registered on the blockchain. Returns an array of currency definitions with their current state. Supports filtering by launch state, system type, source system, and converter reserves. Without a query object, returns all currencies on the local chain. Use filters when possible — unfiltered queries on mainnet can return very large result sets.
listidentitiesList VerusIDs in the local wallet. Returns all identities that this wallet can spend for, sign for, or watch. Use this to discover which identities are available before performing identity operations. By default includes identities we can spend for and sign for, but not watch-only.
listopenoffersList open offers from the current wallet. Shows what this wallet has offered on-chain. Can filter by expired/unexpired status. Use this to check the status of offers the agent has created, or to find offers that need to be closed.
listtransactionsList recent wallet transactions with pagination. Returns an array of transactions including sends, receives, and multi-currency operations. Each entry includes amounts, confirmations, block info, and — for multi-currency transactions — token amounts and reserve output details. Results are returned most-recent-last.
makeofferCreate a new on-chain atomic swap offer. Offers are fully decentralized — no intermediary, no escrow. The offer transaction locks the offered asset on-chain until the offer is taken, expires, or is closed. Supports currency-for-currency, currency-for-identity, identity-for-currency, and identity-for-identity swaps. For currency offers, use {"currency": "name", "amount": n}. For identity offers (without control tokens), use {"identity": "name@"} or a full identity definition. If an identity has a control token (flags: 5), offer/request the control token as a currency instead: {"currency": "idna…
recoveridentityRecover a revoked or compromised identity. Only the recovery authority (or token recovery authority) can perform this. Typically used to set new primary addresses after a key compromise, effectively transferring control to new keys. Pass the full identity definition with the desired recovery state (new primary addresses, etc.). Always include "parent" in the identity definition. PRIVATEADDRESS BEHAVIOR: Omit privateaddress entirely to preserve the existing one (carried over). Pass null to clear/remove it. Include a new zs1... address to change it. Empty string "" does NOT clear — daemon treats…
refresh_chainsRe-run chain discovery and rewrite the chain registry file. Call this after starting a new daemon, stopping a daemon, or when the registry appears stale. Discovery scans OS-appropriate data directories for .conf files, parses them, and calls getinfo on each discovered chain to confirm it's running. PBaaS chains with hex-encoded folder names are resolved to friendly names via the VRSC daemon. The updated registry is written atomically. Available in read-only mode.
registeridentityStep 2 of identity registration. Uses a confirmed name commitment to register the identity on-chain. The commitment must have been mined (wait 1 block after registernamecommitment). The tool checks for saved commitment data from a previous registernamecommitment call — if available, the agent does not need to pass the commitment details manually. On successful registration, the saved commitment file is cleaned up. IDENTITY DEFINITION: Keep it minimal — only include fields you are explicitly setting to non-default values. Omit revocationauthority/recoveryauthority to default to self. TIMELOCK: …
registernamecommitmentStep 1 of identity registration. Creates a name commitment transaction that reserves a name without revealing it. The commitment hides the name itself while ensuring miners cannot front-run the registration. After this tool succeeds, wait 1 block before calling registeridentity (step 2). The commitment data is saved to disk so it persists across conversations — if a session ends before registration, the next session can pick up the commitment. Names must not have leading, trailing, or multiple consecutive spaces and must not include: \ / : * ? " < > | @
revokeidentityRevoke an identity, making it unable to spend funds or sign transactions. Only the revocation authority (or token revocation authority) can perform this action. A revoked identity can only be restored by the recovery authority using recoveridentity. This is a safety mechanism — use it if the identity's private keys are compromised.
sendcurrencySend, convert, or cross-chain transfer currency. This is the primary tool for moving value on Verus. Supports simple sends, currency conversions through fractional baskets, cross-chain transfers, currency/ID exports, minting, burning, and data storage. Returns an operation ID (opid) — poll z_getoperationstatus with the opid to check for completion and get the resulting transaction ID. If returntxtemplate is true, returns the raw transaction template instead of broadcasting. IMPORTANT: when converting between two reserve currencies (neither is the basket itself), you MUST include "via" with the…
sendrawtransactionBroadcast a signed raw transaction to the network. Takes a hex-encoded signed transaction and submits it to the local node, which relays it to the network. Returns the transaction hash (txid) on success. This is the companion to definecurrency — definecurrency returns a signed hex that must be broadcast here. Also used for any pre-signed transaction hex.
setidentitytimelockSet or modify a timelock on a VerusID. Timelocking restricts when an identity can spend funds on this chain. This only affects the identity on the current chain. Two modes: - setunlockdelay: Set a delay (in blocks) that must pass after an unlock request. Sets flags=2 (delay lock active), timelock=N (the delay in blocks). The identity cannot spend until an unlock is triggered and the delay passes. - unlockatblock: Set an absolute block height at which the identity unlocks. When used with unlockatblock=0 on a delay-locked identity (flags=2), it TRIGGERS the unlock countdown — the daemon conver…
signdataSign data with a VerusID or transparent address. Generates a hash of the provided data and signs it. Supports multiple input modes (message, file, hex, base64, pre-computed hash, vdxfdata) and hash algorithms (sha256, sha256D, blake2b, keccak256). Can sign a single piece of data or build a Merkle Mountain Range (MMR) over multiple items. For multi-sig identities, pass an existing partial signature to accumulate signatures. Can also encrypt data to a z-address via encrypttoaddress — returns both plaintext and encrypted versions with an SSK for selective disclosure. Supports vdxfdata input — as …
signrawtransactionSign inputs of a raw transaction. Takes a hex-encoded transaction and signs it with keys available in the wallet (or with explicitly provided private keys). Returns the signed hex and whether all inputs are fully signed. Use this for multisig workflows where multiple parties need to sign. For definecurrency in the normal single-signer case, the hex is returned already signed — signrawtransaction is not needed.
statusCheck registry freshness and daemon reachability. Use this to verify chain health before starting a workflow, or to debug why calls to other MCPs are failing. Without a chain parameter, returns an overview of all registered chains. With a chain parameter, returns detailed status for that specific chain.
stopStop a running daemon. This shuts down the daemon process for the specified chain entirely — ALL connected clients, MCP servers, CLI users, and applications connected to this daemon will lose connectivity. This is not a per-session disconnect; it terminates the daemon. After stopping, the chain will no longer be reachable. Consider calling refresh_chains after stopping so other MCPs see the updated state.
takeofferAccept an existing on-chain offer. Creates and posts a transaction that atomically executes the exchange — both sides swap in a single transaction, or neither does. The offer transaction must have at least 1 confirmation before it can be taken. Before taking, verify the offer hasn't expired by checking blockexpiry against current block height. deliver is what you give, accept is what you get. For currency: deliver {"currency": "name", "amount": n}, accept {"address": "addr", "currency": "name", "amount": n}. For identity: deliver "name@" (string), accept is full identity definition with parent…
updateidentityUpdate an identity's fields — primary addresses, content, authorities, or any other mutable property. The wallet must hold authority to update (either primary authority, or token authority if tokenupdate is true). Pass the full identity definition with the desired changes. Fields not included revert to defaults — to preserve existing values, first read them with getidentity and include them in the update. Always include "parent" in the identity definition. PRIVATEADDRESS BEHAVIOR: Omit privateaddress entirely to preserve the existing one (carried over). Pass null to clear/remove it. Include a …
validateaddressValidate an address and return detailed information about it. Returns whether the address is valid, whether it belongs to this wallet (ismine), the address type, and associated metadata. Use this to verify addresses before sending funds, or to check if a given address is controlled by the local wallet.
verifysignatureVerify a signature produced by signdata. Checks that the signature is valid for the given data and identity/address. Returns signaturestatus: "verified" or "invalid" — always check this field. By default, validates against the identity's keys at the block height stored in the signature — use checklatest to verify against the identity's current keys instead.
verusdStart a Verus daemon instance. This is a system command that spawns a new process — it is NOT an RPC call to an existing daemon. The daemon runs independently of this MCP server (detached process). After starting, the tool waits briefly and verifies the daemon launched successfully via getinfo. Call refresh_chains after a successful start so other MCPs can discover the new daemon.
z_exportviewingkeyExport the extended viewing key (EVK) for a shielded address. The viewing key allows decryption of all data encrypted to this z-address without granting spending authority. Share it to grant read-only access. Pass the returned key as the evk parameter to decryptdata.
z_getnewaddressGenerate a new shielded Sapling address (zs-address) for private transactions. Use this to create addresses for identity privateaddress fields or private sends. Each call generates a unique shielded address.
z_getoperationstatusCheck the status of async operations. Returns status, result, and timing for one or more operations. Operations remain in memory after completion — call this to retrieve results. This is the companion tool to sendcurrency, which returns an operation ID that must be polled here to get the transaction ID. Without operationids, returns all operations known to the node.
z_importviewingkeyImport a viewing key to enable decryption of data encrypted to another z-address. Grants read-only access without spending authority. The key can be obtained from z_exportviewingkey. After import, decryptdata can decrypt data encrypted to that address without passing the key explicitly. Note: rescan can take minutes if scanning a large block range.
z_listaddressesList all shielded (Sapling) addresses in the wallet. Returns an array of zs-addresses. Use this to see all shielded addresses available for private transactions, or to find an existing shielded address for use as an identity privateaddress.
z_listreceivedbyaddressList transactions and data received at a shielded (z) address. Data transactions appear with amount: 0 and a memo containing the data descriptor (a JSON object keyed by the VDXF datadescriptor address). Use this as step 1 of the data retrieval pipeline: list received data, then pass the descriptor to decryptdata. Value transactions appear with their amount and standard memo.
z_validateaddressValidate a shielded (Sapling) z-address and return detailed information. Returns whether the address is valid, whether it belongs to this wallet (ismine), the address type, and key components (payingkey, transmissionkey, diversifier). Use this to verify z-addresses before sending funds or data, or to check if a z-address is controlled by the local wallet. Complements validateaddress, which only works for transparent (R/i) addresses.
z_viewtransactionView detailed shielded transaction information including spends and outputs for a z-transaction in the wallet. Shows addresses, amounts, memos, and output indices. Useful for inspecting data-carrying transactions to understand their structure before decryption.
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit
- May 10, 2026 (5 months ago)
- Last release
- May 10, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.vdappdev2/send- Version
- 0.1.7
- Auth
- No auth
- Packages
- npm @verusidx/send-mcp
- License
- MIT
- Repository
- github.com/vdappdev2/verusidx-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from vdappdev2
- 0.524score
Chain
vdappdev2
Foundation MCP server — chain discovery, daemon management, health checks, raw transactions
ConnectorCFreshness: CLocal★ 2Claude Code +5 - 0.514score
Identity
vdappdev2
MCP server for VerusID identities — register, update, revoke, recover, query, set timelock
ConnectorCFreshness: CLocal★ 2Claude Code +5 - 0.514score
Marketplace
vdappdev2
MCP server for Verus on-chain marketplace — create, browse, accept, and close offers
ConnectorCFreshness: CLocal★ 2Claude Code +5 - 0.514score
Address
vdappdev2
MCP server for Verus addresses — generate, validate, list transparent and shielded addresses
ConnectorCFreshness: CLocal★ 2Claude Code +5 - 0.514score
Data
vdappdev2
MCP server for Verus on-chain data retrieval, decryption, signing, and verification
ConnectorCFreshness: CLocal★ 2Claude Code +5 - 0.514score
Definecurrency
vdappdev2
MCP server for defining Verus currencies — tokens, fractional baskets, centralized, ERC-20 mapped
ConnectorCFreshness: CLocal★ 2Claude Code +5
Cite this page
Send MCP server. Agent Mart. https://agentmart.dev/connectors/vdappdev2-send (last updated 2026-10-24)