Sign transactions, sign messages, and manage wallets via MoonPay. Use when an agent needs to sign unsigned tx JSON from other CLIs, sign EIP-712 typed data (e.g. Permit2), or broadcast signed transactions.
The signer and wallet layer. Other CLIs build unsigned transactions — MoonPay signs and broadcasts them.
moonpay wallet create --network polygon
moonpay wallet list
moonpay wallet retrieve --wallet-id <id>
moonpay wallet delete --wallet-id <id>
Sign an unsigned transaction (from any protocol CLI):
moonpay transaction sign \
--wallet-id <id> \
--to 0xContractAddress \
--data 0xCalldata \
--value 0 \
--chain-id 137
Broadcast a signed transaction:
moonpay transaction send --wallet-id <id> --signed-tx 0xSignedTx
List and retrieve past transactions:
moonpay transaction list --wallet-id <id>
moonpay transaction retrieve --transaction-id <id>
Sign a plain message:
moonpay message sign --wallet-id <id> --message "hello"
Sign EIP-712 typed data (e.g. Permit2 from Uniswap):
moonpay message sign --wallet-id <id> --typedData '{"domain":{},"types":{},"values":{}}'
Returns { "signature": "0x..." }.
{ to, data, value, chainId }) from other CLIs and signs + broadcasts it.permitData object from uniswap quote directly to moonpay message sign --typedData.wallet-id used in all signing operations.transaction sign returns a signed tx hex → transaction send broadcasts it. Some flows combine these.