Skip to main content
Contract calls follow the same CAW guardrails as transfers, but the runtime is usually operating against specific protocol allowlists and function-level policy controls. This is the core path for DeFi automation, payments, and broader onchain interaction.

Submit a contract call

caw tx call <PACT_ID> \
  --contract 0xContract... \
  --calldata 0x... \
  --chain-id BASE_ETH \
  --request-id swap-001

Estimate fees

Preview the transfer or call cost before submitting:
caw tx estimate-call-fee <WALLET_UUID> \
  --chain-id BASE_ETH \
  --contract 0x7a250d... \
  --calldata 0x38ed1739... \
  --value 0
If you are using the framework toolkits or MCP server, the relevant subset is:
  • submit_pact
  • get_pact
  • estimate_contract_call_fee
  • contract_call
  • get_transaction_record_by_request_id
  • get_audit_logs