eth_getStorageAt does not work with EIP-1967 standard proxy storage slots

I’m running an ethereum side-chain node that is based on the Infura API.

I’m trying to read a EIP-1967 proxy storage slot with an eth_getStorageAt RPC call. But the call only returns “hex string has length 64, want 40 for common.Address”. However all proxy storage addresses are of length 64.

The OpenZeppelin (an alternative to Infura) API documentation writes:

To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the eth_getStorageAt RPC call.


It looks like it’s only a problem with Infura. Is there a way to fix this or are there any alternative ways to retrieve storage data from an ethereum side-chain?