Skip to main content

eth_sendRawTransaction

Submits a raw transaction. You can create and sign a transaction externally using a library such as web3.js or ethers.js. For EIP-4844 transactions, the raw form must be the network form. This means it includes the blobs, KZG commitments, and KZG proofs. For EIP-7594 transactions, the raw format must be the network form. This means it includes the blobs, KZG commitments, and cell proofs. The logic for handling the new transaction during fork boundaries are 1. When receiving an encoded transaction with cell proofs before the PeerDAS fork activates, we reject it. Only blob proofs are accepted into the pool. 2. At the time of fork activation, the implementer could (not mandatory) - Drop all old-format transactions - Convert old proofs to new format (computationally expensive) - Convert only when including in a locally produced block 3. After the fork has activated, only txs with cell proofs are accepted via p2p relay. 4. On RPC (eth_sendRawTransaction), txs with blob proofs may still be accepted and will be auto-converted by the node. At implementer discretion, this facility can be deprecated later when users have switched to new client libraries that can create cell proofs.

Parameters (by position)

Transaction string required


Result

Transaction hash string

32 byte hex value

Match pattern: ^0x[0-9a-f]{64}$


Errors

Error code: -32700

  • code

    -32700

  • message

    Parse error

Error code: -32600

  • code

    -32600

  • message

    Invalid request

Error code: -32601

  • code

    -32601

  • message

    Method not found

Error code: -32602

  • code

    -32602

  • message

    Invalid params

Error code: -32603

  • code

    -32603

  • message

    Internal error

Error code: -32000

  • code

    -32000

  • message

    Invalid input

Error code: -32001

  • code

    -32001

  • message

    Resource not found

Error code: -32002

  • code

    -32002

  • message

    Resource unavailable

Error code: -32003

  • code

    -32003

  • message

    Transaction rejected

Error code: -32004

  • code

    -32004

  • message

    Method not supported

Error code: -32005

  • code

    -32005

  • message

    Limit exceeded

Error code: -32006

  • code

    -32006

  • message

    JSON-RPC version not supported

Error code: 800

  • code

    800

  • message

    Intrinsic gas too low / Intrinsic gas exceeds gas limit

Error code: 801

  • code

    801

  • message

    Transaction ran out of gas

Error code: 802

  • code

    802

  • message

    Gas price too low / Gas price below configured minimum

Error code: 803

  • code

    803

  • message

    Tx gas limit exceeds max block gas limit

Error code: 804

  • code

    804

  • message

    Max priority fee per gas higher than max fee per gas

Error code: 805

  • code

    805

  • message

    Gas uint64 overflow

Error code: 806

  • code

    806

  • message

    Max fee per gas less than block base fee

Error code: 807

  • code

    807

  • message

    Max priority fee per gas higher than 2^256-1

Error code: 808

  • code

    808

  • message

    Max fee per gas higher than 2^256-1

Error code: 809

  • code

    809

  • message

    Insufficient funds for gas * price + value

Error code: 1

  • code

    1

  • message

    Nonce too low

Error code: 2

  • code

    2

  • message

    Nonce too high

Error code: 3

  • code

    3

  • message

    Execution reverted

Error code: 4

  • code

    4

  • message

    Invalid opcode

Error code: 1000

  • code

    1000

  • message

    Already known transaction

Error code: 1001

  • code

    1001

  • message

    Invalid sender

Examples

eth_sendRawTransaction example

Request

{
"params": [
"0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
]
}

Response

"0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"