How deployment works
Deployment is per-chain. When you callsendTransaction targeting a chain where the account is not deployed yet, the Orchestrator bundles the deployment into the intent automatically. The account is only deployed on that specific chain, not on all supported chains at once.
Receiving tokens at the counterfactual address does not trigger deployment. Only an outbound transaction submitted through the SDK does.
Who pays for deployment?
| Scenario | Who pays | Source |
|---|---|---|
Sponsorship enabled (sponsored: true) | You (the developer) | Your USDC sponsorship deposit on Base |
| No sponsorship | The user | Tokens in the user’s account on the target chain, or on another chain where they are already deployed |
You can make deployment completely gasless for the user with sponsorships.
Check Status
You can check if the account is deployed on a specific chain:Manual Deployments
You can manually trigger an account deployment on any chain:Deploy from Another Account
You can deploy an account from another smart account using thedeploy action. This can be useful when you want to pay for a deployment with another account: