RPC method

eth_sendRawTransaction on MegaETH

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_sendRawTransaction on MegaETH through the same endpoint customers use, and is re-measured weekly.

What eth_sendRawTransaction does

Submits a signed transaction to the network and returns its hash. The node checks the signature, chain ID, nonce and balance first, and returns an error string instead of a hash when any check fails, which is the text your app has to handle.

Errors MegaETH returns, word for word

We submitted three transactions that must fail, signed by a new, empty key (nothing was spent). These are the messages your app receives in those situations.

EIP-1559 transfer from an empty accountGas limit too low. Intrinsic: 60000
Legacy transaction signed without a chain ID (pre-EIP-155)EIP-155 protection required
Truncated bytes ("0x02f8")failed to decode signed transaction

How to read them

MegaETH's nodes refuse transactions without a chain ID ("EIP-155 protection required"), so old signing code that omits it fails here.

Send the same signed bytes again only if you never got a hash back: a second submission of an accepted transaction returns an "already known" style error, not a second transaction, and a transaction with the same nonce but a higher fee replaces it.

Example request

curl -s https://rpc.swiftnodes.io/rpc/megaeth?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_sendRawTransaction","params":["0x02f8..."]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.swiftnodes.io/rpc/megaeth?key=YOUR_API_KEY"),
});

try {
  const hash = await client.sendRawTransaction({ serializedTransaction: signed });
  const receipt = await client.waitForTransactionReceipt({ hash });
} catch (e) {
  const msg = String(e?.details ?? e?.message);
  if (/insufficient funds/i.test(msg)) { /* ask the user to top up */ }
  else if (/nonce too low|already known/i.test(msg)) { /* already sent: look up by hash */ }
  else throw e;
}

Other methods on MegaETH

eth_sendRawTransaction on other chains

Frequently asked questions

Does MegaETH support eth_sendRawTransaction?

Yes. eth_sendRawTransaction answered on the SwiftNodes MegaETH endpoint when our weekly probe called it through the customer path (2026-10-13).

Does MegaETH accept transactions without a chain ID?

No. It answered "EIP-155 protection required".

MegaETH endpoints, live block height and WebSocket status are on the MegaETH RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.