The Infinite brand system
Marks, colour, and type as they ship. Colour and type mirror the tokens in app/globals.css; the marks come from the Marks Figma file.
Marks
The mark is a coin in motion — four nested meridians, each broken at the base. It carries the brand alone; the lockup adds the wordmark for first-contact surfaces like the nav and the footer.
Transparent icon exports come at two margins, both from the Marks file: tight, where the mark fills 90% of the square, for app icons and avatars that get masked; and padded at 60%, for favicons and anywhere the mark sits on a busy background.
reference/tools/build-brand-kit.mjs.Or take a single file:
- mark.svgcurrentColor · no margin
- lockup.svg551×151
- wordmark.svg362×100
- badge.svgink disc
- icon-cropped-ink.svgtight · ink
- icon-cropped-white.svgtight · white
- icon-padded-ink.svgpadded · ink
- icon-padded-white.svgpadded · white
- favicon-light.svgmint square
- favicon-dark.svgink square
Colour
Ink and a single green, split into light and dark band sets. Reference the token, never the hex — the values below are read from app/globals.css.
Backgrounds
--bg-surface#f2f5f3Page default--bg-surface-raised#ffffffCards, panels--bg-surface-tint#eef3f0Alternating bands--bg-accent-wash#e4efeaAccent fillsDark bands
--bg-surface-inverse#0b0d0cInverse sections--bg-panel-dark#0d0f0ePanels on dark--bg-node-dark#131615Nodes, chips on dark--border-hairline-inverse#242927Hairlines on darkText
--text-primary#101413Headings, body--text-secondary#4c5451Supporting copy--text-label#616c66Labels — AA on tint--text-inverse#f7f9f8Text on darkText on dark
--text-secondary-dark#b9c2beSupporting copy on dark--text-label-dark#7c8781Labels on darkAccents
--accent-green#007765Links, focus ring--accent-green-strong#005d50Hover, emphasis--cerulean#29c2ffData accent--status-error#b42318ErrorsAccents on dark
--accent-green-dark#00e6c5Accent on dark--accent-green-strong-dark#66eda8Emphasis on darkControls
--button-primary-bg#101413Primary button--button-primary-bg-hover#232827Primary hover--button-primary-bg-active#2a2f2dPrimary active--border-hairline#e3e9e6Hairlines, dividersTypography
One family, differentiated by weight, size, and tracking. Geist Sans carries brand and display; Geist Mono carries eyebrows, stat labels, figure labels, and code.
Geist Sans
--font-brand, --font-displayABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789
Geist Mono
--font-monoABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789
.t-display1Display 1500 · 42→78px · -0.035emMoney that moves like software
.t-display2Display 2500 · 36→60px · -0.03emOne platform for regulated money
.t-h2H2500 · 32→48px · -0.025emAccounts, payments, compliance
.t-h3H3500 · 24→28px · -0.015emBuilt for the regulated path
.t-statementStatement500 · 28→40px · -0.02emEvery decision is signed by a human
.t-statementMStatement M500 · 22→28px · -0.015emDirect answers read as prose, not a wall of display type
.t-pullQuotePull quote500 · 28→36px · -0.02emCases arrive assembled, not queued
.t-slideTitleSlide title500 · 24px · -0.015em.t-cardTitleCard title500 · 20px · -0.01emManaged Account
.t-ledeLede400 · 20px · -0.005emA single API for accounts, payments, and the compliance work around them.
.t-bodyBody400 · 16pxOpen a real deposit account with its own routing number, then move balances over ACH, wire, SWIFT, or stablecoin rails.
.t-bodySBody small400 · 14pxSettlement windows follow the receiving rail, not the sending one.
.t-captionCaption400 · 13pxFigures are illustrative and not a quote of live pricing.
.t-statNumeralStat numeral500 · 44→56px · tabular$348.5M
.t-statLabelStat label500 · 13px · +0.5pxTPV, JULY 2026
.t-eyebrowEyebrow500 · 12px · +0.5px// Products
.t-figLabelFigure label500 · 11px · +0.5px — micro-type floorORIGINATING BANK
.t-navNav500 · 14pxPlatform
.t-buttonButton500 · 14px.t-footerLinkFooter link400 · 14px · 1.7.t-footerLegalFooter legal400 · 12px.t-codeCode400 · 13pxPOST /v1/transfers
Product names
Products are set in the brand family as plain names — there is no per-product mark. Each carries a blueprint glyph in nav, the home overview, and the footer, which is the only product-level visual today.
Infinite Accounts
- Managed Account
- Deposit Account
- Wallet Account
Funds Flow
- First Party
- Third Party
Payments
- SWIFT Payments
- USD Payments
- Stablecoin Payments
- Foreign Exchange
- Transfer Routes
Compliance
- Hosted Flows
- Stablecoin Compliance
- Infinite Agents