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"