XRPL-originated flow toward Ethereum Sepolia DeFi: CCIP (Arbitrum Sepolia → Sepolia), Uniswap V3 swap (WETH → USDC), and a minimal yield vault ledger. Flare Smart Accounts are represented by FlareIntentRegistry on Coston2 until a Flare CCIP lane is wired.
| Package | Description |
|---|---|
contracts/ |
Hardhat: XRPFiSepoliaExecutor (CCIP receiver + swap), XRPFiArbitrumSender, YieldVault, FlareIntentRegistry |
apps/web |
Vite + React: XRPL devnet payment / intent UI, polls API |
apps/api |
Express: intent endpoint + optional on-chain event indexing |
npm install
npm run compile
npm run build- Web dev:
npm run dev - API dev:
npm run dev:api(copyapps/api/.env.example→apps/api/.env)
- Sepolia:
npx hardhat run scripts/deploy-sepolia.ts --network sepolia - Arbitrum Sepolia: set
SEPOLIA_EXECUTOR_ADDRESS, thennpx hardhat run scripts/deploy-arbitrum-sender.ts --network arbitrumSepolia - Sepolia:
npx hardhat run scripts/wire-peer.ts --network sepoliawithARB_SENDER_ADDRESSset - Fund executor WETH on Sepolia, set API env vars (
SEPOLIA_EXECUTOR_ADDRESS,SEPOLIA_VAULT_ADDRESS, RPCs)
See contracts/.env.example and apps/api/.env.example.
MIT