Rowan: Cross-Chain USDC Transfers
Rowan is a concept iOS app we designed for moving USDC between Ethereum, Solana, Base and Arbitrum in plain language. Before anything leaves the wallet, it shows what will arrive, what it costs and how long it takes, then follows the money until it lands.
A fictional product exploration showing interface and interaction design. No live deployment or commercial results are implied.

- Project type
- Concept project
- Industry
- Fintech, Web3
- Platform
- iOS app, light pastel theme
- Our role
- Product and UI design
- Networks
- Ethereum, Solana, Base, Arbitrum
Who Rowan is for
People who move USDC between Ethereum, Solana, Base and Arbitrum and would rather read plain language than a transaction hash.
- Anyone who wants to know the amount that arrives before sending.
- Users who want each fee on its own line, network and bridge apart.
- People who want to see where the money is until it lands.
- Anyone whose transfer fails and who wants it back, explained.
Why a cross-chain transfer should read like a bank wire
A transfer between networks should answer four questions: what you send, what arrives, what it costs and how long it takes. Rowan answers all four before you confirm, and keeps saying where the money is until it lands.
- The amount that arrives, not only the amount sent.
- Network and bridge fees, each on its own line.
- A refund promised before sending, not discovered after a failure.
What we designed for Rowan
Transfer
From and To, one above the other: the amount sent, the amount that arrives, and the fees and time in one line.
Review with every fee
The route, then each line: you send, the network fee, the bridge fee, you receive, the estimated time.
Refund stated upfront
Before sending, the review says that if anything fails, the USDC comes back to the same wallet automatically.
Step-by-step status
Sent, confirmed, delivering, done: the time of each step passed, an estimate for the current one, and the status to share or open in the explorer.
Activity and refunds
Every transfer with its status. A failed one opens into a plain note: the USDC came back, when, and which fee is not refundable.
Four networks, one look
Ethereum, Solana, Base and Arbitrum as soft coloured circles with a letter, with no logos to learn.
How a transfer goes in Rowan
Pick the route
Choose the network to send from and the one to receive on, then the amount.
Read the cost
See what arrives, the fees and the time, and open the review.
Send
Confirm with the refund note in view: if anything fails, the USDC comes back.
Follow it
Watch each step until delivery, or find a refund explained in Activity.
How we designed Rowan
We followed one transfer from the first screen to delivery, and one that did not make it and came back. On the screens, 1,500.00 USDC leaves Ethereum and 1,497.62 USDC arrives on Solana, with $2.38 in fees and about 2 minutes. The balances, prices and history are invented; the screens are laid out in HTML and CSS.
One transfer, end to end
Transfer, review, status and activity, with the same numbers on every screen.
Plain words first
Labels say “You receive” and “On its way”; hashes and addresses step back into a mono font.
A calm pastel theme
A light blue background and white cards, coral for actions, green for what went through.
Failure planned for
The refund is promised on the review and explained in Activity, fee included.
A closer look at the screens







What Rowan would do
- Shows what arrives and every fee before anything is sent.
- Lists the network fee and the bridge fee apart.
- Tracks each step of a transfer with its time.
- Sends the USDC back if a route fails, and says which fee is lost.
- Moves USDC between Ethereum, Solana, Base and Arbitrum.
Questions about this project
No. It is a concept project for a fictional product: the balances, prices and history on the screens are invented.


