Transfer to multiple recipients atomically! This project is my Alchemy University's Ethereum Bootcamp certification submission.
![]() |
|---|
| Try it live at https://atomic-bt.web.app |
The smart contracts code are located at:
- Smart contracts (
src/foundry/src) - Unit tests (
src/foundry/test) - Deployment scripts (
src/foundry/script)
The smart contract is UUPS-Upgradeable inheriting OpenZeppelin upgradeable contracts, built using Foundry.
The off-chain consists of just the frontend; there's no backend. Everything runs on the client-side.
If you want to run it locally, you'd need to create a .env file with the following format:
VITE_WALLETCONNECT_PROJECT_ID=YourWalletConnectProjectID
VITE_MAINNET_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/your-alchemy-api-key
VITE_SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/your-alchemy-api-key
VITE_LOCALHOST_RPC_URL=http://127.0.0.1:8545The Mainnet RPC URL is used to resolve ENS.
To install the dependencies, run:
pnpm iTo run the project, run:
pnpm devGo to http://localhost:5173 to access the dApp!
In the development mode, two networks are available (localhost and sepolia).
In the production mode, only sepolia is supported, mainnet is used just to resolve ENS.
It is configured here (src/configs.ts#L13).
