Cross-chain explorer/ Personal design exploration
Making crypto transfers
clear across blockchains.
I audited and redesigned the cross-chain tracking journey around a person’s next decision: understand the outcome, interpret the wait and act only when needed.
Read the case studyLoading the working prototype…
Eight minutes waiting. Three unanswered questions.
The brief started with Maya: she had sent USDC across chains and wanted to understand what was happening. I used that moment to define the job of the explorer before changing its screens.
- Outcome
- Has the transfer arrived, or is it still moving?
- Expectation
- Is this wait normal for the route?
- Action
- Should she wait, retry, pay or ask for help?
The person behind the transfer
Meet Maya.
Semi-technical wallet user
8 minutes since sending
She sent USDC across chains eight minutes ago. Now she wants to know where her money is.
- Has my transfer completed?
A clear outcome, in words I can understand.
- Is this wait normal?
Context for the time elapsed and the current step.
- Do I need to do anything?
A useful next step, only when action is needed.
The information existed. The answer was missing.
I audited the interface against its documented states and timing behavior. Transaction evidence was valuable, but the reading order left people to translate protocol language and reconcile separate clocks.
- Keep
- Preserve transaction records, event history and precise evidence for investigation.
- Prioritize
- Make outcome, timing and relevant action the first layer of the page.
- Accept the tradeoff
- Move protocol detail into a disclosure, even though expert users lose some immediate density.
These are annotated interface-audit captures, supported by protocol references. They are not findings from participant research.
A method name, before an outcome.
The transfer had completed. The heading still asked the person to interpret a technical record.
Inspect the evidenceThree clocks. No interpretation.
Elapsed, expected and active-step timing appeared separately, without explaining whether the wait was normal.
Inspect the evidenceStart with the identifier someone already has.
I gave a transaction hash and a wallet address the same front door. One identifies a transfer; the other opens a collection. Neither should require the person to understand the explorer’s structure first.
- Find
- Put the tracking question and input before the network-wide information.
- Recognize
- Keep the familiar asset, amount and route visible; prioritize transfers needing attention.
- Revise
- I initially removed the network console. Building the page exposed the cost for developers and analysts, so I restored it below tracking.
Loading the working prototype…
Explain the wait. Don’t turn it into a failure.
I mapped fifteen technical statuses into six core user states, with slow progress as a timing modifier. Source, network and destination became a stable journey while the explanation changed with the active leg.
- State
- Give a distinct label when it changes what someone needs to understand or do.
- Time
- Use a range, then stop offering a remaining-time promise when the model no longer supports it.
- Evidence
- Keep the original transaction and the observed event available below the explanation.
The example timing ranges come from seeded route assumptions; production expectations would need route-level telemetry.
Loading the working prototype…
The condition behind the button matters most.
I modeled a paid gas top-up, a free retry and automatic recovery separately. The interface needed to explain the cause and cost, then offer only the action that the record justified.
- Required action
- Group the reason, the approximate cost and the next step together.
- Automatic recovery
- Suppress the paid action when the network is already recovering the transfer without a charge.
- Reassurance
- Describe the position of funds only when the available record supports the statement.
Loading the working prototype…
When someone can’t fix it, prepare the handoff.
A receiving contract can reject a transfer even after earlier stages complete. I separated that situation from a recoverable pause and gave support the context a person should not have to reconstruct.
- Explain
- Name the failure without implying that another payment will solve it.
- Establish
- Show what completed, where delivery stopped and what the record says about the funds.
- Carry forward
- Prepare the route, timestamps and error in a copyable transfer report.
Loading the working prototype…
Arrival should be unmistakable.
Completion needed a clear answer and a usable receipt. I brought the received amount and recipient into the main view, then kept fees, refunds and event-level detail in their proper place.
- Confirm
- State what arrived and on which network, with the intended recipient visible.
- Reconcile
- Keep the receipt copyable so it can be checked against the wallet.
- Separate
- Treat a gas refund as accounting after delivery, rather than another milestone in the journey.
Loading the working prototype…
Build enough to challenge the design.
I moved from ranked findings into a specification, then built the React prototype with Claude Code. Eleven deterministic scenarios let me inspect waiting, failure and recovery; an as-built review recorded deviations instead of treating the implementation as proof.
- Design outcome
- A connected tracking journey with a clear hierarchy, explicit states and conditional actions.
- Still to verify
- Route timing, reliable funds-position signals, recovery eligibility and a joined view of multi-hop transfers.
- Next evaluation
- Watch people identify a transfer, interpret a delay and choose a recovery path; check whether they can verify the recipient afterward.
One journey.
Eleven modeled scenarios.
The build made each condition available to inspect against the written specification.
Ordinary + slow
A longer wait changes the explanation, not the outcome.
Finding
A missing record does not become a failed transfer.
Recovery
Paid top-up, free retry and automatic recovery stay separate.
Stopped
Prepare evidence when the person cannot fix the cause.
Arrival
Early delivery and ordinary completion both confirm receipt.
Multi-hop
Keep one journey above its underlying events.
A working model of the decisions.
The production signals still need verification.
Explore the working prototype.
Track a transfer, open a wallet, or inspect the eleven modeled scenarios in the app I built.
Loading the working prototype…
Personal concept. The working prototype uses simulated records and wallet actions. The project has no production integration or measured user outcomes.