02

Color.

The palette is warm, muted, cream-leaning. The single accent — mint — earns its place only because everything else withholds. No purple. No gradients. No glow.

Backgrounds

Page#FFFBF4

Default page background

Section#FFFBF4

Cards, panels, inset sections

Muted#F4EFE8

Table headers, panel header strips

Dark#1C1917

Hero, primary CTA, nav active

Borders

Light#D4D0C8

All panel borders, card edges

Separatorrgba(28,25,23,0.20)

Inter-panel dividers, hairlines

Text

Primary#1C1917

All headings, primary ink

Secondary#44403C

Body copy, data values

Tertiary#78716C

Labels, descriptions, captions

Muted#A8A29E

Inactive nav, empty states

Accent + Semantic

Mint#C8EA39

Live status · max tier · positive signal

Mint Darker#4D7C0F

Eyebrows, % symbols beside hero numbers

Green Value#166534

Positive monetary amounts only

Green Deep#14532D

Completed badges, settled states

Usage Rules
Mint

Live status dots. Max-tier badges. Positive real-time signals. Three uses. Nothing else.

Green

Positive monetary values only. +$36.25. Never swap with mint.

Forbidden

Purple · gradients · glow · neon · red for negatives · any hex not in this table.

03

Typography.

Two fonts. Nothing else. Space Mono carries the data and the institutional signal. Inter carries the prose. Mixing weights — not introducing new typefaces — is how hierarchy is built.

Space Mono

Monospace · 400 · 700

13.4%

$1.4M Distributed · 11 Months

Numbers. Labels. Eyebrows. Nav. Badges. CTA labels. Anything that should read as data, not prose. Always uppercase for labels with tracking 0.08–0.15em.

Inter

Sans-serif · 400 · 500 · 600

Boringly Reliable.

The same wash cycle that ran yesterday ran again today, and the revenue settled the same way it always does. Body copy lives here — measured, declarative, fact-first.

Never heavier than 600. Always cap at semibold.

Type Scale

8px8PX MICRO LABEL
10px10PX EYEBROW
12px12PX LABEL
14px14px Body small
16px16px Heading 3
20px20px Heading
24px24px Data
36pxDisplay
40pxDisplay XL

Rule 01

All Space Mono labels are uppercase with letter-spacing 0.08–0.15em. No exceptions.

Rule 02

Never Inter heavier than 600. Bold Inter reads consumer/app. Bold Mono reads data/institutional.

Rule 03

Display sizes are reserved. Used once per page maximum. They carry the page's primary claim.

04

Voice.

A competent operator reporting what the machines did today — shows the receipts, skips the hype, treats boring as the product, not the apology.

Register 01

Boringly Reliable

X, TikTok, Instagram, Reddit. Understated, proof-led, dry wit. Cultural hooks from the boring canon.

“Vault distributed 1.4% this epoch. Machines ran at 82% utilization. No operational issues.”

Register 02

Operational Yield Infrastructure

LinkedIn, investor materials, curator content. IC-committee language. Formal. No cultural references.

“The Boring Index Vault delivered a 1.3% distribution in March 2026, consistent with its operating history.”

Five Approved Narrative Patterns

Routine

Same action, repeated, value accrues.

The same wash cycle that ran yesterday ran again today.

Slow accumulation

Tiny increments compound into significance.

$4.17/day. $1,521/year. $15,210/decade.

Quiet progress

Achievement without announcement.

The vault earned again this week and nobody needed to know.

Invisible systems

Things that work without being seen.

The best yield infrastructure is the one you forget exists.

Repetition as rhythm

Structure creates the feeling of reliability.

Monday: yield. Tuesday: yield. Wednesday: yield.

Seven Target Emotions

Comfort

The machines kept running while you slept.

Trust

Eleven months. Zero defaults. That's not a pitch — it's a receipt.

Safety

Five layers before your capital is touched.

Patience

The boring part is that it compounds.

Reliability

People do laundry in every economy.

Relief

Nothing exciting happened. You earned 0.25%.

Quiet pride

You own a machine. It pays you USDC.

Always

  • Lead with what the machine did
  • Specific numbers with units and timeframes
  • Acknowledge tradeoffs and constraints upfront
  • Position competitors as 'different category', not 'worse'
  • Use 'boring' as a deliberate brand word
  • Show the waterfall — walk the layers, never summarise as 'robust'

Never

  • Exclamation marks. Emoji. Hashtags
  • Triplets (three parallel clauses)
  • Contrast pivots ('Not X. Y.')
  • Em-dash fake reveals
  • Forward yield projections as certainty
  • Hype words: moon, pump, degen, LFG, alpha, excited, bullish, revolutionary, game-changing

Vocabulary Kill List

Don't saySay instead
Earn 25% APYEffective yield varies by lockup tier, historically 8–25%
Guaranteed returnsYield derived from operating cash flows, subject to asset performance
Risk-freeFive-layer loss waterfall
Passive incomeProgrammatic yield distribution from verified operating revenue
InvestorsDepositors · Allocators · Participants
Real yield (for DualMint)Operational yield · Yield from everyday assets
05

Photography.

DualMint photography shows the machine, not the team. Always desaturated. Always captioned with operational data — never marketing copy.

Filter Rule · Always

filter: saturate(0.65);
BeforeSaturate 1.0
AfterSaturate 0.65

Every machine photo, every operator shot, every detail crop. Applied in CSS at render time so source files stay editable.

Caption Format · Required

ID-0042 · BRISBANE · 98.4% UPTIME · $1,140/MO

Caption anatomy: Space Mono 700, 9px, UPPERCASE, ink-4, letter-spacing 0.10em.

  • ID · Machine identifier
  • LOCATION · City
  • UPTIME % · Operational rate
  • EARNINGS · Monthly USDC

Five Categories

ID-0042 · BRISBANE · 98.4% · $1,140/MO

01 · Asset

The machine itself. Washer, HVAC, vertical farm.

ID-0018 · MELBOURNE · 92.1% · $890/MO

02 · Operator Context

Laundromat interior. HVAC install site. The space the machine lives in.

ID-0103 · GOLD COAST · 95.8% · $1,420/MO

03 · Telemetry

Machine with overlaid uptime, cycles, earnings. The receipt made visible.

ID-0091 · SYDNEY · 96.7% · $1,210/MO

04 · Detail

Coin slot. Sensor close-up. Dial. The mundane part doing the work.

ID-0007 · ADELAIDE · 89.3% · $760/MO

05 · Architectural

Empty laundromats. Industrial spaces. The building as character.

Placeholder gradients shown above — replace with real desaturated machine photography as it's sourced.

Required

  • • `filter: saturate(0.65)` on every image, every surface
  • • Caption with ID · Location · Uptime % · Earnings rate
  • • Border: 0.5px solid `var(--border)` on all image frames
  • • Caption style: Mono 9px bold uppercase, ink-4, tracking 0.10em

Forbidden

  • • Stock photography of any kind
  • • People as the protagonist (the machine is)
  • • Branded apparel, logos in-frame
  • • Crypto imagery (screens, wallets, charts)
  • • Full-colour or oversaturated treatments
  • • Marketing-style captions instead of operational data
06

Motion.

DualMint has one piece of permitted motion: the live data ticker. Every other surface is still. State change is communicated through colour and type weight, not movement.

ID-0031·Brisbane·$1,140/MOID-0042·Melbourne·98.4% UPTIMEID-0103·Gold Coast·$1,420/MOID-0091·Sydney·96.7% UPTIMEID-0007·Adelaide·$760/MOID-0018·Perth·$890/MOID-0066·Canberra·94.2% UPTIMEID-0029·Hobart·$1,050/MOID-0031·Brisbane·$1,140/MOID-0042·Melbourne·98.4% UPTIMEID-0103·Gold Coast·$1,420/MOID-0091·Sydney·96.7% UPTIMEID-0007·Adelaide·$760/MOID-0018·Perth·$890/MOID-0066·Canberra·94.2% UPTIMEID-0029·Hobart·$1,050/MO

Anatomy

Live dottext-mint · 10px Mono
IDID-0031text-ink-5 · 10px Mono regular
Separator·text-ink-3 · 10px Mono
LocationBrisbanetext-ink-5 · 10px Mono regular
Live metric$1,140/MOtext-mint · 10px Mono · uppercase

Behaviour

  • Continuous scroll

    Horizontal, left-to-right, no pauses, no interaction. Infinite loop via duplicated content.
  • No click targets

    Items are display, not navigation. The motion is the entire interaction.
  • No hover state

    The ticker doesn't react to a cursor. It just runs.
  • Speed

    28-second full cycle. Slow enough to read mid-sentence, fast enough to feel alive.
No-Motion Rules

No hover decoration · no background shift, no shadows

No fade-ins on scroll · content is there when you arrive

No animated counters · numbers don't tick up to value

No parallax · everything moves with the page

No transitions on cards · open / closed, nothing between

States via type + colour · weight does the work motion would

07

Components.

The recurring units that make any DualMint page recognisably DualMint. Each follows the panel anatomy: paper-4 header strip, paper-1 body, hairline separators, square corners, monospace labels.

01 · Section Panel

The foundational container.

Distribution SummaryView all

Stone-100 outer, paper-4 header strip, hairline below header, content area padded 16px / 24px.

02 · Stat Row

The atomic data unit.

VAULT TVL$1,427,310
DISTRIBUTED+$36,250
UPTIME98.4%
MACHINES247

03 · CTA Buttons

Primary, ghost, dark.

No pill shape. No gradient fills. No shadow. Mint is for badges and status — never a button fill.

04 · Status Badges

Live, completed, neutral.

LiveDistributedMax TierAvailable
Operational · 247 machines

Type badges use Space Mono 700, 8–10px, uppercase, square corners.

05 · Tier Card

Hero number + spec rows.

Max Tier

24-month lockup

15%

Effective yield. Distributed monthly in USDC.

Min$100
Term24 months

06 · Live Ticker

See Section 06.

ID-001·$1,140/MOID-002·$1,140/MOID-003·$1,140/MOID-004·$1,140/MOID-005·$1,140/MOID-006·$1,140/MOID-007·$1,140/MOID-008·$1,140/MO

The only permitted motion. Bloomberg-terminal density signaling.

Design Tokens

CSS Variables · :roottokens.css
:root {
  /* Backgrounds */
  --paper-1:    rgb(255, 251, 244);   /* Card / panel */
  --paper-2:    rgb(250, 248, 244);   /* Page */
  --paper-4:    rgb(242, 238, 232);   /* Header strips */
  --surface-dark: rgb(28, 25, 23);    /* Dark surfaces */

  /* Text */
  --ink-1:      rgb(28, 25, 23);      /* Primary */
  --ink-2:      rgb(68, 64, 60);      /* Secondary */
  --ink-4:      rgb(120, 113, 108);   /* Tertiary */
  --ink-5:      rgb(168, 162, 158);   /* Muted */
  --ink-6:      rgb(212, 208, 200);   /* Border */

  /* Accent + Semantic */
  --mint:           oklch(86% 0.175 118);   /* Live · max tier */
  --mint-darker:    oklch(55% 0.13 118);    /* Eyebrows · % */
  --positive-strong: rgb(22, 101, 52);      /* Money positive */

  /* Type */
  --font-mono:  'Space Mono', monospace;
  --font-sans:  'Inter', sans-serif;
}
Pre-Ship Checklist
  1. 01Does it feel like a private bank or Vanguard? If not — redesign.
  2. 02Is every colour in the token table? If a hex is missing, remove it.
  3. 03Is every font Space Mono or Inter?
  4. 04Is every data label uppercase Mono with tracking?
  5. 05Is every positive monetary value green-800 (positive-strong)?
  6. 06Is mint used only for live status, max tier, or real-time positive signals?
  7. 07Are all separators hairlines (no heavier than 1px, no shadow)?
  8. 08Do all calculators and inputs update in real time?
  9. 09Is the copy vocabulary appropriate for this surface's audience?
  10. 10Does every panel have a paper-4 header strip with a label?