c8ntinuum EVM transactions use standard Ethereum transaction construction, signing, raw-transaction encoding, broadcasting, and receipt polling. Use eth_sendRawTransaction to submit an offline-signed withdrawal. The JavaScript and Java examples below are excerpted from compile-tested samples. See Tested Exchange Examples.

Online and offline split

Never move private keys to the online broadcasting host. Move only unsigned transaction data into the signer and signed raw transactions out of it. The examples below run the online and offline steps in one process for brevity. In production, run only the signing step, with the private key, on the isolated signer or HSM, and pass it the unsigned transaction fields that the online host prepared.

Transaction fields

JavaScript

Java

Go

Rust

Dependencies: alloy 2.x with default features, tokio with the macros and rt-multi-thread features, and eyre. Set FROM_ADDRESS to the sender address and PRIVATE_KEY to its key.

Signed data analysis

Before broadcasting, decode the raw signed transaction and verify:
  • chainId is 8 for mainnet or 8888 for testnet.
  • from matches the expected hot wallet, withdrawal wallet, HSM key, or custody account.
  • nonce matches the reserved nonce in your withdrawal database.
  • to, value, and data match the approved withdrawal instruction.
  • ERC-20 withdrawals call transfer(address,uint256) on the intended token contract.
  • Gas fields satisfy your policy and are not extreme.
  • The raw transaction hash is stored before broadcast.

Broadcasting and polling

Broadcast with eth_sendRawTransaction, then poll eth_getTransactionReceipt by hash until one of these happens: Store every raw transaction, decoded transaction, broadcast hash, receipt, and replacement attempt for auditability.