Skip to main content

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 May 30, 2026