Send transactions via RPC
Your custom RPC endpoint can be found in the merkle dashboard.
We recommend integrating the following 3 RPC methods:
eth_sendRawTransaction
: Send transactions to the mempool.eth_getTransactionByHash
: Fetch the transaction details.eth_getTransactionCount
: Get the pending nonce for an account.
Contact support or use your dedicated Telegram support channel to get help.
eth_sendRawTransaction
This is the recommended way to send transactions.
Example of a request:
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_sendRawTransaction",
"params": [
"0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833",
// "customer-123" -> optional source tag for cashback
],
}
Example of a response:
{
"id": 1,
"jsonrpc": "2.0",
// the hash of the transaction
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
eth_sendPrivateTransaction
Not recommended. Only available for backward compatibility.
eth_sendRawPrivateTransaction
Not recommended. Only available for backward compatibility.
eth_getTransactionByHash
This RPC method mimics the standard eth_getTransactionByHash
for private transactions.
Example of a request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getTransactionByHash",
"params": [
"0x..." // transaction hash
]
}
Our transaction response closely follows the format of the standard eth_getTransactionByHash
method used in Ethereum. However, in our response, the fields gasPrice
, v
, r
, and s
are set to "0x0"
. These fields are not applicable in our context, and this notation ensures clarity and consistency with the standard format without introducing ambiguity.
{
"id" : 1,
"jsonrpc" : "2.0",
"result" : {
"blockHash" : "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35",
"blockNumber" : "0x5bad55",
"chainId" : "0x1",
"from" : "0x398137383b3d25c92898c656696e41950e47316b",
"gas" : "0x1d45e",
"gasPrice" : "0x0",
"hash" : "0xbb3a336e3f823ec18197f1e13ee875700f08f03e2cab75f0d0b118dabb44cba0",
"input" : "0xf7d8c88300000000000000000000000000000000000000000000000000000000000cee6100000000000000000000000000000000000000000000000000000000000ac3e1",
"nonce" : "0x18",
"r" : "0x0",
"s" : "0x0",
"to" : "0x0",
"transactionIndex" : "0x11",
"type" : "0x0",
"v" : "0x0",
"value" : "0x1c6bf526340000"
}
}
eth_getTransactionCount
This method implements the standard eth_getTransactionCount
. If using the pending
parameter instead of a block number, the private mempool will automatically compute the next nonce using both private transactions and public transactions.
Example of request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getTransactionCount",
"params": [
"0x...", // address
"pending", // query pending hash
]
}
Last updated
Was this helpful?