> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joinbankroll.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bankroll Verified

> What the green check means, what it unlocks, and how an app gets it.

A green **✓** after an app's name — on its tile, the connect sheet, and the pay
sheet — means Bankroll has reviewed what that origin serves and signed its
manifest. Users hear it as "Verified by Bankroll".

## What it means

* The name, icon, and payment recipient the user sees are the ones Bankroll
  attested — the origin can't change them without Bankroll signing again.
* It does not mean Bankroll audited your game, your odds, or your code, and it
  changes nothing about capabilities or grants: an unverified app gets the same
  bridge, the same session, the same `charge()`.

## What it unlocks

* **Referrals** — play in your app counts toward a friend's \[qualifying
  $30](/build/share-links), and your treasury earns $10 per qualifying
  referral from your links (first 100 a month).
* **Push** — the push channel only accepts apps with a signed manifest.

## How you get it

Ask in the [Built for Bankroll Discord](https://discord.gg/FH3BbAM7t6). Bankroll fetches what your origin serves at
`/.well-known/bankroll.jwt` and `/.well-known/bankroll-icon.png`, reviews every
claim, and hands you a signed JWT. Then:

<Steps>
  <Step title="Serve it verbatim">
    Set `BANKROLL_SIGNED_MANIFEST` to the signed JWT; the SDK's `manifestRoute`
    serves it byte-for-byte. The signature covers the exact bytes, so nothing
    may touch it.
  </Step>

  <Step title="Keep the signing view live">
    `manifestRoute` answers `?signing=1` with your freshly built manifest, so a
    later change can be re-signed without unpublishing the current one.
  </Step>

  <Step title="Re-sign on any change">
    Any claim change — name, launch path, payments, the icon — needs a new
    signature. Until then the old one stays valid and the new claims aren't
    live.
  </Step>
</Steps>

<Note>
  The signature is bound to one exact origin. Preview deployments and other
  hosts serving the same JWT are not verified there — they fall back to the
  unsigned baseline, which works, just without the check.
</Note>
