Skip to Content
ReferenceRPCImpersonation

Impersonation

RPC methods for sending transactions from any address without holding its private key.

When an address is on the impersonation allowlist, the Stagenet accepts eth_sendTransaction requests where the from field matches that address — no signature required. The Stagenet’s EVM sees the impersonated address as msg.sender.

Impersonation only works through eth_sendTransaction. Locally-signed transactions sent via eth_sendRawTransaction already have a fixed sender baked into the signature, so impersonation does not apply.

Use a JSON-RPC signer instead — see SDK: Impersonation for ethers and viem examples.

dev_impersonateAccount

Adds an address to the impersonation allowlist.

ParameterTypeDescription
addressstringA 0x-prefixed Ethereum address

Returns true on success.

Example:

curl -X POST <YOUR_STAGENET_RPC_URL> \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "dev_impersonateAccount", "params": ["0x28C6c06298d514Db089934071355E5743bf21d60"] }'

Send a transaction from the impersonated address with a standard eth_sendTransaction:

curl -X POST <YOUR_STAGENET_RPC_URL> \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "eth_sendTransaction", "params": [ { "from": "0x28C6c06298d514Db089934071355E5743bf21d60", "to": "0x1111111111111111111111111111111111111111", "value": "0xde0b6b3a7640000" } ] }'

dev_stopImpersonatingAccount

Removes an address from the impersonation allowlist. After this, unsigned transactions from that address are rejected unless it is impersonated again.

ParameterTypeDescription
addressstringA 0x-prefixed Ethereum address

Returns true on success.

dev_getImpersonatedAccounts

Lists every address currently on the impersonation allowlist. Addresses are returned lowercased.

Takes no parameters. Returns string[].

Example:

curl -X POST <YOUR_STAGENET_RPC_URL> \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "dev_getImpersonatedAccounts", "params": [] }'
Last updated on