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: -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: -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: 800
-
code
800
-
message
Intrinsic gas too low / Intrinsic gas exceeds gas limit
-
x-error-category
GAS_ERRORS
Error code: 801
-
code
801
-
message
Insufficient gas for floor data gas cost
-
x-error-category
GAS_ERRORS
Error code: 802
-
code
802
-
message
Tx gas limit exceeds max block gas limit / intrinsic gas exceeds gas limit
-
x-error-category
GAS_ERRORS
Error code: 803
-
code
803
-
message
Transaction gas limit too high
Error code: 804
-
code
804
-
message
Gas price below configured minimum gas price / transaction gas price below minimum
-
x-error-category
GAS_ERRORS
Error code: 805
-
code
805
-
message
Insufficient funds for gas * price + value / Upfront cost exceeds account balance
-
x-error-category
GAS_ERRORS
Error code: 806
-
code
806
-
message
Max priority fee per gas higher than max fee per gas
-
x-error-category
GAS_ERRORS
Error code: 807
-
code
807
-
message
Tx fee exceeds the configured cap / Transaction fee cap exceeded
-
x-error-category
GAS_ERRORS
Error code: 1
-
code
1
-
message
Nonce too low
-
x-error-category
EXECUTION_ERRORS
Error code: 2
-
code
2
-
message
Nonce too high
-
x-error-category
EXECUTION_ERRORS
Error code: 3
-
code
3
-
message
Execution reverted by REVERT Opcode
-
x-error-category
EXECUTION_ERRORS
Error code: 4
-
code
4
-
message
Invalid opcode
-
x-error-category
EXECUTION_ERRORS
Error code: 1000
-
code
1000
-
message
Transaction is already known to the transaction pool
-
x-error-category
TXPOOL_ERRORS
Error code: 1001
-
code
1001
-
message
Replacement transaction is sent without the required price bump
-
x-error-category
TXPOOL_ERRORS
Error code: 1002
-
code
1002
-
message
Oversized data: Transaction input data exceeds the allowed limit
-
x-error-category
TXPOOL_ERRORS
Error code: 1003
-
code
1003
-
message
Only replay-protected (EIP-155) transactions allowed over RPC
-
x-error-category
TXPOOL_ERRORS
Error code: 1004
-
code
1004
-
message
Transaction pool is full
-
x-error-category
TXPOOL_ERRORS
Error code: 1005
-
code
1005
-
message
Transaction Data contains invalid RLP encoding
-
x-error-category
TXPOOL_ERRORS
Error code: 1006
-
code
1006
-
message
Transaction sender is invalid
-
x-error-category
TXPOOL_ERRORS
Error code: 1007
-
code
1007
-
message
Transaction with negative value
-
x-error-category
TXPOOL_ERRORS
Error code: 1008
-
code
1008
-
message
Transaction sender is denylisted
-
x-error-category
TXPOOL_ERRORS
Error code: 1009
-
code
1009
-
message
Transaction receiver is denylisted
-
x-error-category
TXPOOL_ERRORS
Error code: 1010
-
code
1010
-
message
Transaction chain ID does not match the expected chain ID
-
x-error-category
TXPOOL_ERRORS
Error code: 2000
-
code
2000
-
message
Not enough step counters to continue the execution
-
x-error-category
ZK_EXECUTION_ERRORS
Examples
eth_sendRawTransaction example
Request
{
"params": [
"0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
]
}
Response
"0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"