DESIGN.md · Analysis

Rabby Wallet

rabby.io · 19 Aug 2026 · 47 colors · SF Pro, -apple-system, sans-serif, Lato, sans-serif

Rabby Wallet

A game-changing wallet for Ethereum and all EVM chains, designed with a clean, accessible interface that prioritizes security and ease of use.

Colors

surface#ffffff
surface-dim#f2f4f7
surface-bright#ffffff
surface-container-lowest#f7fafc
surface-container-low#f2f4f7
surface-container#edf0ff
surface-container-high#e0e5ec
surface-container-highest#dbe0ff
on-surface#192945
on-surface-variant#3e495e
inverse-surface#0c0f1f
inverse-on-surface#f7fafc
outline#6a7587
outline-variant#c4c7c8
surface-tint#4c65ff
primary#4c65ff
on-primary#ffffff
primary-container#dbe0ff
on-primary-container#192945
inverse-primary#7084ff
secondary#2abb7f
on-secondary#ffffff
secondary-container#d8f2e7
on-secondary-container#192945
tertiary#ffb020
on-tertiary#ffffff
tertiary-container#fff5e2
on-tertiary-container#192945
error#e34935
on-error#ffffff
error-container#fff2f0
on-error-container#ae2a19
primary-fixed#dbe0ff
primary-fixed-dim#a5b2ff
on-primary-fixed#192945
on-primary-fixed-variant#3e495e
secondary-fixed#d8f2e7
secondary-fixed-dim#2abb7f
on-secondary-fixed#192945
on-secondary-fixed-variant#3e495e
tertiary-fixed#fff5e2
tertiary-fixed-dim#ffb020
on-tertiary-fixed#192945
on-tertiary-fixed-variant#3e495e
background#ffffff
on-background#192945
surface-variant#e0e5ec

Typography

display
fontFamily: SF Pro, -apple-system, sans-serif · fontSize: 64px · fontWeight: 700 · lineHeight: 72px · letterSpacing: -0.02em
headline-lg
fontFamily: SF Pro, -apple-system, sans-serif · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.01em
headline-md
fontFamily: SF Pro, -apple-system, sans-serif · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: 0em
title-lg
fontFamily: SF Pro, -apple-system, sans-serif · fontSize: 24px · fontWeight: 590 · lineHeight: 32px · letterSpacing: 0em
body-lg
fontFamily: SF Pro, -apple-system, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: SF Pro, -apple-system, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Lato, sans-serif · fontSize: 14px · fontWeight: 700 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Lato, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

Rabby Wallet is a game-changing Ethereum and EVM wallet that embodies a philosophy of "Accessible Clarity"—combining technical sophistication with an inviting, approachable interface. The design aesthetic is rooted in clean minimalism with strategic color accents: a vibrant periwinkle blue (#4c65ff) serves as the primary brand accent, paired with a soft, light background (#edf0ff to #ffffff) that evokes trust and transparency. The brand personality is confident yet humble, speaking to both crypto-native users and newcomers with equal respect. The UI prioritizes information hierarchy and cognitive ease, using generous whitespace and a carefully calibrated color system to guide users through complex blockchain interactions without overwhelming them.

The voice is precise, direct, and reassuring—never condescending, never breathless. Example: "Your wallet, your keys, your security. Download Rabby and take control of your Ethereum journey." The tone balances technical accuracy with accessibility, treating users as intelligent partners in their financial sovereignty. Every interaction is designed to reduce friction and build confidence, whether downloading the extension or approving a transaction.

Colors

The Rabby color system is built on a foundation of light, neutral surfaces with a bold periwinkle blue accent that commands attention without aggression. Primary (#4c65ff) is the signature brand color, used exclusively for call-to-action buttons, active states, and key interactive elements—it appears in the header "Download" button, form focus states, and hover effects. The primary container (#dbe0ff) provides a softer, tinted background for secondary actions and informational contexts, while the inverse primary (#7084ff) is reserved for hover and elevated states, creating a subtle depth gradient. On-primary is always pure white (#ffffff) for maximum contrast and readability on the blue accent.

The surface stack progresses from pure white (#ffffff) for primary content areas through increa

Typography

The type system pairs SF Pro (Apple's native system font) for body and display text with Lato for labels and UI microcopy, creating a hierarchy that feels both premium and approachable. Display text (64px, 700 weight, -0.02em tracking) is reserved for hero headlines and major section titles, commanding attention through scale rather than color. Headline-lg (40px, 600 weight) and headline-md (28px, 600 weight) establish section structure with consistent line-height ratios (1.2x font size) that ensure comfortable reading. Body-lg (18px, 400 weight, 28px line-height) and body-md (16px, 400 weight, 24px line-height) form the backbone of content, with generous line-height (1.5x) to support readability on screens. Label-md (14px, 700 weight, Lato) is used for button text, form labels, and UI con

Layout

Rabby's layout follows a 12-column grid system with a maximum container width of 1440px, allowing content to breathe on large displays while maintaining focus on medium screens. The page rhythm is established through consistent spacing: lg spacing (40px) separates major sections (hero, feature cards, download area), md spacing (24px) groups related content within sections, and sm spacing (12px) creates breathing room between interactive elements. The gutter width is 24px, maintaining consistent horizontal padding across all breakpoints. White-space is treated as a first-class design element—the hero section uses 100px+ vertical padding to create a sense of openness and importance, while card layouts employ 40px internal padding to prevent content from feeling cramped. The design favors a s

Elevation & Depth

Rabby employs a subtle shadow system that creates depth through restraint rather than drama. The base elevation uses no shadow, allowing the light background (#ffffff) to serve as the foundation. Level 1 (standard cards and containers) applies a soft shadow: box-shadow: 0 2px 8px rgba(76, 101, 255, 0.1)—a tinted blue shadow that reinforces brand identity while remaining understated. Level 2 (modals, dropdowns, and elevated surfaces) uses a slightly stronger shadow: box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15)—a neutral shadow that creates clear separation from the background. Interactive elements

Shapes

Rabby's shape language is rooted in "Friendly Precision"—rounded corners that feel approachable without sacrificing clarity or professionalism. The rounded scale progresses from sm (4px) for subtle refinement on small UI elements like checkboxes and minor dividers, through DEFAULT (8px) for form inputs and secondary buttons, to lg (16px) for primary buttons and card corners, and xl (20px) for modals and major container elements. The most prominent CTA button ("Download") uses 12px border-radius, striking a balance between softness and authority. Icon buttons and interactive elements use 16px t

Components

Action Elements Buttons are the primary interaction mechanism and come in two main variants. The primary button uses a solid background (#4c65ff) with white text, 12px border-radius, and 12px 24px padding, creating a 48px total height for comfortable touch targets. On hover, the background shifts to the inverse primary (#7084ff) and applies a scale(1.05) transform with a 0.2s transition, providing immediate visual feedback. The secondary button uses a transparent background with a 2px solid border in primary blue, the same padding and height, and transitions to a filled state on hover (background becomes primary, text becomes white). Both button variants use label-md typography (14px, 700 weight, Lato) for consistency and clarity.

Containers & Surfaces Cards are the primary conten

Do's and Don'ts

**Do**

  • Do use primary blue (#4c65ff) exclusively for call-to-action buttons and primary interactive states—it's the brand's signature accent and should never be diluted or overused.
  • Do maintain at least 24px of white-space between major sections and 12px between related content groups to create visual breathing room and reduce cognitive load.
  • Do apply the blue-tinted shadow (0 2px 8px rgba(76, 101, 255, 0.1)) to cards and containers to reinforce brand identity while keeping the aesthetic light and accessible.
  • Do use SF Pro for body and display text and Lato exclusively for labels and UI microcopy—never mix typefaces within a single component.
  • Do ensure all interactive elements have a minimum touch target of 48px × 48px and provide clear hover/focus states with 0.18–0.2s transitions for tactile feedback.

**Don't**

  • Don't use dark backgrounds or high-contrast shadows that contradict the light, accessible aesthetic—Rabby's strength is in clarity and openness, not drama.
  • Don't apply primary blue to non-interactive elements or use it for body text, backgrounds, or decorative purposes—reserve it exclusively for CTAs and active states.
  • Don't exceed 20px border-radius on any component; excessive rounding undermines the precision and professionalism of the design system.
  • Don't mix Lato and SF Pro within a single component or use system fonts like -apple-system as a fallback for body text—always specify the full font stack.
  • Don't use secondary colors (green, orange, red) for primary actions or emphasis—they are reserved for semantic states (success, warning, error) and should never compete with the primary blue accent.