Overview
DynamicEvmWalletClient::signTransaction signs an EIP-1559 (Type 2) transaction and returns the signed RLP hex, ready to push directly to any JSON-RPC eth_sendRawTransaction endpoint. If you also want to broadcast in the same call, see sendTransaction.
Reach for signTransaction when you need the signed payload out-of-band — co-signing, custom relayers, or batched broadcasts.
Prerequisites
Build the Transaction
EvmTransaction is an immutable builder backed by BigInteger fields, so values up to uint256 round-trip without precision loss:
EIP-155 replay protection comes from chainId (already included in EIP-1559 envelopes), so you don’t need to apply the legacy v + 2 * chainId + 8 adjustment yourself.
Sign the Transaction
signedRlpHex is a 0x-prefixed hex string carrying the full signed transaction envelope — pass it directly to eth_sendRawTransaction on any RPC.
Broadcasting Yourself
If you don’t want sendTransaction to manage signing for you — for example the transaction was signed on a client and your server only needs to relay it — broadcast the signed RLP with the static EvmRpc.sendRawTransaction helper. It needs no wallet, MPC, or key shares:
Or, if you’d rather manage the JSON-RPC client yourself, push the signed RLP through web3j directly:
Common Transaction Types
ETH Transfer
Contract Interaction
Next Steps
Last modified on September 21, 2026