Logo, icons, banners and backgrounds for tokenhop, a self-hosted AI routing gateway: one OpenAI-compatible endpoint, every model, automatic fallback.
The name is always lowercase: tokenhop.
A lowercase t whose crossbar arcs over and lands on a token: a request hopping to the next provider. The tile uses Signal coral; the glyph is ink.
| File | Use |
|---|---|
svg/mark.svg |
Primary mark: coral tile, ink glyph |
svg/mark-live.svg |
Mark with a lime "live" token, for live or active states |
svg/mark-ink.svg |
Inverted: ink tile, coral glyph, lime token |
svg/app-icon.svg |
Full-bleed maskable app icon (glyph inside the central 80% safe zone) |
svg/glyph.svg |
Glyph only, currentColor |
svg/mono.svg |
Black glyph on transparent, for tray/menu-bar template icons |
svg/wordmark.svg |
tokenhop wordmark, currentColor |
svg/lockup-dark.svg / lockup-light.svg |
Mark + wordmark for dark / light grounds |
svg/lockup-mono.svg |
One-color lockup, currentColor |
svg/banner-social.svg |
GitHub social preview, 1280×640 |
svg/banner-readme-dark.svg / -light.svg |
README hero, 1600×400 |
svg/background-dark.svg / -light.svg |
Wallpaper / slide background, 3840×2160 |
png/ |
Rasterized sizes: mark 16–1024, app icon 192/512, mono 16–44, lockups @2x, banners, backgrounds |
All text is converted to outlines. No font needs to be installed to use the files.
| Token | Hex | Use |
|---|---|---|
| Coral | #FF6A48 |
Tile, brand accents on dark |
| Coral (light ink) | #CF4323 |
Coral text or lines on light grounds (4.15:1 on paper, so use it for large text or graphics only) |
| Ink | #0D0E12 |
Glyph, dark ground |
| Paper | #F3F1EA |
Light ground |
| Lime | #D5F84B |
The live token only; never a large fill |
| Text on dark / light | #F3F2EE / #16171C |
Wordmark |
Contrast: ink glyph on the coral tile is 6.8:1. The wordmark is 17.2:1 on ink and 15.8:1 on paper.
- Clear space: at least 25% of the tile width on every side.
- Minimum size: the mark at 16px; the lockup at 20px tile height.
- Colors: use the coral tile with the ink glyph. On light grounds, keep the coral tile; don't recolor the glyph.
- Don't:
- stretch, rotate, outline or add shadows
- put a gradient on the tile
- recolor the token, except lime in
mark-live - set the wordmark in another font or capitalize it
- Wordmark: Bricolage Grotesque 800, letter-spacing −0.02em.
- Tagline: Geist Regular.
Both fonts are under the SIL Open Font License 1.1 (fonts/), and they're used here as outlined glyphs.
source/build.mjs writes every SVG. source/rasterize.mjs renders the PNGs with headless Chromium through playwright-core.
cd source
node build.mjs
PLAYWRIGHT_NODE_MODULES=/path/to/node_modules/ CHROME_PATH=/path/to/chrome node rasterize.mjsThe text is pre-outlined into source/*-font-units.svg using source/text.py (fontTools):
uvx --from fonttools python text.py BricolageGrotesque-800.ttf tokenhop wordmark-font-units.svg -20Logo and brand assets © tokenhop. You may use them to refer to tokenhop, but not to imply endorsement or for other products. Fonts are OFL-1.1.
