Skip to content

Venmo Design System

Venmo's social-payments design system as a DESIGN.md file. Blue #008cff, Athletics 500, Scto Grotesk A, 20 colors, 18 components. For React, Next.js, and AI tools.

Add shadcn.io to your AI agent. · Pro It installs blocks, icons and templates in your design system from a prompt, with Pro.

Set up MCP
Primary
#008cff
Typeface
Scto Grotesk A
Shape
Mixed
Base radius
24px
Colors
20
Type tokens
12
Components
18
Spacing values
9

About

About Venmo DESIGN.md

Curated by Dov Azencot · Updated May 13, 2026 · Source venmo.com (opens in a new tab)

Venmo's marketing canvas is what happens when a peer-to-peer payments brand decides photography of friends does the warmth typography would otherwise carry. The page opens on the header gradient `#008cff` — the brand's signature electric blue — fading down to the white hero where "Pay friends." renders in Athletics at 63px / weight 500 with `letterSpacing: -1.89px`. Below the fold the page alternates two structural surfaces: white `#ffffff` for photography catalogue rows ("Venmo everything online and in-store", "Venmo your friends", "Grow a business") and warm sand `#f1efea` for the rotating Stash-card hero band. The primary button is a pill at radius `1000px` — the literal value Venmo ships — filled `#0074de` with white text. The signature blue `#008cff` is reserved for the page-top gradient and the rotating hero card mockup rather than the button itself. Body text runs Scto Grotesk A at 16/22.4 or 17.86/25 at weight 400, with weight 700 reserved for inline link emphasis on a small set of anchor rows.

This page packages the Venmo marketing canvas into a single DESIGN.md file built on the Google Labs DESIGN.md specification. Inside the spec: 20 colors tokens grouped into brand, link, ink, surface, and hairline roles; 12 typography tokens spanning a 63px Athletics hero down to a 14px PayPal Open footer caption; six radius tokens including the load-bearing `1000px` pill and the 32px product-tile corner that appears 12 times across the page; nine spacing tokens climbing from 4px through a 53px section band; and 18 components tokens covering the gradient header, both pill button variants, the rotating hero card, the four photography-led product rows, the Venmo Debit / Check Out / Credit Card tile triad, the FAQ-style link rows, and the regulatory footer. Every hex is quoted; every Athletics weight (500) and Scto Grotesk A weight (400 / 500 / 700) is reproducible.

A working React or Next.js developer drops the file into Claude, Cursor, or GitHub Copilot and the agent reproduces Venmo's social-payments rhythm rather than a generic neobank or wallet template. Tokens map onto Tailwind config or CSS variables, and components reference each other by name so `card-product-tile` resolves through `{colors.surface-sand}` and `{rounded.lg}` to the actual `#f1efea` and `32px`. The system is worth studying for one disciplined choice that mirrors Airbnb's restraint with Rausch and Monzo's restraint with Hot Coral: a famous brand colour treated as the page's atmospheric voltage — the colour of the header sky, the colour of the rotating card — rather than the colour of the click. Where most payments brands paint the CTA in their brand blue, Venmo paints the weather.

What makes it distinct

5

  1. Single voltage blue`#008cff` carries the header gradient and rotating hero card, never the primary CTA fill
  2. Athletics 500 across every heading33px section opener up to a 63px hero with `letterSpacing: -1.89px`
  3. Pill geometry at 1000pxthe explicit value Venmo ships, not the conventional 9999px shortcut
  4. Sand-and-white band rhythm`#f1efea` warm sand alternating against `#ffffff` photography rows, no gradient transitions
  5. Two-typeface stackAthletics for display, Scto Grotesk A for body, PayPal Open scoped to the legal-footer chrome only

venmo.com

Live at venmo.com

A snapshot of the brand in production. Scroll the frame to see the whole page.

Venmo's website at venmo.com

Colors

20 colors

Venmo's system runs on #008cff as its primary voltage, used in 2 of 18 components. Type is set in Scto Grotesk A across 12 tokens from 14px to 63px, weights 400–700. Shape language is mixed across 18 components, blending pills, soft rounds, and squarer corners.

Brand & Accent

Sparing, CTA-only voltage · 7

Surface

Page and card backgrounds · 3

Text

Headlines, body, captions · 6

Borders & Hairlines

Dividers, outlines, rules · 3

Other

Specialty colors · 1

Typography

12 type tokens

Set in Scto Grotesk A across 12 tokens, from 14px to 63px, weights 400–700. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xxl63px · weight 500 · lh 1 · tracking -1.89pxThe quick brown fox jumps over the lazy dog
  • display-xl51px · weight 500 · lh 1.05 · tracking -1.02pxThe quick brown fox jumps over the lazy dog
  • display-md33px · weight 500 · lh 1.05 · tracking -0.67pxThe quick brown fox jumps over the lazy dog
  • body-lg22px · weight 400 · lh 1.4The quick brown fox jumps over the lazy dog
  • body-lg-strong22px · weight 700 · lh 1.4The quick brown fox jumps over the lazy dog
  • body-md18px · weight 400 · lh 1.4The quick brown fox jumps over the lazy dog
  • body-md-lead18px · weight 500 · lh 1.4The quick brown fox jumps over the lazy dog
  • body-sm16px · weight 400 · lh 1.4The quick brown fox jumps over the lazy dog
  • link-md18px · weight 700 · lh 1.33The quick brown fox jumps over the lazy dog
  • link-sm16px · weight 700 · lh 1.38The quick brown fox jumps over the lazy dog
  • footer-label14px · weight 600 · lh 1.71The quick brown fox jumps over the lazy dog
  • footer-body14px · weight 400 · lh 1.43The quick brown fox jumps over the lazy dog

Layout

Radii and spacing

7 corner radii and 9 spacing values. Shape language: mixed.

Radii

  • none0px
  • xs4px
  • sm8px
  • md24px
  • lg32px
  • circle50%
  • full1000px

Spacing

  • xxs4px
  • xs8px
  • sm12px
  • md16px
  • lg24px
  • xl32px
  • xxl48px
  • section53px
  • band79px

Components

18 components

Each rendered from its tokens (color, type, radius, padding) on Venmo's own canvas.

  • Header Gradient
    header-gradientHeader Gradient
  • Top Nav
    top-navTop Nav
  • Nav Link
    nav-linkNav Link
  • Button Primary
    button-primaryButton Primary
  • Button Primary Hover
    button-primary-hoverButton Primary Hover
  • Button Outline Dark
    button-outline-darkButton Outline Dark
  • Hero Band Light
    hero-band-lightHero Band Light
  • Hero Band Sand
    hero-band-sandHero Band Sand
  • Card Rotating Hero
    card-rotating-heroCard Rotating Hero
  • Card Product Tile
    card-product-tileCard Product Tile
  • Card Photography Row
    card-photography-rowCard Photography Row
  • Card Feature Pale
    card-feature-paleCard Feature Pale
  • Link List Row
    link-list-rowLink List Row
  • Inline Link
    inline-linkInline Link
  • Badge Tag
    badge-tagBadge Tag
  • Footer Light
    footer-lightFooter Light
  • Footer Link
    footer-linkFooter Link
  • App Download Pill
    app-download-pillApp Download Pill

In use

The system, in use

Venmo's tokens on the kind of product it builds.

Build something people actually use.

A short paragraph of marketing copy that previews how the brand's display tier and body tier read together. Two sentences is usually enough.

Get startedLearn more
Marketing heroHeadline, sub-copy, primary CTA — the universal homepage opener.

FAQ

Venmo design system FAQ

Common questions about Venmo's tokens, components, and how to use this DESIGN.md in your project.

Read next

Specs, directories, and component libraries that pair with this design system.

Use it

Use Venmo in your project

One machine-readable file. Drop it into Claude, Cursor, or any AI tool that reads DESIGN.md.

Download DESIGN.md
  1. Download the DESIGN.md

    One machine-readable file: every color, type, radius, spacing, and component token of Venmo.

  2. Feed it to your AI tool

    Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Venmo's visual language.

  3. Reference the tokens directly

    Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.

Read the full DESIGN.md: overview, rationale, do’s and don’ts

Overview

Venmo's marketing canvas is two structural surfaces — white #ffffff and warm sand #f1efea — alternating in full-bleed bands, with the signature blue #008cff reserved for the atmospheric weather above the page rather than the click below it. The page opens on a #008cff header gradient fading into the white hero where "Pay friends." sits in Athletics at 63px / weight 500 with letterSpacing: -1.89px. Below it, photography of friends holding phones — never typography — carries the warmth across rows. The primary CTA on every band is a pill #0074de with white text at radius 1000px — the brand's explicit pill value, not the customary 9999px shortcut.

Atmospheric blue as signature: Venmo treats {colors.brand} (#008cff) the way Airbnb treats Rausch and Monzo treats Hot Coral — as a material, not a CTA. The header gradient is #008cff. The rotating Stash card mockup is #008cff. The button is #0074de (one step darker). Where most payments brands paint the CTA in their brand colour, Venmo paints the weather above it.

Display type is Athletics at the single weight 500 across every tier from a 33px section opener up to a 63px hero with lineHeight: 1.0 and letterSpacing ranging -0.67px to -1.89px. There is no thin display alternative and no weight 700 variant. Body type is Scto Grotesk A at weight 400 for prose, weight 500 for lead paragraphs, and weight 700 for inline link emphasis. PayPal Open Regular is scoped to the regulatory footer at 14px and never appears above the fold — a structural reminder that Venmo is a PayPal subsidiary, but the brand voice on the marketing canvas is its own.

Key Characteristics:

  • Two-mode band rhythm — {colors.canvas-light} (white) for photography catalogue rows, {colors.surface-sand} (#f1efea) for the rotating-card band, switched in full-bleed with no soft transitions.
  • Signature {colors.brand} (#008cff) is the colour of the header sky and the rotating hero card — never the colour of a CTA button.
  • The primary CTA is {components.button-primary} — a {colors.brand-link} (#0074de) pill with white text, {rounded.full} (1000px) radius, {spacing.sm} 34px padding, 48px tall.
  • Display is Athletics at weight 500 exclusively — 33px to 63px, with letterSpacing from -0.67px to -1.89px and lineHeight: 1.0 on the hero.
  • The pill radius is the literal value 1000px rather than the customary 9999px — a deliberate maximal-pill commitment that survives in production CSS.
  • Cards lean on one corner: 32px on every product tile in the "Venmo everything" triad and on the rotating hero card. The 32px radius appears 12 times — by far the dominant value on the page.

Colors

Source pages: home (/).

Brand

  • Venmo Blue ({colors.brand} — #008cff): frequency 4. Used as gradient (4). The signature electric blue — a fully-saturated voltage that fills the header gradient at the top of the page and the rotating Stash card mockup. Rare on the marketing canvas (under 5% of total chromatic load); reserved as an atmospheric colour. Where most fintech brands push their primary into CTA fills, Venmo holds it back to the weather above and the object on the page.
  • Brand Link ({colors.brand-link} — #0074de): frequency 19. Used as text (11), border (8). One step darker than the signature — fills the primary pill button, anchors text on link-list rows, and renders inside the Venmo Debit Card / Credit Card tile labels. The actual interactive blue on the page.
  • Brand Link Hover ({colors.brand-link-hover} — #005ba4): frequency 2. Used as text (1), border (1). Two steps darker than #0074de — used on pressed/hover states for primary CTAs and on a single body-text emphasis row.
  • Brand Legacy ({colors.brand-legacy} — #0070ba): frequency 6. Used as text (3), border (3). A slightly older PayPal-leaning blue captured by the extractor — appears on a small number of legacy elements (the "Discover" rail label, one footer link). Reserved for transitional UI.
  • Brand Pale ({colors.brand-pale} — #deefff): frequency 2. Used as bg (2). The pale-cyan tint that fills a single info chip set and the soft surface behind tertiary callouts. The brand's tertiary tint.
  • Brand Header Deep ({colors.brand-header-deep} — #012169): the themeColor declared in the brand's manifest at <meta name="theme-color"> — a deep navy that drives the browser-chrome colour on iOS Safari and Chrome. It does not paint any pixel on the rendered page, but it is the declared brand voltage at the manifest level. Reserved for browser chrome and PWA install surfaces.

Ink

  • Ink ({colors.ink} — #000000): frequency 314. Used as text (156), border (155), shadow (3). The brand's load-bearing dark — pure black on every heading and most body prose on white. Not a navy or near-black; Venmo paints body type with true #000000, which inverts the Monzo / Mercury convention of using a deep navy for warmth.
  • Ink Mute ({colors.ink-mute} — #2f3033): frequency 148. Used as text (74), border (74). A very dark gray with a faint blue tint — fills secondary body prose, the bodyText <p> rows under section headings, and footer-light copy in PayPal Open. The brand's "second ink" colour.

Surface

  • Canvas Light ({colors.canvas-light} — #ffffff): frequency 18. Used as bg (13), gradient (4), border (1). Default page background; carries the photography catalogue bands, the FAQ-style link-list rows, the Venmo Debit / Check Out / Credit Card tile triad, and the footer.
  • Surface Sand ({colors.surface-sand} — #f1efea): frequency 1. Used as bg (1). The warm off-white sand band — fills the rotating Stash card hero strip. The single non-white structural surface on the page; reads as warmth without leaving the neutral spectrum.
  • Surface Pale Blue ({colors.surface-pale-blue} — #deefff): the same hex as {colors.brand-pale}, doubling as a tertiary tinted surface for chips and soft callouts. Scoped to chip backgrounds only.

On-color

  • On Brand ({colors.on-brand} — #ffffff): white text and iconography on {colors.brand} and {colors.brand-link} surfaces — the only legible-foreground colour over saturated blue.
  • On Ink ({colors.on-ink} — #ffffff): the same hex as on-brand, scoped to dark-fill app-download pills.

Hairline & Scrim

  • Hairline Light ({colors.hairline-light} — rgba(0,0,0,0.12)): 12%-alpha black — 1px borders between link-list rows and the footer-top divider.
  • Hairline Mute ({colors.hairline-mute} — rgba(47,48,51,0.16)): 16%-alpha ink-mute — 1px borders inside FAQ-style accordions.
  • Divider Soft ({colors.divider-soft} — rgba(0,0,0,0.06)): 6%-alpha black — micro-dividers on dense legal-footer rows.
  • Scrim ({colors.scrim} — rgba(0,0,0,0.5)): 50%-alpha black — image overlay on photography rows where text needs contrast against a busy background.
  • Brand Glow ({colors.brand-glow} — rgba(0,140,255,0.16)): 16%-alpha signature blue — used as a faint atmospheric wash on the rotating hero card edge.
  • Ink Overlay ({colors.ink-overlay} — rgba(0,0,0,0.04)): 4%-alpha black — the lightest hover wash on outline pill buttons.
  • On Dark Mute ({colors.on-dark-mute} — rgba(255,255,255,0.72)): 72%-alpha white — secondary copy on the #008cff header gradient and on rotating card sub-labels.

Semantic

The marketing canvas does not declare a separate semantic palette (success / warning / danger / info). Error states live inside the authenticated app product (transaction failures, splits, the social feed) and are out of scope here.

Typography

Font Family

Three families, with one scoped exception:

  • Athletics at the single weight 500 — every heading tier from {typography.display-md} (33px) up to {typography.display-xxl} (63px) renders in this one weight. There is no thin display alternative; there is no weight 700 variant.
  • Scto Grotesk A at weights 400 (body prose), 500 (lead paragraphs), and 700 (inline link emphasis and anchor labels). Body sizes are 16px (caption), 18px (default), and 22px (lead).
  • PayPal Open Regular at weights 400/500/600 — scoped exclusively to the regulatory footer at 14px. Never appears above the fold.

Athletics is proprietary to Venmo's display licensing; Scto Grotesk A is by Schick Toikka; PayPal Open is the parent company's UI sans. When Athletics cannot be licensed, Söhne Display or Inter Display at weight 500 with letterSpacing: -1.5px to -2px is the closest open-source path. Scto Grotesk A's substitute is Inter or Söhne at weights 400/500/700 — the brand's grotesque silhouette matches both.

Hierarchy

TokenSizeWeightLine HeightTrackingUse
{typography.display-xxl}63px5001.0-1.89pxHero ("Pay friends.")
{typography.display-xl}51px5001.05-1.02px"Meet Venmo" section opener
{typography.display-md}33px5001.05-0.67pxProduct tile h3 ("The Venmo Debit Card")
{typography.body-lg}22px4001.40Hero supporting paragraph
{typography.body-lg-strong}22px7001.40Inline strong emphasis inside lead paragraphs
{typography.body-md}18px4001.40Default prose body
{typography.body-md-lead}18px5001.40Product tile description, lead paragraph variant
{typography.body-sm}16px4001.40Nav link prose, caption rows
{typography.link-md}18px7001.330"Learn more" / "Sign up" anchor labels
{typography.link-sm}16px7001.380Top-nav link labels
{typography.footer-label}14px6001.710App-download pill label, footer column heading
{typography.footer-body}14px4001.430Footer legal copy, FCA / FDIC disclosure rows

Principles

  • Single display weight is the brand. Athletics never appears below weight 500 in the marketing system. Drop to Scto Grotesk A only when the size is below 24px and the role is body or lead.
  • Negative tracking scales with size. Athletics tracks -0.67px at 33px, -1.02px at 51px, and -1.89px at 63px — the larger the type, the tighter the letters. Scto Grotesk A keeps letterSpacing: normal at every size.
  • Line-height collapses on the hero. display-xxl at 63px uses lineHeight: 1.0. Every other display token uses 1.05; every body token uses 1.4.
  • PayPal Open is footer-only. The parent-company UI sans is structurally walled off to legal chrome — never use it above the fold or inside product-tile copy.

Note on Font Substitutes

Athletics and Scto Grotesk A are both proprietary. Söhne Display at weight 500 (display) plus Inter Variable at weights 400/500/700 (body) is the closest open-source pairing. Avoid Helvetica or Roboto — both are too geometric for Athletics's slightly humanist display silhouette.

Layout

Spacing System

  • Base unit: 8px (with 4 / 12 / 16 sub-tokens).
  • Tokens: {spacing.xxs} 4px · {spacing.xs} 8px · {spacing.sm} 12px · {spacing.md} 16px · {spacing.lg} 24px · {spacing.xl} 32px · {spacing.xxl} 48px · {spacing.section} 53px · {spacing.band} 79px.
  • Section padding: 48–79px on marketing surfaces; 24px on mobile.
  • Card internal padding: 32px on product tiles and the rotating hero card, 24px on photography rows, 24px on pale-blue feature cards.
  • Button padding: 12px 34px on every pill variant — the same value across primary, hover, and outline.

Grid & Container

The page centers in a ~1100px column on desktop; the rotating hero card extends to the column edge with the photography rows clamping the grid to a 3-up tile triad in the "Venmo everything" row. The "Venmo your friends" and "Grow a business" rows use a 2-up split with one photography pane and one product copy pane. Section gaps tend toward 53px with the rotating-card band breathing at 79px.

Whitespace Philosophy

Bands have generous vertical breathing room (53–79px section padding) and the column width holds at ~1100px even on wide screens — the brand chooses readable rhythm over edge-to-edge density. Inside cards the rhythm tightens: 16px between body rows, 8px on adjacent label-and-value pairs.

Elevation & Depth

LevelTreatmentUse
0FlatDefault surface — most cards have no shadow at all
1Photography fillThe rotating card lifts off the sand band via image content, not shadow
21px solid rgba(0,0,0,0.12) hairlineProduct tiles, link-list rows, footer top divider
3Band switch — white slams against #f1efea sandThe brand's primary depth medium

Decorative Depth

Venmo's depth system is structural: the alternation between {colors.canvas-light} and {colors.surface-sand} is the visual lift, not a shadow ladder. Drop shadows do not appear on any extracted component — the page registers depth through hairline borders and band switches. The header gradient #008cff at the very top of the page is the one soft transition; below it every band edge is hard.

Shapes

Border Radius Scale

TokenValueCountUse
{rounded.none}0px—Hero bands, footer, nav, FAQ-style row borders
{rounded.xs}4px3Inline tags, small badges
{rounded.sm}8px2Form inputs, small surfaces
{rounded.md}24px2Mid-size feature cards
{rounded.lg}32px12Product tiles, rotating hero card — the dominant page radius
{rounded.circle}50%1Avatar circles, profile photos
{rounded.full}1000px4All pill buttons and app-download pills

Pill Geometry

The 1000px value is the actual radius Venmo ships — not the customary 9999px infinity-radius shortcut. The literal 1000px reads in the stylesheet as a maximal-pill commitment rather than a "round it off to whatever" convention. Every button across primary, hover, and outline variants uses this same radius, with 12px 34px padding and a 48px height. The 32px product-tile corner is the page's load-bearing decorative geometry — it appears 12 times across the rotating hero card and the "Venmo everything" tile grid, three times more than the next-most-common value.

Components

Headers & Navigation

header-gradient — the brand-blue page-top gradient strip.

  • Background {colors.brand} (#008cff), text {colors.on-brand} (#ffffff) via {typography.link-sm}, height 64px, padding 16px 24px. The single atmospheric blue surface on the page; fades into the white hero immediately below.

top-nav — the page header underneath the gradient.

  • Background {colors.canvas-light}, text {colors.ink} weight 700 via {typography.link-sm}. Logo wordmark on the left, primary nav center, sign-in + filled button-primary on the right.

nav-link — inline nav anchor.

  • Background {colors.canvas-light}, text {colors.ink} weight 700 via {typography.link-sm}. No underline default; no hover colour shift documented.

Buttons

button-primary — the dominant CTA system-wide.

  • Background {colors.brand-link} (#0074de), text {colors.on-brand} (#ffffff), type {typography.link-md}, padding 12px 34px, rounded {rounded.full} 1000px, height 48px.
  • Used on every marketing band as the single filled pill. {colors.brand} (#008cff) never fills this button.

button-primary-hover — the pressed/hover variant.

  • Background {colors.brand-link-hover} (#005ba4), inherits the rest from button-primary. Two steps darker than the base — a luminance step, not a chromatic shift.

button-outline-dark — 1px ink border on white.

  • Background {colors.canvas-light}, text {colors.ink}, 1px solid {colors.ink} border, same pill geometry, height 48px. Appears as the secondary CTA on rows where the filled blue pill anchors the primary action.

Hero & Bands

hero-band-light — the white hero carrying "Pay friends."

  • Background {colors.canvas-light}, text {colors.ink}, type {typography.display-xxl} (63px / 500 / letterSpacing: -1.89px), padding 53px 24px. The brand's tightest display tracking and largest type tier live here.

hero-band-sand — the warm sand band carrying the rotating Stash card.

  • Background {colors.surface-sand} (#f1efea), text {colors.ink}, type {typography.display-md} (33px / 500), padding 53px 24px. The single non-white structural band on the page.

Cards

card-rotating-hero — the signature-blue Stash card mockup.

  • Background {colors.brand} (#008cff), text {colors.on-brand} (#ffffff), padding 32px, rounded {rounded.lg} 32px. Hosts the rotating "Venmo everything" hero illustration on the sand band — the single component where {colors.brand} fills the surface.

card-product-tile — the "Venmo Debit / Check Out / Credit Card" triad.

  • Background {colors.canvas-light}, text {colors.ink}, type {typography.body-md-lead}, padding 32px, rounded {rounded.lg} 32px, 1px {colors.hairline-light} border. The dominant card geometry on the page — three tiles render in this exact spec.

card-photography-row — the "Venmo your friends" and "Grow a business" rows.

  • Background {colors.canvas-light}, text {colors.ink}, type {typography.body-lg}, padding 24px, rounded {rounded.lg} 32px. Pairs photography of friends holding phones with a single product copy block per row.

card-feature-pale — soft pale-blue interlude.

  • Background {colors.surface-pale-blue} (#deefff), text {colors.ink}, padding 24px, rounded {rounded.md} 24px.

Rows & Lists

link-list-row — the FAQ-style anchor row.

  • Background {colors.canvas-light}, text {colors.brand-link} (#0074de) via {typography.link-md} weight 700. Padding 16px 0px, 1px {colors.hairline-light} border between rows. The single place blue text appears as the row's anchor colour.

inline-link — body-prose inline link.

  • Background {colors.canvas-light}, text {colors.brand-link} via {typography.body-lg-strong} weight 700. No padding, no border — pure anchor text inside paragraphs.

badge-tag — small pale-blue chip.

  • Background {colors.surface-pale-blue} (#deefff), text {colors.brand-link}, type {typography.body-sm}, padding 4px 8px, rounded {rounded.xs} 4px. The sharpest-cornered geometry in the system.

Tiles & Footer

app-download-pill — dark-fill app-store pill.

  • Background {colors.ink} (#000000), text {colors.on-ink} (#ffffff), padding 12px 24px, rounded {rounded.full} 1000px, height 44px. The single ink-filled pill on the page; reserved for App Store / Google Play download CTAs.

footer-light — the regulatory footer.

  • Background {colors.canvas-light}, text {colors.ink-mute} (#2f3033) via {typography.footer-body}, padding 48px 24px, 1px {colors.hairline-light} top border. Holds 4 columns of link groups, social icons, and the FDIC / Synchrony Bank disclosure row.

footer-link — footer anchor row.

  • Background {colors.canvas-light}, text {colors.ink-mute} via {typography.footer-label} weight 600. PayPal Open Regular renders here and only here on the page.

Do's and Don'ts

Do

  • Reserve {colors.brand} (#008cff) for atmospheric surfaces — the header gradient and the rotating hero card. The signature blue fills header-gradient and card-rotating-hero and no other component.
  • Use {colors.brand-link} (#0074de) as the primary CTA fill across every band — the one-step-darker blue is the brand's CTA voltage, not the signature #008cff.
  • Render every heading in Athletics at weight 500 with negative letter-spacing scaling to size. Drop to Scto Grotesk A only when the type tier is {typography.body-lg} (22px) or smaller.
  • Use literal 1000px for pill radius — not 9999px. The brand ships the explicit value.
  • Switch background colour in full-bleed bands from #ffffff to #f1efea sand directly, never with gradient transitions — the slam is the depth system.
  • Scope PayPal Open Regular to the footer at 14px. The parent-company UI sans is structurally walled off from every above-the-fold surface.

Don't

  • Don't fill a CTA with {colors.brand} (#008cff) — the brand assigns the signature blue to atmosphere (header gradient, card mockup), not to actions. A #008cff filled button breaks the disciplined-scarcity rule that gives the colour its voltage and reads as a child of the gradient strip above.
  • Don't bump Athletics below weight 500 — the single-weight-500 commitment is the brand's editorial signature. Lighter display weights collapse Athletics's slightly humanist silhouette into a generic display sans.
  • Don't apply positive letter-spacing to Athletics display tokens — every Athletics token sits at negative tracking from -0.67px to -1.89px. Positive tracking inverts the brand's typographic signature and reads as generic editorial.
  • Don't substitute 9999px for {rounded.full} (1000px) on buttons. The visual result clips identically, but the literal 1000px carries the brand's stylesheet voice.
  • Don't use #2f3033 for primary body text — it is the brand's ink-mute (frequency 148, used as secondary text and footer-light copy). The primary body ink is {colors.ink} (#000000); reserve #2f3033 for secondary rows under section headings and footer prose.
  • Don't soft-fade between {colors.canvas-light} and {colors.surface-sand} band boundaries — the hard slam is the brand's structural depth medium; a gradient transition removes the catalogue rhythm that lets photography do the warmth.
  • Don't use PayPal Open Regular above the fold. The font is licensed for the parent-company chrome at the footer; using it on a hero or product tile breaks the brand-voice boundary the marketing canvas keeps strict.

Known Gaps

  • Hover and pressed states are not fully captured across button variants — only the base button-primary and the button-primary-hover luminance step are documented. The brand likely applies a subtle opacity lift on button-outline-dark hover, but no precise value is extractable.
  • Focus rings rely on browser-default outline behaviour; no token captures the focus colour or stroke width.
  • Logged-in app surfaces (the social transaction feed, splits, the debit-card account view, Crypto holdings, Stash investing dashboards) are out of scope. Only the public marketing canvas at venmo.com is in this spec.
  • Rotating hero illustration palette inside card-rotating-hero (the gradients on each rotating Stash card variant, the sage-green Stash card fill, the Credit Card metallic mockup) appears as raster art rather than CSS-rendered colour and is not enumerated as design tokens.
  • Mobile-app screenshot art direction inside the "Venmo your friends" and "Grow a business" photography rows is described in prose but not tokenized — the photography is treated as content, not as a design token.
  • Semantic palette (success, warning, danger, info) is not declared on the marketing canvas — error states live inside the authenticated app product and are out of scope here.
  • Browser theme color #012169 from <meta name="theme-color"> does not paint any pixel on the rendered page; it is captured here as {colors.brand-header-deep} for completeness but is reserved for browser-chrome PWA install surfaces.

Banking & Payments

More systems like this

More DESIGN.md files in Banking & Payments.

Pricing

Build it with Pro

The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.

4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.

Billed once a year in USD. Cancel anytime.

Individual

For personal projects & open source

$32instead of $49/mo

$389 billed yearly

  • How many people can use the license.Seats: 1 seat
  • Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
  • Production-ready React sections: hero, pricing, features, dashboards and more.Pro blocks: 6,000+ blocks
  • Complete multi-page sites you can ship as they are.Templates: All 14 templates
  • React icons from every major library, installable with one command.React icons: 294k+ icons
  • Presets that restyle every block, in light and dark.Themes: All 59 themes
  • Lets your AI editor search, preview and install blocks for you.MCP server: Basic usage
  • Priority requests are answered first.Support: Standard

Team

Most popular

For freelancers, agencies & startups

$66instead of $99/mo

$789 billed yearly · ≈ $13/dev/mo

Everything in Individual, plus

  • How many people can use the license.Seats: Up to 5 seats
  • Client work, SaaS products and anything you charge for.Commercial use: Included
  • Lets your AI editor search, preview and install blocks for you.MCP server: High usage
  • Priority requests are answered first.Support: Priority

Organization

For companies with larger teams

$132instead of $199/mo

$1,589 billed yearly

Everything in Team, plus

  • How many people can use the license.Seats: Unlimited seats
  • Lets your AI editor search, preview and install blocks for you.MCP server: Unlimited usage
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

Your system, built for you

Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.

Get Pro