Skip to content

Wallet transactions

Wallet send calls ask a wallet to execute one or more chain calls.

Type ID: xmtp.org/walletSendCalls:1.0. The payload is a WalletSendCalls protobuf. It has no fallback. shouldPush defaults to true on Browser, Node, and Kotlin. Swift does not include this codec.

FieldMeaning
versionWallet call protocol version
chainIdHex chain ID, such as 0x1
fromSender account
callsCalls for the wallet to execute
capabilitiesOptional wallet capability requests

Each call contains a target address, optional value, call data, and optional metadata. After execution, send a transaction reference so the conversation can follow the result.

Call fieldMeaning
toTarget address
valueOptional native token value
dataEncoded call data
gasOptional gas limit
metadataOptional display metadata
Metadata fieldMeaning
descriptionHuman-readable action
transactionTypeOperation, such as transfer or lend
currencyAsset symbol
amountAmount in the asset’s smallest unit
decimalsAsset decimal places
toAddressOptional displayed recipient
platformOptional protocol or application
apyOptional displayed yield

The Agent SDK also provides getERC20Decimals, getERC20Balance, createERC20TransferCalls, and validHex helpers.