eth_getTransactionReceipt returns null results

Since around 12:47pm PDT today, eth_getTransactionReceipt has been returning null results quite frequently.

One example for the first transaction receipt of block 7844864:

Request:

curl https://mainnet.infura.io/v3/<PROJECT_ID> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params": ["0xf365e5ce413d509c8b0ce6dafc4d7a8e9697358f41c88dd0f6559b054738e8bb"],"id":1}'

Response:

{"jsonrpc":"2.0","id":1,"result":null}

Same issue started happening around the same time. eth_getTransactionReceipt and eth_getTransactionByHash both returns null at initial request then will finally work for subsequent requests.

Actually, after how many subsequent requests, the response sometimes still returns null.

Thanks for reporting this, we are looking into it.

Are these errors still occurring?

Some things to keep in mind:

  1. Same network: sometimes I get null if I consult a Tx in main with the ropsten link
  2. Tx propagation: if you push your Tx in another node maybe this is not in the Infura nodes and you will get null until it is propagated through the network
  3. Using hex number: if you look the node number in etherscan you will get the decimal value, and if you attempt to find 0x1 in 0x7844864 we are very very far.

For example the hex number of 7844864 is 0x77b400. And with this JSON:

[
    {
        "jsonrpc":"2.0",
        "method":"eth_getTransactionByHash",
        "params":["0x3d49e3ac25749cd1bcc5d639c1b0d699bf010730ff5714bf0e5c1ea70accd2a7"],
        "id":1
    },
    {
        "jsonrpc":"2.0",
        "method":"eth_getTransactionReceipt",
        "params":["0x3d49e3ac25749cd1bcc5d639c1b0d699bf010730ff5714bf0e5c1ea70accd2a7"],
        "id":2
    },
    {
        "jsonrpc":"2.0",
        "method":"eth_getTransactionByBlockNumberAndIndex",
        "params":["0x77b400", "0x1"],
        "id":3
    }
]

I get the same transaction and not null.