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 t…

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

22tokens
11type steps
7radius steps
4pxspacing base

Coinbase, in one page

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:

Do's and don'ts

Do

  • Reserve {colors.primary} (Coinbase Blue) for primary CTAs, wordmark, brand-glyph illustrations, inline accent links.
  • Set every CTA as {rounded.pill} (100px); every asset glyph as {rounded.full}.
  • Keep CoinbaseDisplay headlines at weight 400.
  • Use the dark/light band rotation as page rhythm.
  • Render every numerical value in CoinbaseMono via {typography.number-display}.
  • Pair every dark hero with a layered product-UI mockup card stack.

Don't

  • Don't introduce a secondary brand color. Coinbase Blue is the only action color; trading green/red are semantic-only.
  • Don't bold display copy — display sits at weight 400; bolding shifts the brand voice.
  • Don't add drop shadow tiers — system has one shadow tier.
  • Don't use sharp {rounded.none} (0px) on CTAs.
  • Don't mix CoinbaseDisplay and CoinbaseSans inside the same headline.
  • Don't use trading green/red as a button background.
  • Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA color is what appears on actual product CTAs, not on injected modals.

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Coinbase design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- 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

Type:
- families: Coinbase Display, -apple-system, Segoe UI, Roboto
- scale: 12, 13, 14, 16, 18, 32, 36, 44, 52
- weights: 400, 500, 600, 700

Shape:
- radius: 0, 4, 8, 12, 16, 24, 100
- elevation: Don't add drop shadow tiers — system has one shadow tier.

Spacing: 4, 8, 12, 14, 16, 20, 24, 32, 48, 96

Rules:
- Reserve `{colors.primary}` (Coinbase Blue) for primary CTAs, wordmark, brand-glyph illustrations, inline accent links.
- Set every CTA as `{rounded.pill}` (100px); every asset glyph as `{rounded.full}`.
- Keep CoinbaseDisplay headlines at weight 400.
- Use the dark/light band rotation as page rhythm.
- Render every numerical value in CoinbaseMono via `{typography.number-display}`.
- Pair every dark hero with a layered product-UI mockup card stack.

Avoid:
- Don't introduce a secondary brand color. Coinbase Blue is the only action color; trading green/red are semantic-only.
- Don't bold display copy — display sits at weight 400; bolding shifts the brand voice.
- Don't add drop shadow tiers — system has one shadow tier.
- Don't use sharp `{rounded.none}` (0px) on CTAs.
- Don't mix CoinbaseDisplay and CoinbaseSans inside the same headline.
- Don't use trading green/red as a button background.

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Brand & Accent

  • Coinbase Blue ({colors.primary} — #0052ff): The single brand color. Every primary CTA pill, the Coinbase wordmark, and inline brand links.
  • Coinbase Blue Active ({colors.primary-active} — #003ecc): Press-state darken on the primary pill.
  • Coinbase Blue Disabled ({colors.primary-disabled} — #a8b8cc): Faded-blue tint for disabled CTAs.
  • Accent Yellow ({colors.accent-yellow} — #f4b000): A small sub-brand accent used very sparingly on Bitcoin/asset glyph fills inside feature cards. Illustrative-only, not an action color.

Surface

  • Canvas ({colors.canvas} — #ffffff): The default page floor.
  • Surface Soft ({colors.surface-soft} — #f7f7f7): Subtle alternating band surface.
  • Surface Strong ({colors.surface-strong} — #eef0f3): The light-gray fill behind secondary buttons, search pills, asset-icon plates.
  • Surface Dark ({colors.surface-dark} — #0a0b0d): Deep near-black canvas for full-bleed dark heroes, CTA bands. Same hex as {colors.ink} — page-floor and text-color share the value.
  • Surface Dark Elevated ({colors.surface-dark-elevated} — #16181c): One step lighter, used for floating product-UI mockup cards inside dark heroes.

Hairlines

  • Hairline ({colors.hairline} — #dee1e6): Default 1px divider on white surfaces.
  • Hairline Soft ({colors.hairline-soft} — #eef0f3): Lighter divider — same hex as {colors.surface-strong}.

Text

  • Ink ({colors.ink} — #0a0b0d): Display headings, primary nav, body emphasis.
  • Body ({colors.body} — #5b616e): Default running-text — slightly cool gray.
  • Body Strong ({colors.body-strong} — #0a0b0d): Same as ink, used for stronger emphasis.
  • Muted ({colors.muted} — #7c828a): Sub-titles, breadcrumbs, footer secondary.
  • Muted Soft ({colors.muted-soft} — #a8acb3): Disabled link text.
  • On Primary ({colors.on-primary} — #ffffff): White text on Coinbase Blue CTAs.
  • On Dark ({colors.on-dark} — #ffffff): White text on dark heroes.
  • On Dark Soft ({colors.on-dark-soft} — #a8acb3): Muted off-white for secondary text on dark.

Trading Semantics

  • Semantic Up ({colors.semantic-up} — #05b169): "Price up" green, text color only.
  • Semantic Down ({colors.semantic-down} — #cf202f): "Price down" red, text color only.
Type scaleRead the full spec

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

TokenSizeWeightLine HeightLetter SpacingUse
{typography.display-mega}80px4001.0-2pxHomepage hero h1
{typography.display-xl}64px4001.0-1.6pxSubsidiary heroes
{typography.display-lg}52px4001.0-1.3pxSection heads
{typography.display-md}44px4001.09-1pxCTA-band headlines
{typography.display-sm}36px4001.11-0.5pxSub-section heads — CoinbaseSans
{typography.title-lg}32px4001.13-0.4pxCard group titles
{typography.title-md}18px6001.330Component titles, asset row primary
{typography.title-sm}16px6001.250List labels
{typography.body-md}16px4001.50Default body
{typography.body-strong}16px7001.50Emphasized body
{typography.body-sm}14px4001.50Footer body
{typography.caption}13px4001.50Photo captions
{typography.caption-strong}12px6001.50Badge pill labels
{typography.number-display}18px5001.40Asset prices, percent changes — CoinbaseMono
{typography.button}16px6001.150Standard CTA pill
{typography.nav-link}14px5001.40Top-nav menu items

Principles

  • Display weight stays at 400. The single most distinctive typographic choice — signals "calm institutional brand" rather than "trading-platform urgency."
  • Negative letter-spacing on display only. Display uses -1px to -2px tracking; body stays at 0.
  • CoinbaseMono on every number. Asset prices, percent changes — anything tabular renders in CoinbaseMono.

Note on Font Substitutes

CoinbaseDisplay, CoinbaseSans, and CoinbaseMono are licensed Coinbase typefaces.

  • CoinbaseDisplay → Inter at weight 400, letter-spacing -1.5%.
  • CoinbaseSans → Inter at weight 400/600.
  • CoinbaseMono → JetBrains Mono or Geist Mono at weight 500.
Components and layoutRead the full spec

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.

Responsive behaviourRead the full spec

Breakpoints

NameWidthKey Changes
Mobile< 640pxHero h1 80→40px; feature card grid 1-up; asset row stacks; nav collapses to hamburger; layered product-UI cards collapse to single card.
Tablet640–1024pxHero h1 64px; feature card grid 2-up; asset rows stay horizontal but compress columns.
Desktop1024–1280pxFull hero h1 80px; feature card grid 3-up; full asset row layout.
Wide> 1280pxContent caps at 1200px; hero photography full-bleed.

Touch Targets

  • Primary CTA pill at 44px height — at WCAG AAA.
  • Larger hero pill ({component.button-pill-cta}) at 56px — well above AAA.
  • Asset icon circles at 32px — borderline; padded 8px row creates effective 48px tap zone.
  • Search pill at 44px height — at AAA.

Collapsing Strategy

  • Top nav switches to hamburger sheet below 768px. Sign Up CTA stays visible.
  • Hero h1 steps down: 80 → 64 → 52 → 44 → 36px on smallest screens.
  • Layered product-UI mockup cards collapse from 2-3 stacked into a single card on mobile.
  • Pricing tier rows: 3-up → 2-up → 1-up.
  • Asset rows on mobile stack vertically: ticker line on top, price + change line beneath.

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-coinbase {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #0a0b0d;
  --heading-color: #0a0b0d;
  --link-color: #0052ff;
  --link-hover-color: #0042cc;
  --border-color: #d3d3d3;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(10,11,13,0.06);
  --card-hover-shadow: 0 6px 18px rgba(10,11,13,0.12);
  --header-bg: #0a0b0d;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #606062;
  --button-bg: #0052ff;
  --button-text-color: #ffffff;
  --button-hover-bg: #0042cc;
  --button-border: none;
  --button-border-radius: 12px;
  --button-secondary-bg: #f0f0f0;
  --button-secondary-text-color: #0a0b0d;
  --button-secondary-hover-bg: #e2e2e2;
  --button-secondary-border: 1px solid #d3d3d3;
  --prompt-bg: #f3f3f3;
  --prompt-text-color: #0a0b0d;
  --base-font: var(--font-helvetica);
  --heading-font: var(--font-roboto);
  --card-border-radius: 12px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
volt/design-md/coinbase/DESIGN.md · 25.1 KB
Repository
VoltAgent/awesome-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.