Verify a counterfactual Starknet account before funding deployment

A new Starknet account can be funded at its deterministic address before its account contract exists. Altering constructor arguments after the transfer can point the deployment at a different address.

Recompute the address with the wallet’s deployment parameters

Use the intended network, account class hash, salt and exact serialized constructor calldata with a Starknet-aware address calculator. For DEPLOY_ACCOUNT, use the protocol’s prescribed deployer address of zero. Compare the result with the funding destination.

account address inputs = class hash, salt, constructor calldata, deployer context
funded address A → DEPLOY_ACCOUNT targeting A

Suppose the wallet changes a signer key in constructor calldata after preparing address A. Recompute before sending funds or deploying: the modified arguments generally produce a different address. Confirm the original class is already declared on that network.

Verify funding and initialization separately

A balance at A does not establish that account code is deployed there. Check the required fee token balance, deployment receipt and class hash at A before requesting the first ordinary invoke transaction. Keep the original constructor data for recovery. docs.starknet.io Starknet documentation