Skip to main content
Create a smart account, fund it on Base Sepolia, and send USDC on Arbitrum Sepolia.

Prerequisites

Run this example in a secure server-side environment. You need:
  • A RHINESTONE_API_KEY from the Rhinestone dashboard
  • A funding account with Base Sepolia ETH and its private key in FUNDING_PRIVATE_KEY
Get Base Sepolia ETH from the QuickNode faucet or Alchemy faucet. Keep both environment variables private. Install the public SDK release used by this guide:
Create 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.
Run the completed script:

Expected outcome

The result has the status COMPLETED. 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.