New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

walletconnect

Pair and use an EVM and/or Solana wallet via WalletConnect v2. No authentication required — available to every user (including unauthenticated/anonymous). Non-custodial: the server never holds keys and the user approves every signature/transaction in their own wallet. Pairing proposal is controll...

SERVER1inch MCP SOURCEhttps://api.1inch.com/mcp/protocol
Critical RISK CLASS
Category Financial
Parameters 101 required
Recommended Approval-gatedsee the rule below
Registry record Grade F, identity unverified Pull the record →

This record as markdown: /tools/com-1inch-business-mcp/walletconnect.md

What walletconnect does on 1inch MCP

AI agents use walletconnect to commit financial operations through 1inch MCP, usually the final step of a payment, billing, or trading workflow. A call moves real money.

ParameterTypeRequiredDescription
tx object Required when action is "send_transaction". EVM or Solana shape — see `tx` field descriptions. Omit for connect, status, sign, disconnect.
action string Yes Required. One of: connect (start pairing), status (session info), sign (EVM + Solana WC methods), send_transaction (EVM eth_sendTransaction or Solana solana_sig
method string Required when action is "sign". EVM: personal_sign | eth_signTypedData_v4. Solana: solana_signMessage | solana_signTransaction. Omit for connect, status, send_t
params array Required when action is "sign": exactly two items. personal_sign: [message, 0xAddress]. eth_signTypedData_v4: [0xSigner, typedDataJsonString]. solana_signMessag
address string Optional; only with action "accept_terms". EVM address that signs the Terms-of-Use acceptance; must belong to the active WalletConnect session. When omitted, th
chainId integer Optional; only when action is "sign" and method is personal_sign (EVM numeric chain id). Must be omitted for eth_signTypedData_v4, Solana methods, send_transact
pairingTarget string Optional; only with action "connect". What to advertise in the WalletConnect proposal: "eth" (eip155 only, default), "solana" only, or "both". Many mobile walle
solanaChainId string Optional; only when action is "sign" and method is solana_signMessage or solana_signTransaction. CAIP-2 string (e.g. solana:5eykt4…). When omitted, the server u
sessionTtlDays integer Optional; only with action "connect". How long to persist this WalletConnect client state in Redis (days). Server clamps to [1, WALLETCONNECT_SESSION_TTL_DAYS_M
walletSessionToken string Optional durable token for ANONYMOUS (unauthenticated) sessions. A fresh token is returned by `connect`; store it and pass it back on status/sign/send_transacti

Parameters from the server's own tool schema.

Why walletconnect is rated Critical

This tool facilitates wallet pairing and transaction/signature workflows. Even though it is non-custodial and requires user approval, it directly orchestrates financial transactions (swaps, limit orders, cross-chain transfers) on EVM and Solana chains. An AI agent misusing this tool could construct and present malicious transactions for user approval, leading to financial loss.

From the tool's definition Pair and use an EVM and/or Solana wallet via WalletConnect v2... the user approves every signature/transaction in their own wallet

Risk signalsHigh parameter count (17 properties) · Bulk/mass operation — affects multiple targets

Questions about walletconnect

What does the walletconnect tool do? +

Pair and use an EVM and/or Solana wallet via WalletConnect v2. No authentication required — available to every user (including unauthenticated/anonymous). Non-custodial: the server never holds keys and the user approves every signature/transaction in their own wallet. Pairing proposal is controlled per request via optional pairingTarget on action: "connect": eth (default, eip155 only), solana, or both. Many mobile wallets fail if eip155 and solana are proposed together; prefer eth or solana unless the user needs both in one session. Every call must include action (string). Connect QR (critical for assistants): On action: "connect", successful responses return (1) a resource_link to the pairing QR PNG when storage works, then (2) text JSON with pairingQrResourceUri, presentation, nextSteps, url, optional mobileDeeplinks, etc. Desktop / scan UX: surface the pairing QR first: call MCP resources/read on pairingQrResourceUri in the same MCP session as connect, then open the PNG per OS (open / xdg-open / start) or render it inline so the user can scan. Mobile / no-camera: follow nextSteps; when present, mobileDeeplinks lists HTTPS url (+ nativeUrl) per curated WalletConnect wallet so the user can open pairing without QR (presentation.mobilePreferred === "deeplinks"); links overlay WalletConnect Explorer data when Redis cache allows; otherwise curated fallbacks still work. Raw wc: (url / walletConnectLinkForUser) remains fallback if links fail to open in the host. Avoid calling connect again while pairing is still in progress unless the user must reset—duplicate calls used to invalidate the WalletConnect URI; the server now returns the same in-flight URI when Redis shows pairing pending *and* pairingTarget matches, but the wallet may still expire stale links if you wait too long. Flow: (1) connect as above. (2) User approves in the wallet (EVM only, Solana only, or both). (3) status until kind is session — optional evm / solana blocks; address/chains remain legacy EVM when EVM is connected. (4) sign / send_transaction or swap execute=true (swap execute remains EVM unless extended elsewhere). kind: "pending" on status is success — keep polling. Actions (exact JSON shapes): - connect — { "action": "connect", "sessionTtlDays"?: number, "pairingTarget"?: "eth" | "solana" | "both" } - status — { "action": "status" } (anonymous sessions include a terms block showing the connected wallet's 1inch Terms-of-Use acceptance state) - sign — EVM: personal_sign / eth_signTypedData_v4. Solana: solana_signMessage / solana_signTransaction (see schema fields params, chainId, solanaChainId). - send_transaction — EVM: tx.to, numeric tx.chainId. Solana: string tx.chainId (solana:...), tx.serializedTransaction (base64). Set tx.namespace when both WC namespaces are active and the payload is ambiguous. - accept_terms — { "action": "accept_terms", "address"?: "0x…" }. One-time per wallet: the user signs the 1inch Terms-of-Use acceptance message in their wallet (personal_sign); the consent is stored durably. Required before anonymous (unauthenticated) write actions such as aqua build_ship/build_swap. Idempotent — safe to call again; already-accepted wallets return immediately without a wallet prompt. - disconnect — { "action": "disconnect" } Anonymous durable sessions: for unauthenticated callers, connect returns a walletSessionToken. Store it and pass it back as walletSessionToken on later status / sign / send_transaction / accept_terms / disconnect so the wallet stays connected after the MCP session rotates; omit it and the session is scoped to the current MCP session only. Authenticated callers ignore the token (their WC session is scoped by org/app). Non-custodial relay; no authentication required. It is categorised as a Financial tool in the 1inch MCP MCP Server, which means it involves financial transactions. Block by default and require explicit approval.

What parameters does walletconnect accept? +

walletconnect accepts 10 parameters: tx, action, method, params, address, chainId, pairingTarget, solanaChainId, sessionTtlDays, walletSessionToken. Required: action. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on walletconnect? +

Register the 1inch MCP server in PolicyLayer and add a rule for walletconnect: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches 1inch MCP. Nothing to install.

What risk level is walletconnect? +

walletconnect is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit walletconnect? +

Yes. Add a rate_limit block to the walletconnect rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block walletconnect completely? +

Set action: deny in the PolicyLayer policy for walletconnect. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides walletconnect? +

walletconnect is provided by the 1inch MCP server (https://api.1inch.com/mcp/protocol). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on 1inch, and thousands of servers like it.

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of 1inch's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.