Bands
| Band | What it includes | Typical use |
|---|---|---|
read | balances, prices, fee quotes, asset resolution, transaction queries | safe default |
prepare | transaction preparation tools | prepare transactions before signing or execution |
sign | local OWS wallet and signing tools | local detached signing |
broadcast | local OWS sign-and-send | execute on-chain actions |
Token-transfer pattern
When you are working with token transfers, use this order:- Call
resolve_assetwith the chain and a token symbol, name, or contract - Choose the intended candidate
- Pass the selected
tokenContractinto the transaction-preparation step
Read Tools
get_balance
What it does: Returns the native balance for one address on one chain.
Band: read
Required inputs:
addresschain
fiat(defaults toUSD)
Check the native balance for 0x... on ethereum.
get_all_balances
What it does: Returns native and token balances for one address on one chain.
Band: read
Required inputs:
addresschain
fiat(defaults toUSD)assetIdsincludeNative(defaults totrue)
Show all balances for 0x... on ethereum.
get_price
What it does: Returns the current price for a token by symbol or by contract address.
Band: read
Required inputs:
- either
symbol - or both
contractAddressandchain
base(defaults toUSD)
What's the price of ETH?
get_fee_quote
What it does: Estimates the network fee for a native or token transfer before execution.
Band: read
Required inputs:
chainfromtoamountWei
tokenContractmemofiat
Estimate the fee to send 1000000 smallest-unit USDC from 0x... to 0x... on ethereum.
resolve_asset
What it does: Resolves a token symbol, name, or exact contract into one or more chain-specific asset candidates.
Band: read
Required inputs:
chain- exactly one of
tokenContract,symbol, orname
limit(defaults to5, max10)
unique, ambiguous, or not_found.
Example prompt: Resolve USDC on ethereum so I can prepare a transfer.
get_tx_status
What it does: Returns the status of one transaction hash on one chain.
Band: read
Required inputs:
hashchain
PENDING, SUCCEEDED, FAILED, or UNKNOWN.
Example prompt: What's the status of transaction 0x... on ethereum?
get_tx_history
What it does: Returns recent transaction history for one address on one chain.
Band: read
Required inputs:
addresschain
limit(defaults to10, max50)
Show me the last 10 transactions for 0x... on ethereum.
Prepare Tools
prepare_transfer
What it does: Prepares a structured transfer request for later execution.
Band: prepare
Required inputs:
chainfromto- either
amountoramountWei
symboltokenContractnoncemaxPriorityFeePerGasWeipriorityFeeMultiplier
- provide either
amountoramountWei, never both - token transfers require
tokenContract - if you only know the token symbol or name, resolve it first with
resolve_asset
Prepare a transfer of 1 ETH from 0x... to 0x... on ethereum.
prepare_serialized_unsigned_tx
What it does: Prepares signing-ready raw unsigned transaction hex for local OWS signing or local OWS broadcast.
Band: prepare
Required inputs:
chainto- either
walletNameorfrom - either
amountoramountWei
walletNamefromsymboltokenContractnoncemaxPriorityFeePerGasWeipriorityFeeMultiplier
- provide either
amountoramountWei, never both - token transfers require
tokenContract - if you only know the token symbol or name, resolve it first with
resolve_asset - currently supports the OWS signing chains:
ethereumandtron
Prepare a signing-ready transaction to send 1 ETH from my local wallet to 0x... on ethereum.
prepare_onramp
What it does: Prepares a MoonPay on-ramp widget URL for funding a destination address or a local OWS wallet on a supported chain.
Band: prepare
Required inputs:
chain- exactly one of
addressorwalletName
currencyCode(defaults to the chain-native asset)baseCurrencyCode(required ifbaseCurrencyAmountorquoteCurrencyAmountis provided)- one of
baseCurrencyAmountorquoteCurrencyAmount lockAmount(only valid withbaseCurrencyAmount)redirectUrl(HTTPS)
- Requires MoonPay credentials on the server. If unconfigured, the call returns a structured
not_availableerror. - If
walletNameis provided, the tool resolves the chain-specific OWS address before building the widget URL.
Prepare an on-ramp to fund my treasury wallet with 500 USD on ethereum.
OWS Sign Tools
create_wallet
What it does: Creates a new local OWS wallet and derives addresses for the supported OWS chains.
Band: sign
Required inputs:
walletName
Create a wallet called treasury.
get_wallet_address
What it does: Returns the address for a named local OWS wallet on a supported OWS chain.
Band: sign
Required inputs:
walletNamechain
Get the ethereum address for my local wallet named treasury.
sign_transaction
What it does: Signs a raw unsigned transaction hex blob with a local OWS wallet.
Band: sign
Required inputs:
walletNamechainunsignedTxHex
Sign this raw unsigned ethereum transaction hex with my treasury wallet.
create_custom_policy
What it does: Registers a local OWS custom policy with declarative chain and expiry constraints, and returns the resulting policyId for later agent-key binding.
Band: sign
Required inputs:
policyName- at least one of
allowedChainsorexpiresAt
allowedChains(defaults to all OWS signing chains)expiresAt(ISO 8601; defaults to 30 days from now)maxPerTxNative,dailyNativeBudget— accepted in schema for forward compatibility; currently return an upstream-blocked error on calls that set them
Create a local OWS policy called trader-90d limited to ethereum and tron, expiring in 90 days.
create_agent_api_key
What it does: Mints a local OWS agent API key bound to a wallet (and optionally a specific policy), writes the secret token to a mode-0600 file, and returns metadata only. The raw token is never returned in chat.
Band: sign
Required inputs:
walletName
policyId(defaults to the wallet’s default policy)tokenFile(defaults to~/.walletsuite/ows-agent-token)expiryMode— one ofpolicy_default(default),one_year, orcustompolicy_defaultinherits the bound policy’s expiry exactly as stored (wallet default policy: 90 days; custom policy without explicitexpiresAt: 30 days)one_yearcaps at 365 days from creation, but never later than the bound policy’s expirycustomrequires an explicitexpiresAtthat must stay within the bound policy’s expiry
expiresAt— required only whenexpiryMode=custom
keyId, keyName, walletId, policyId, expiryMode, expiresAt), the token file path, and a nextAction hint to restart the server in agent mode with OWS_AGENT_TOKEN set from the file.
Example prompt: Create an agent API key for my treasury wallet bound to the trader-90d policy.
OWS Broadcast Tools
send_transaction
What it does: Signs and broadcasts a raw unsigned transaction hex blob with a local OWS wallet.
Band: broadcast
Required inputs:
walletNamechainunsignedTxHexconfirmBroadcast=true
- this is the destructive path
- explicit confirmation is required
- the matching RPC URL must be configured
- this works with raw unsigned transaction hex
Broadcast this unsigned ethereum transaction with my treasury wallet.