Prerequisites
Run this example in a secure server-side environment. You need:- A
RHINESTONE_API_KEYfrom the Rhinestone dashboard - A funding account with Base Sepolia ETH and its private key in
FUNDING_PRIVATE_KEY
quickstart.ts and paste the TypeScript blocks below into it in order. The blocks form one complete script.
1
Create an account
Create a smart account with a generated ECDSA owner:Store
ownerPrivateKey securely if you need to access this account again. The owner key determines the counterfactual account address.Nothing is onchain yet. The account deploys lazily on each chain when it first sends a transaction there.2
Fund the account
Send Base Sepolia ETH to the smart account:
3
Send a crosschain transaction
Transfer 0.1 USDC on Arbitrum Sepolia, using the ETH funded on Base Sepolia as the source:
submitTransaction returns an intent handle. waitForExecution resolves after every operation reaches a terminal state.Expected outcome
The result has the statusCOMPLETED. The account is deployed on Base Sepolia and Arbitrum Sepolia, and 0.1 USDC is transferred to the recipient on Arbitrum Sepolia.
Next steps
Configure the account
Choose an owner and account implementation.
Send another transaction
Learn the complete multichain transaction flow.
Sponsor fees
Cover selected transaction costs for your users.