0xKit
TransferEarnLiquidityStakeOverviewHistorySettingsUI
OP100 0XK1 / 4
0x2bfh…2f95

0xKit Application

Interface Library

Every component in the application, live. Surfaces, radii and type sizes are transcribed from the reference renders rather than approximated — the page background is #141414, panels #1A1A1A and cards #212121 because that is what the pixels measure.

01.C

Transfer UI Construction

The case study dimensions this card directly, so the build reads from those numbers rather than from a designer’s eye. The rules below are not typed in either — every band and column is measured off the drawing’s own boxes at layout time, so a line cannot end up somewhere the component isn’t.

01.C / Transfer UI Construction
Advanced Settings
0x8S4…bgh8Reset
TokenNetwork
280.00Max
~$72.62Balance: 1,000.00
EVMCustom Address0x48fj…t285mRemove
TokenNetwork
279.64
~$72.24Balance: 0.00
Summary:$0.0418s$239.64
Transfer
0

Type & Spacing

00.A | Type scale
Display64
Section32
Amount40
Title22
Body16
Meta15
Caption14
Micro13

Roboto throughout; display sizes carry -3% tracking, UI text -1%.

00.B | Spacing scale
48101216182428324052

Every gap in the construction module lands on this set.

00.C | Radii
812162024

Panel 24, card 20, control 16/12/8, pills fully round.

II.02

Source & Destination Selection

One panel does the work that used to take several dropdowns: filter by chain, scan balances, search. Availability is carried on the row itself, so a dead end is visible before it is chosen.

02.A | Token selector
Display Balance by Wallets
Search Source Token…

Wallet-balance toggle, chain tiles, balances, search.

02.B | Network — source
Search Source Network…

New and Under-maintenance states.

02.C | Network — destination
Search Destination Network…

Chains that cannot receive the selected asset render dimmed and inert.

02.D | Not selected

The collapsed counterpart of a leg.

02.E | Verified badge
USDC

Marks a token as checked by the team.

II

Transaction Tracker

02.A | pending
OP12.36 SBC1 / 4

Your transfer has been initiated and is waiting for confirmation.

02.B | finishing
2137 PENGU1 / 4

The transfer is being finalized on the destination chain.

02.C | delivered
12 USDT1 / 4

Your transfer has been successfully completed.

02.D | error
243 USDT1 / 4

Something went wrong — please review and try again.

02.E | claim
100 USDC1 / 4

With CCTP user need to claim funds on the destination chain.

02.F | stuck
25,591.58 0XK1 / 4

Your transfer may be stuck. Click “Resolve” to continue.

02.G | remove
1 WETH1 / 4Transaction is completed.
You can remove it from the tracker.

Transaction is completed. You can remove it from the tracker.

II.B

Status Glyphs

icon | Delivered
icon | Transaction stuck
icon | Finishing
icon | Error
icon | Pending — determinate
24s

Est. time 24s

IV

Modals

04.A | Waiting for Confirmation
Waiting for ConfirmationQuote Expires in 16s
SwapConfirm in your wallet…
16,400.24~$4,749.1325,591.58~$4,724.10
Route0xKit V1
Fee$0.04
Est. Time18s
Slippage Tolerance0.5%
Gas on Destination0.021 AVAX
04.B | Token is Not Verified
Token is Not Verified

This token has not been verified by our team. While it is expected to function correctly, there is a possibility it may not behave as intended.

Proceed only if you trust the source and understand the risks. Learn More

MAMBO [?]Warning
04.C | High Price Impact
High Price Impact

The amount you entered for WETH indicates low liquidity and could result in a significant loss on execution. This means you may receive considerably less than expected.

Warning
III.02

Routes

03.A | Route selection

One recommendation, the rest ranked. Selecting swaps the border and tint to the accent.

03.B | Chain filter
VI

Wallet

06.A | Multiple wallets connected

Connected wallets stack as tiles; expanding lists each with its ecosystem tag.

06.B | Expanded
0xbEa3…375CEVM
MJfK9…sVuTTON
0xbEa3…375CSOLANA
MJfK9…sVuTAPTOS
06.C | Connection states
Connecting…
IV.B

Pending & Hero States

04.D | Transactions Pending
Transactions Pending
Progress dial00:12Time Left
16,400.24~$4,748.1325,591.58~$4,724.10

Ticked dial, counting for real.

04.E | Hero — warning
Warning
Warning

Red for loss risk, amber for caution.

04.F | Hero — confirm
SwapConfirm in your wallet…
2/2Transfer USDCConfirm in your wallet…

Indeterminate, and stepped for multi-call flows.

VI.B

My Wallets

06.D | Drawer
My Wallets
0xbEa3…375CEVM
ETHEthereum1$3,345.34
ETHArbitrum0.93$2,900.54
OPETHOptimism3.94$37,345.34
USDTEthereum78$78
0XKPolygon6324$2041
0XKBNB Chain100$20.2

Assets and Transactions over a filtered list.

06.E | Mobile tab bar

Active destination carries its label on a green pill.

02.H | Tracker — swap
16.4 ENA1 / 4

Same chain both legs, so the pair overlaps instead of chaining.

V.B

Mobile

On a phone the tracker moves out of the header and sits under it — there is no room for both, and the transfer is what the screen is for.

05.A | Transfer
0x2bfh…2f954
100 0XK1 / 4
0x8S4…bgh8
USDCAvalanche
1,000.00Max
~$998.64Balance: 1,000.00
3Kxjg…Ra3XKCustom Address
USDTSolana

998.98

~$998.64Balance: 0.00

Full app chrome at 390.

05.B | Tab bar

Sits above the home indicator.

05.C | Tooltips
Gas on Destination Gas paid on the destination chain, in its native token.Transaction is completed.
You can remove it from the tracker.

Attached to info affordances and to the tracker's remove state.

VII

Charts

07.A | Volume

Transfer volume · 30d

$65.4B

Computed from a series; the stroke stays crisp as the box stretches.

07.B | Fees

Protocol fees · 14d

$1.28M

Bars stagger in on scroll.

07.C | Liquidity

Pool depth · USDC

$128.4M

Area fill fades from the accent.

I

Controls

01.A | Buttons
01.B | Toggle, segments, chips
0.5%1.0%5.0%
EconomyWarningFailed
01.C | Token marks
VIII

Inputs & Forms

The case study only draws the three fields the product needs — the amount, the custom address and the two search rows. Everything else here is derived from them, on the same rules: a 44px control, the 12px card radius, the well surface for the body, and red / amber / green for the three validation tones already in the token set.

08.A | Text field states
Label

Address is incomplete

Not an EVM address

Valid address

Resting, filled, and the three tones

08.B | Amount & search
~$998.64Balance: 1,000.00

Lifted out of the transfer leg so every deposit form renders the identical block

08.C | Custom address
EVM

Funds are sent to this EVM address, not your connected wallet.

Validates as you type — amber is a wrong ecosystem, not a wrong address

08.D | Choice controls
08.E | Slider & stepper
20 min

Native range underneath, so drag, arrows and touch all work

08.F | Switch row
Receive gas on destinationConverts a slice of the transfer into native gas.
Expert modeSkips confirmations. You can lose funds.
IX

Advanced Settings

The popover behind the gear. Held to the transfer card’s 404 so it reads as the card’s own drawer rather than a floating panel. Slippage warns in both directions: too tight reverts, too loose invites a bad fill.

Advanced Settings
%

The most the received amount may fall before the transfer reverts.

Receive gas on destinationSwaps a small slice of the transfer into the destination's native token.

≈ $2.00 of native gas on arrival.

Custom destination addressSend to an address other than the connected wallet.
Deadline
20 min
Expert modeSkips confirmation prompts. You can lose funds.
X

Routes

A descriptor is a claim about a trade-off, not a label. Fastest and Economy are the two ends of one axis, Claim Required warns that the transfer will not finish unattended, and a route with nothing to say shows an em dash so the column keeps its rhythm.

RouteFeeGasTimeYou receive
XI

Tracker Construction — 01.A

The tracker has its own annotated module. Same discipline as the transfer card: the numbers live in lib/spec.ts, the drawing is flat primitives, and the annotations are measured off the real boxes at layout time. The tracker is horizontal, so most of what it dimensions is columns.

Transaction Tracker — 01.A
100 0XK1 / 4
100 0XKClaim
XII

Transaction Details

What the tracker pill opens into. The step rail always shows both legs — a cross-chain transfer has two separate confirmations, and the failure modes live between them.

12.A | Status chips
In flightDeliveredNeeds actionFailed
12.B | Step rail — in flight
  1. Source confirmedAvalanche · 12 blocks
  2. In flightLayerZero message relayed
  3. DeliveredAwaiting Solana
12.C | Step rail — failed and refunded
  1. Source confirmedBNB Chain · 15 blocks
  2. RevertedSlippage exceeded tolerance
  3. RefundedReturned to source wallet