Skip to content

CEX-style deposit address for bridging in - #535

Draft
0xnullifier wants to merge 10 commits into
mainfrom
feat/bridge-via-deposit-address
Draft

CEX-style deposit address for bridging in#535
0xnullifier wants to merge 10 commits into
mainfrom
feat/bridge-via-deposit-address

Conversation

@0xnullifier

Copy link
Copy Markdown
Collaborator

What

CEX-style deposit address for bridging in. Every account's vault-derived EVM address becomes a deposit address on Ethereum Sepolia:

  • The Receive screen gains a Miden | Cross-chain tab (QR + copy/share, supported-token chips, recent on-chain activity) showing the EVM deposit address (feature-flag gated, only for accounts with a derived evmAddress).
  • A root-mounted DepositAddressWatcher polls the address; when ETH or USDC lands, a "funds arrived" drawer (DepositArrivalDrawer) offers to bridge to Miden in one tap.
  • Routing: USDC via Epoch (gasless); ETH via Agglayer (gas self-funded from the deposit) or via Epoch's Fast route (deposit ETH is converted to WETH first, called out in the route picker).
  • Everything is signed with the wallet key — no external wallet or WalletConnect — so bridge-in now also works on the extension (arrival detection runs while the popup is open). The WalletConnect flow remains as "Bridge from a connected wallet instead".
  • The bridge drawer (app/templates/DepositBridge, assets → amount → route) hands off to /generating-transaction/:txId, which renders the bridged-receive phase ladder. Deep link: /receive?tab=crosschain&bridge=1&token=ETH.

Status

Draft — still WIP; further commits incoming. Rebased on latest main (network-endpoint dev settings, CI changes).

Stacked PR based on this branch: #534 (moves history-detail polling to app-root watchers).

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant