cast-send - Sign and publish a transaction.
cast send
[options] to [sig] [args...]
Sign and publish a transaction.
The destination (to) can be an ENS name or an address.
{{#include sig-description.md}}
{{#include ../common/transaction-options.md}}
--resend
Reuse the latest nonce of the sending account.
--create
code [sig args...]
Deploy a contract by specifying raw bytecode, in place of specifying a to address.
--async
--cast-async
Do not wait for the transaction receipt if it does not exist yet.
Environment: CAST_ASYNC
-c
confirmations
--confirmations
confirmations
Wait a number of confirmations before exiting. Default: 1
.
{{#include ../common/wallet-options.md}}
--unlocked
Send via eth_sendTransaction
using the --from
argument or $ETH_FROM
as sender.
{{#include ../common/rpc-options.md}}
{{#include ../common/etherscan-options.md}}
{{#include ../common/display-options.md}}
{{#include common-options.md}}
-
Send some ether to Vitalik using your Ledger:
cast send --ledger vitalik.eth --value 0.1ether
-
Call
deposit(address token, uint256 amount)
on a contract:cast send --ledger 0x... "deposit(address,uint256)" 0x... 1
-
Call a function that expects a
struct
:contract Test { struct MyStruct { address addr; uint256 amount; } function myfunction(MyStruct memory t) public pure {} }
Structs are encoded as tuples (see struct encoding)
cast send 0x... "myfunction((address,uint256))" "(0x...,1)"
-
Send a transaction with hex data in the
input
field of the transaction object:cast send 0x... 0x68656c6c6f20776f726c64
-
Sign an EIP-7702 authorization and attach it to a transaction from a different sender:
cast send $(cast az) --private-key <sender-pk> --auth $(cast wallet sign-auth <address> --private-key <delegator-pk>)
-
Send an EIP-7702 transaction delegating the sender to
<address>
:cast send $(cast az) --auth <address>
cast, cast call, cast publish, cast receipt, cast mktx, struct encoding