
Assetchain Bridge
A cross-chain bridge interface for moving assets in and out of the Assetchain network.
Role
Frontend Engineer — sole developer on the bridge UI
Timeframe
2025
Stack
React · TypeScript · Ethers.js · Tailwind CSS
The problem
Bridging assets across chains is one of the riskiest actions a crypto user can take — a single misread transaction state can mean lost funds. The bridge needed an interface that made multi-step, multi-chain transactions legible and hard to get wrong.
Technical decisions
- Modeled the bridge flow as an explicit state machine (select chain → approve → confirm → relay → finalize) so the UI could never show an ambiguous 'in-between' state.
- Persisted in-flight transaction state to local storage keyed by wallet address, so a refresh or dropped connection never orphaned a pending bridge transaction.
- Built wallet-connection and network-switching as isolated, reusable hooks to keep chain-specific logic out of presentational components.
Challenges & trade-offs
- Reconciling inconsistent confirmation times across source and destination chains without leaving the user staring at an ambiguous loading state.
- Handling wallet/network-switch edge cases (user changes network mid-transaction, rejects a signature, etc.) without corrupting the tracked transaction state.
“Treating a multi-chain transaction as an explicit, persisted state machine — rather than a sequence of component-level loading flags — made the hardest edge cases (dropped connections, network switches) tractable instead of exceptional.”





