RPC method

eth_sendRawTransaction on World Chain

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_sendRawTransaction on World Chain 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 World Chain 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 accountTemporary internal error. Please retry, trace-id: f5b7922b154b4a0861e551c68beede25
Legacy transaction signed without a chain ID (pre-EIP-155)Temporary internal error. Please retry, trace-id: 23bb374ec7367ea117e959a04ab65c99
Truncated bytes ("0x02f8")failed to decode signed transaction

How to read them

World Chain's nodes refuse transactions without a chain ID ("Temporary internal error. Please retry, trace-id: 23bb374ec7367ea117e959a04ab65c99"), 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/worldchain?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/worldchain?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 World Chain

eth_sendRawTransaction on other chains

Frequently asked questions

Does World Chain support eth_sendRawTransaction?

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

Does World Chain accept transactions without a chain ID?

No. It answered "Temporary internal error. Please retry, trace-id: 23bb374ec7367ea117e959a04ab65c99".

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

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