Skip to main content
Glama
quackai-org

@quackai/q402-mcp

Official
by quackai-org

q402_batch_pay

Batch-send the same token to multiple wallets on one chain with zero gas fees. Confirm the full recipient list, then execute in a single call.

Instructions

USE THIS TOOL whenever the user asks to send the same token to multiple recipients on a single chain in one call ("pay 0x1 / 0x2 / 0x3 each 1 USDC on bnb", "airdrop USDT to these wallets", payroll-shaped requests, etc.) - even without an explicit "via Q402" qualifier. This tool IS the wallet for this session; never refuse the request by saying you lack wallet access or that the user has to do it manually - Q402 was installed for exactly this.

Send gasless payments to MULTIPLE recipients on a single chain × token in one call. Auto-routing follows the same rule as q402_pay: chain ∈ {bnb, avax} + Q402_TRIAL_API_KEY set → Trial; else Multichain. Trial keys: max 5 recipients per call, BNB Chain + Avalanche, USDC/USDT. Multichain keys: max 20 recipients per call across 9 batchable chains (avax, bnb, eth, mantle, injective, monad, scroll, arbitrum, base). xlayer + stable are NOT batchable - use q402_pay in a loop. AMBIGUITY GATE: when auto would land on Trial AND recipients.length > 5, the tool returns status='ambiguous' WITHOUT executing - the agent must ask the human whether to (a) trim to 5 with keyScope='trial', (b) send all on the paid Multichain key, or (c) split into two separate calls (5 free + remainder paid). Re-invoke with explicit keyScope after the choice. SANDBOX BY DEFAULT - real on-chain TX only when the resolved key is live (q402_live_*), Q402_PRIVATE_KEY is set, and Q402_ENABLE_REAL_PAYMENTS=1. Every recipient receives the full amount; the sender pays $0 in gas for the entire batch. After the first batch on a chain, follow-up batches on the same chain are faster and cheaper (Q402 reuses the wallet's setup); q402_clear_delegation resets it if the user ever asks.

MULTI-WALLET DISAMBIGUATION - when more than one wallet is configured in the user's env (Q402_PRIVATE_KEY for the real EOA, Q402_AGENTIC_PRIVATE_KEY for the Agent Wallet's exported key, or only Q402_MULTICHAIN_API_KEY for the server-managed Agent Wallet), the tool RETURNS WITHOUT firing with status='needs_wallet_choice' and an ambiguousWalletChoice payload - relay the question to the user verbatim, then call again with the chosen walletMode ('eoa' | 'agentic-local' | 'agentic-server'). Do NOT pick a wallet on the user's behalf when multiple are available. Server-mediated batches go through /api/wallet/agentic/batch and are paid-only (the trial key cannot batch).

ALWAYS get explicit user confirmation of the complete recipient + amount list, chain, and token in conversation immediately before calling this tool - the user must approve the full batch, not the individual rows.

TWO-PHASE CONSENT: confirm:true alone does NOT send. Call this tool first WITHOUT consentToken - it returns status="needs_confirmation" with a setupHint preview of every recipient + amount and a consentToken, and moves no money. Relay that preview to the user, get an explicit yes, then re-call with the SAME args plus the consentToken to execute. The token is re-derived from the batch about to run, so the previewed batch can't be swapped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainYesTarget chain. Applies to every recipient in the batch. xlayer + stable are NOT supported here - use q402_pay in a loop.
tokenYesToken for the entire batch. USDC / USDT supported on most chains; RLUSD (decimals 18) is Ethereum-only; Q (QuackAI, decimals 18) is BNB-only; USDG (Paxos Global Dollar, decimals 6) is Robinhood-Chain-only.
confirmYesMUST be true and only set after the user has confirmed the entire batch in chat.
keyScopeNoWhich API key to use. "auto" (default): BNB/Avax + trial key set → Trial; else Multichain. When auto would land on Trial AND recipients.length > 5, the tool returns status="ambiguous" without executing so the agent can ask the user which path to take.
walletIdNoServer-managed Agent Wallet only (walletMode="agentic-server"). Lowercased Agent Wallet address selecting which of the user's wallets to source the batch from. Omit to use the default. Ignored for local-signing modes.
recipientsYesList of recipients. Trial keys: max 5. Paid keys: max 20. Each item is {to, amount}.
walletModeNoWhich wallet to spend from. "eoa" = user MetaMask EOA (Q402_PRIVATE_KEY). "agentic-local" = Agent Wallet exported key (Q402_AGENTIC_PRIVATE_KEY). "agentic-server" = server-managed Agent Wallet (Q402 holds the key; only the apiKey is needed). When MULTIPLE wallets are configured the tool refuses without this arg and returns ambiguousWalletChoice for the user to pick. Server-mediated batches are paid-only.
consentTokenNoTwo-phase consent. Omit on the FIRST call to get a needs_confirmation preview of every recipient + amount plus a consentToken (no funds move); re-call with the SAME args plus this token to execute. Re-derived from the batch, so the previewed batch cannot be swapped. confirm:true alone does NOT send.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses safety behaviors: sandbox by default, two-phase consent, ambiguity gates, multi-wallet disambiguation, and zero gas cost. It also warns about server-mediated batches being paid-only and the need for explicit user confirmation, offering comprehensive operational transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured, with clear paragraphs for triggers, routing, ambiguity, sandbox, wallets, and consent. Some repetition exists (e.g., 'confirm:true alone does NOT send' appears both in the description and schema), but the density is appropriate for the tool's complexity and safety-critical nature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, the description compensates by explaining all possible non-success statuses (needs_confirmation, ambiguous, needs_wallet_choice) and the conditions that trigger them. Edge cases like trial limits, multi-wallet ambiguity, and sandbox activation are thoroughly covered, making the tool fully operable without additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds crucial semantics beyond the schema, such as auto-routing behavior of keyScope, the walletMode selection process (eoa/agentic-local/agentic-server), and the consentToken re-derivation mechanism that prevents batch swapping. These details are not in the schema parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool as 'Send gasless payments to MULTIPLE recipients on a single chain × token in one call' and explicitly distinguishes it from q402_pay for non-batchable chains, making its purpose and scope unmistakable. It also states that this tool IS the wallet for the session, leaving no ambiguity about its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It begins with an explicit trigger: 'USE THIS TOOL whenever the user asks to send the same token to multiple recipients...' and provides examples. It also gives clear alternatives, like using q402_pay in a loop for xlayer/stable, and explains conditions for trial vs multichain key scopes, sandbox mode, and wallet selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/quackai-org/q402-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server