paybox_request_transfer, including
Circle USDC, native ETH/SOL, and reviewed catalog tokens. Read the current tool
schema and portfolio before every request; do not reuse a stale schema or
invent a fallback path.
On full-profile OAuth, a current workspace member can use this live tool through
the workspace owner’s active PayBox connection. The member remains the audited
actor. This does not expose owner-only legacy proposal tools or connection
management and does not broaden the exact transfer the member authorized.
Arguments for paybox_request_transfer
How Mermail reads the amount
Mermail resolves the asset’s decimals, convertsamount_decimal to the smallest
unit, and sends that to PayBox.
- Circle USDC and chain native assets come from a built-in table.
- Any other token is resolved through the pricing source (the DefiLlama coins API), cached briefly, and memoized once known.
- If the lookup fails, Mermail falls back to the built-in table.
- If no source can prove the decimals, Mermail rejects
amount_decimaland asks for base units inamountinstead. That is the only case whereamountis the right field.
Value guards
The same resolved price protects against a scale mistake reaching the chain.
The dust floor only fail-closes on a trusted quote (DefiLlama, including a
recent memoized price, or a proven portfolio price). An ambiguous portfolio
balance, or no price at all, fails open — so the amount still has to be
correct.
Finishing the signature
paybox_request_transfer and an explicitly requested legacy
submit_agent_wallet_transfer can both require PayBox interaction. Neither
returns a signing plan or approval URL to a model. Those stay browser-only.
- Through MCP, prefer the host-rendered PayBox MCP App. If it is unavailable or
remains on Waiting without a usable action, paste one returned
invocation-scoped
signing_handoff.console_url. Never ask the user to paste a key or signature and never construct the URL from mailbox/invocation ids. - In Agent Chat, the response carries
next_step: "finish_signing_in_paybox_transfer_widget"and the user signs in the PayBox widget shown in the conversation.
paybox_get_request.
get_paybox_invocation is MCP audit state, not settlement evidence. Do not poll
in a loop or restart the transfer to check status.
Errors and recovery
What each transfer error code means and the safe way to recover.