Skip to content

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 study
On scheduleOpen full view

Loading 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
An illustrated Maya holding her phone.

She sent USDC across chains eight minutes ago. Now she wants to know where her money is.

Transaction hashorWallet address
  1. Has my transfer completed?

    A clear outcome, in words I can understand.

  2. Is this wait normal?

    Context for the time elapsed and the current step.

  3. Do I need to do anything?

    A useful next step, only when action is needed.

Scenario persona from the project brief. Character illustration is fictional.

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.

Annotated audit capture: General Message Passing and ContractCallWithToken lead the completed transfer page.Inspect the evidence

Three clocks. No interpretation.

Elapsed, expected and active-step timing appeared separately, without explaining whether the wait was normal.

Annotated audit capture: Waiting for Finality, estimated time and elapsed time appear in separate places.Inspect the evidence

Start 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.
Open full view

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.

Open full view

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.
Open full view

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.
Support handoffOpen full view

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.
Transfer arrivedOpen full view

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.
Implementation review

One journey.
Eleven modeled scenarios.

The build made each condition available to inspect against the written specification.

2

Ordinary + slow

A longer wait changes the explanation, not the outcome.

2

Finding

A missing record does not become a failed transfer.

3

Recovery

Paid top-up, free retry and automatic recovery stay separate.

1

Stopped

Prepare evidence when the person cannot fix the cause.

2

Arrival

Early delivery and ordinary completion both confirm receipt.

1

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.

Open full view

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.