← Back to all designs

Coinbase

An institutional-grade crypto exchange whose marketing surfaces read like a quietly-confident financial-services brand. The base canvas is pure white; Coinbase Blue (`#0052ff`) is the single brand voltage, used scarcely on primary CTAs, signature glyphs, and inline accent moments. Type runs Coinbase's licensed CoinbaseDisplay (display) and CoinbaseSans (body) at modest weights — display sits at we

Homepage Example

Welcome to Coinbase

A modern, elegant design system built for the digital age. Clean lines, thoughtful spacing, and purposeful color choices define every interaction.

Get Started Learn More

Pixel Perfect

Every element is carefully crafted to ensure consistency across all platforms and devices.

Design Tokens

A comprehensive token system that makes scaling and maintaining your design effortless.

Built for Teams

Collaborate seamlessly with designers and developers using a shared design language.

Color Palette (22)

primary#0052ff
primary-active#003ecc
primary-disabled#a8b8cc
ink#0a0b0d
body#5b616e
body-strong#0a0b0d
muted#7c828a
muted-soft#a8acb3
hairline#dee1e6
hairline-soft#eef0f3
canvas#ffffff
surface-soft#f7f7f7
surface-card#ffffff
surface-strong#eef0f3
surface-dark#0a0b0d
surface-dark-elevated#16181c
on-primary#ffffff
on-dark#ffffff
on-dark-soft#a8acb3
semantic-up#05b169
semantic-down#cf202f
accent-yellow#f4b000

Typography (16)

Coinbase
display-mega80px · weight 400
Coinbase
display-xl64px · weight 400
Coinbase
display-lg52px · weight 400
Coinbase
display-md44px · weight 400
Coinbase
display-sm36px · weight 400
Coinbase
title-lg32px · weight 400
Coinbase
title-md18px · weight 600
Coinbase
title-sm16px · weight 600
Coinbase
body-md16px · weight 400
Coinbase
body-strong16px · weight 700
Coinbase
body-sm14px · weight 400
Coinbase
caption13px · weight 400
Coinbase
caption-strong12px · weight 600
Coinbase
number-display18px · weight 500
Coinbase
button16px · weight 600
Coinbase
nav-link14px · weight 500

Components (28)

top-nav-light
top-nav-light
top-nav-on-dark
top-nav-on-dark
button-primary
button-primary
button-primary-active
button-primary-active
button-primary-disabled
button-primary-disabled
button-secondary-light
button-secondary-light
button-secondary-dark
button-secondary-dark
button-outline-on-dark
button-outline-on-dark
button-tertiary-text
button-tertiary-text
button-pill-cta
button-pill-cta
hero-band-dark
hero-band-dark
hero-band-light
hero-band-light
product-ui-card-dark
product-ui-card-dark
product-ui-card-light
product-ui-card-light
feature-card
feature-card
asset-row
asset-row
price-up-cell
price-up-cell
price-down-cell
price-down-cell
pricing-tier-card
pricing-tier-card
pricing-tier-featured
pricing-tier-featured
cta-band-dark
cta-band-dark
text-input
text-input
search-input-pill
search-input-pill
badge-pill
badge-pill
asset-icon-circular
asset-icon-circular
footer-light
footer-light
footer-link
footer-link
legal-band
legal-band

Border Radius

none (0px)
xs (4px)
sm (8px)
md (12px)
lg (16px)
xl (24px)
pill (100px)
full (9999px)

Design Philosophy

Overview

Coinbase reads like an institutional financial brand that happens to trade crypto — the marketing surfaces are quiet, white-canvas, editorially-spaced, and almost monochromatic. The single brand voltage is **Coinbase Blue** (`{colors.primary}` — #0052ff), used scarcely: every primary CTA pill, the brand wordmark, and inline emphasis links. Beyond that one blue, the system is white canvas + ink + soft gray elevation bands + a deep near-black editorial canvas (`{colors.surface-dark}` — #0a0b0d) for full-bleed product-mockup heroes.

Type pairs **CoinbaseDisplay** for hero headlines with **CoinbaseSans** for body, captions, and navigation. Display sits at **weight 400** — not the 700+ typical of trading platforms. The choice signals editorial calm and institutional trust rather than fintech urgency.

The page rhythm rotates three modes: bright white editorial sections, soft-gray elevation bands, and **full-bleed dark editorial heroes** carrying layered product-UI mockup cards. The dark hero with floating dashboard mockups is the single most distinctive component.

**Key Characteristics:**

Colors

Brand & Accent

Surface

Hairlines

Text

Trading Semantics

Typography

Font Family

The system runs **CoinbaseDisplay** (display headlines), **CoinbaseSans** (body, navigation, captions, buttons), **CoinbaseIcons** (icon font), and **CoinbaseMono** for tabular numerical data. Fallback stack: `-apple-system, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`.

The display/body split is functional: CoinbaseDisplay carries hero headlines only; CoinbaseSans carries everything else.

Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |

|---|---|---|---|---|---|

| `{typography.display-mega}` | 80px | 400 | 1.0 | -2px | Homepage hero h1 |

| `{typography.display-xl}` | 64px | 400 | 1.0 | -1.6px | Subsidiary heroes |

| `{typography.display-lg}` | 52px | 400 | 1.0 | -1.3px | Section heads |

| `{typography.display-md}` | 44px | 400 | 1.09 | -1px | CTA-band headlines |

| `{typography.display-sm}` | 36px | 400 | 1.11 | -0.5px | Sub-section heads — CoinbaseSans |

| `{typography.title-lg}` | 32px | 400 | 1.13 | -0.4px | Card group titles |

| `{typography.title-md}` | 18px | 600 | 1.33 | 0 | Component titles, asset row primary |

| `{typography.title-sm}` | 16px | 600 | 1.25 | 0 | List labels |

| `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Default body |

| `{typography.body-strong}` | 16px | 700 | 1.5 | 0 | Emphasized body |

| `{typography.body-sm}` | 14px | 400 | 1.5 | 0 | Footer body |

| `{typography.caption}` | 13px | 400 | 1.5 | 0 | Photo captions |

| `{typography.caption-strong}` | 12px | 600 | 1.5 | 0 | Badge pill labels |

| `{typography.number-display}` | 18px | 500 | 1.4 | 0 | Asset prices, percent changes — CoinbaseMono |

| `{typography.button}` | 16px | 600 | 1.15 | 0 | Standard CTA pill |

| `{typography.nav-link}` | 14px | 500 | 1.4 | 0 | Top-nav menu items |

Principles

Note on Font Substitutes

CoinbaseDisplay, CoinbaseSans, and CoinbaseMono are licensed Coinbase typefaces.

Layout

Spacing System

Grid & Container

Whitespace Philosophy

Generous editorial pacing — closer to Bloomberg or the Financial Times than to a trading dashboard. 96px between bands; cards inside bands sit 24px apart. Density lives behind login walls, not on marketing.

Elevation & Depth

| Level | Treatment | Use |

|---|---|---|

| Flat | No shadow, no border | 80% of surfaces |

| Hairline border | 1px `{colors.hairline}` | Feature card outlines on white |

| Soft drop | `0 4px 12px rgba(0, 0, 0, 0.04)` | Single shadow tier — hovered cards |

| Photographic | Full-bleed product-UI mockups | Hero depth |

Decorative Depth

Shapes

Border Radius Scale

| Token | Value | Use |

|---|---|---|

| `{rounded.none}` | 0px | Reserved (essentially unused) |

| `{rounded.xs}` | 4px | Inline tags |

| `{rounded.sm}` | 8px | Compact rows |

| `{rounded.md}` | 12px | Form inputs |

| `{rounded.lg}` | 16px | Mid-size cards |

| `{rounded.xl}` | 24px | Feature cards, product-UI mockups, pricing tiers |

| `{rounded.pill}` | 100px | All CTA buttons, search pills, badges |

| `{rounded.full}` | 9999px | Asset icon circles, avatars |

Pill for interactive, card-radius (24px) for containers, full circle for icons. Sharp corners absent.

Components

Top Navigation

**`top-nav-light`** — Default top nav on white pages. Background `{colors.canvas}`, text `{colors.ink}`, height 64px. Layout: Coinbase wordmark left, primary horizontal menu (Cryptocurrencies / Individuals / Businesses / Institutions / Developers / Company), search-icon + globe + Sign In + Sign Up CTAs right.

**`top-nav-on-dark`** — Top nav over a dark hero band. Background `{colors.surface-dark}`, text `{colors.on-dark}`. Same layout.

Buttons

**`button-primary`** — The signature Coinbase Blue pill. Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button}` (16px / 600), padding 12px × 20px, height 44px, rounded `{rounded.pill}` (100px).

**`button-primary-active`** — Press state. Background `{colors.primary-active}`, deeper blue.

**`button-primary-disabled`** — Faded blue tint. Background `{colors.primary-disabled}`. Cursor not-allowed.

**`button-secondary-light`** — Soft-gray secondary on white surfaces. Background `{colors.surface-strong}`, text `{colors.ink}`, same pill geometry.

**`button-secondary-dark`** — Used on dark heroes. Background `{colors.surface-dark-elevated}`, text `{colors.on-dark}`, same pill geometry.

**`button-outline-on-dark`** — Transparent pill with white outline. Background transparent, text `{colors.on-dark}`, 1px white border.

**`button-tertiary-text`** — Inline text link. Background transparent, text `{colors.primary}`, type `{typography.button}`.

**`button-pill-cta`** — Larger pill CTA used on the homepage hero ("Get started"). Same Coinbase Blue palette but with 56px height and 16px × 32px padding for a prouder stance.

Hero Bands

**`hero-band-dark`** — The signature full-bleed dark hero. Background `{colors.surface-dark}`, text `{colors.on-dark}`, full-bleed layered product-UI mockup cards. Display headline left in `{typography.display-mega}` (80px / 400), subhead in `{typography.body-md}`, two CTAs.

**`hero-band-light`** — White-canvas variant used on Wealth and Explore. Background `{colors.canvas}`, text `{colors.ink}`. Same skeleton, light palette.

Cards

**`product-ui-card-dark`** — The floating product-UI mockup. Background `{colors.surface-dark-elevated}`, text `{colors.on-dark}`, rounded `{rounded.xl}` (24px), padding 32px. Often shown as 2-3 stacked cards at slight rotation, mimicking a layered dashboard.

**`product-ui-card-light`** — Light-canvas variant used on Explore for asset cards. Background `{colors.canvas}`, text `{colors.ink}`, same geometry, 1px hairline border.

**`feature-card`** — Used in 3-up and 2-up grids. Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.title-md}`, rounded `{rounded.xl}`, padding 32px.

Trading Surfaces

**`asset-row`** — Horizontal row in asset lists (Explore, Wealth). Background transparent, 1px hairline divider. Layout: 32px circular asset icon left, asset name + ticker, price column in `{typography.number-display}`, 24h change column with `{component.price-up-cell}` or `{component.price-down-cell}`.

**`price-up-cell`** + **`price-down-cell`** — Inline price-change cells. Color only — green or red text in `{typography.number-display}`, no background fill.

**`asset-icon-circular`** — Circular plate behind asset glyphs. Background `{colors.surface-strong}`, rounded `{rounded.full}`, 32px diameter.

Pricing

**`pricing-tier-card`** — Standard pricing tier on Developer Platform. Background `{colors.canvas}`, rounded `{rounded.xl}`, padding 32px, 1px hairline border. Layout: tier name + price + feature checklist + CTA pill.

**`pricing-tier-featured`** — The featured tier. Background `{colors.surface-dark}`, text `{colors.on-dark}`. Same skeleton, dark palette — visual inversion signals "highlighted choice" without colored ribbons.

Forms

**`text-input`** — Standard text input. Background `{colors.canvas}`, text `{colors.ink}`, rounded `{rounded.md}` (12px), padding 14px × 16px, height 48px, 1px hairline border. On focus, border thickens to 2px Coinbase Blue.

**`search-input-pill`** — Pill-shaped search bar. Background `{colors.surface-strong}`, rounded `{rounded.pill}`, padding 12px × 20px, height 44px.

Tags & Badges

**`badge-pill`** — Small uppercase pill used as section labels ("INSTITUTIONAL", "REGULATED"). Background `{colors.surface-strong}`, text `{colors.ink}`, type `{typography.caption-strong}`, rounded `{rounded.pill}`.

CTA / Footer

**`cta-band-dark`** — Pre-footer "Take control of your money" band. Background `{colors.surface-dark}`, text `{colors.on-dark}`, vertical padding 96px. Centered headline + two CTAs.

**`footer-light`** — Closing white-canvas footer. Background `{colors.canvas}`, text `{colors.body}`. 6-column link list.

**`footer-link`** — Individual footer link. Background transparent, text `{colors.body}`.

**`legal-band`** — Bottom strip beneath footer columns. All text `{colors.muted}` at `{typography.caption}`.

Do's and Don'ts

Do

Don't

Responsive Behavior

Breakpoints

| Name | Width | Key Changes |

|---|---|---|

| Mobile | < 640px | Hero h1 80→40px; feature card grid 1-up; asset row stacks; nav collapses to hamburger; layered product-UI cards collapse to single card. |

| Tablet | 640–1024px | Hero h1 64px; feature card grid 2-up; asset rows stay horizontal but compress columns. |

| Desktop | 1024–1280px | Full hero h1 80px; feature card grid 3-up; full asset row layout. |

| Wide | > 1280px | Content caps at 1200px; hero photography full-bleed. |

Touch Targets

Collapsing Strategy

Iteration Guide

1. Focus on a single component at a time. Reference YAML keys directly.

2. New CTAs default to `{rounded.pill}` (100px); new icon plates default to `{rounded.full}`. Cards use `{rounded.xl}`.

3. Variants live as separate entries inside the `components:` block.

4. Use `{token.refs}` everywhere — never inline hex.

5. Hover state never documented. Only Default and Active/Pressed.

6. CoinbaseDisplay 400 for display, CoinbaseSans 400/600/700 for body. CoinbaseMono on every number.

7. Coinbase Blue stays scarce — one or two blue moments per band.

Known Gaps