Docs Coins

Coins

A light, shared reading-engagement layer across the mesh — subtle, never a gate, never the point.

Coins are a small shared engagement layer across the Fairy Fox mesh: opening a page you haven’t read today — anywhere same-origin under fairyfox.io — earns a coin. The counter lives in the shared chrome, beside the reader “Aa” button, and the balance is shared across every same-origin site in the browser via one origin-wide key. The canonical machine copy of this standard is in the repository at hub/standards/coins.md; the behaviour ships as the master assets/js/coins.js in the shared-chrome bundle, so a project gets coins by adopting the chrome.

The prime directive: subtle, never central

Coins are a garnish, not the meal. They must never be overused. A project may add its own coin moments, but only where they genuinely fit, and always as a small extra feeling.

  • Never gate. Coins must not unlock, restrict, or grant exclusive access to anything. The core experience is always fully available to someone with zero coins.
  • Extra reward, not the reward. Use coins to add a touch of delight on top of something already satisfying — never as the thing a user is working toward.
  • Restraint by default. If you’re unsure whether a spot warrants a coin, it doesn’t. Sprinkle, don’t shower — a project that grants coins constantly cheapens them mesh-wide.
  • Never at the brand’s expense. A coin flourish must not clutter the UI or distract from the project’s own content. If a coin moment makes the page worse, remove it.

Earning model (fixed — do not reimplement)

The earning rules and the window.FairyFoxCoins API ship in the shared bundle; a project uses them, it doesn’t re-implement them. The transparency page at /legal/coins/ explains the model in plain language, and the legal-docs brand minimum requires each node to disclose coins the same way.