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

# Rewards

> BTC reward tiers and daily payout mechanics for USDB holders

export const RewardsCalculator = () => {
  return <div className="not-prose my-6">
      <div className="rounded-2xl border border-zinc-200 dark:border-zinc-700 overflow-hidden">
        <div className="bg-gradient-to-r from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 p-4 border-b border-zinc-200 dark:border-zinc-700">
          <div className="text-sm font-semibold text-zinc-700 dark:text-zinc-300">Rewards Examples</div>
          <div className="text-xs text-zinc-500 dark:text-zinc-400">Based on current rates, BTC ~$100k</div>
        </div>

        <div className="bg-zinc-100 dark:bg-zinc-800 grid grid-cols-5 text-xs font-semibold text-zinc-600 dark:text-zinc-400">
          <div className="p-3">USDB Balance</div>
          <div className="p-3">24h Volume</div>
          <div className="p-3">Tier</div>
          <div className="p-3">Daily</div>
          <div className="p-3">Monthly</div>
        </div>

        <div className="bg-white dark:bg-zinc-900">
          <div className="grid grid-cols-5 text-sm border-b border-zinc-200 dark:border-zinc-700">
            <div className="p-3 text-zinc-900 dark:text-white">$1,000</div>
            <div className="p-3 text-zinc-600 dark:text-zinc-400">$0</div>
            <div className="p-3 text-green-600 dark:text-green-400 font-semibold">3.5%</div>
            <div className="p-3 text-zinc-900 dark:text-white">96 sats</div>
            <div className="p-3 text-zinc-900 dark:text-white font-semibold">2,877 sats</div>
          </div>
          <div className="grid grid-cols-5 text-sm border-b border-zinc-200 dark:border-zinc-700">
            <div className="p-3 text-zinc-900 dark:text-white">$1,000</div>
            <div className="p-3 text-zinc-600 dark:text-zinc-400">$500</div>
            <div className="p-3 text-green-600 dark:text-green-400 font-semibold">4.0%</div>
            <div className="p-3 text-zinc-900 dark:text-white">110 sats</div>
            <div className="p-3 text-zinc-900 dark:text-white font-semibold">3,288 sats</div>
          </div>
          <div className="grid grid-cols-5 text-sm border-b border-zinc-200 dark:border-zinc-700">
            <div className="p-3 text-zinc-900 dark:text-white">$10,000</div>
            <div className="p-3 text-zinc-600 dark:text-zinc-400">$0</div>
            <div className="p-3 text-green-600 dark:text-green-400 font-semibold">3.5%</div>
            <div className="p-3 text-zinc-900 dark:text-white">959 sats</div>
            <div className="p-3 text-zinc-900 dark:text-white font-semibold">28,767 sats</div>
          </div>
          <div className="grid grid-cols-5 text-sm border-b border-zinc-200 dark:border-zinc-700">
            <div className="p-3 text-zinc-900 dark:text-white">$10,000</div>
            <div className="p-3 text-zinc-600 dark:text-zinc-400">$2,500</div>
            <div className="p-3 text-green-600 dark:text-green-400 font-semibold">4.5%</div>
            <div className="p-3 text-zinc-900 dark:text-white">1,233 sats</div>
            <div className="p-3 text-zinc-900 dark:text-white font-semibold">36,986 sats</div>
          </div>
          <div className="grid grid-cols-5 text-sm border-b border-zinc-200 dark:border-zinc-700">
            <div className="p-3 text-zinc-900 dark:text-white">$50,000</div>
            <div className="p-3 text-zinc-600 dark:text-zinc-400">$5,000</div>
            <div className="p-3 text-green-600 dark:text-green-400 font-semibold">5.0%</div>
            <div className="p-3 text-zinc-900 dark:text-white">6,849 sats</div>
            <div className="p-3 text-zinc-900 dark:text-white font-semibold">205,479 sats</div>
          </div>
          <div className="grid grid-cols-5 text-sm">
            <div className="p-3 text-zinc-900 dark:text-white">$100,000</div>
            <div className="p-3 text-zinc-600 dark:text-zinc-400">$25,000</div>
            <div className="p-3 text-green-600 dark:text-green-400 font-semibold">6.0%</div>
            <div className="p-3 text-zinc-900 dark:text-white">16,438 sats</div>
            <div className="p-3 text-zinc-900 dark:text-white font-semibold">493,151 sats</div>
          </div>
        </div>
      </div>

      <div className="mt-4 p-4 rounded-xl bg-zinc-50 dark:bg-zinc-800/50 border border-zinc-200 dark:border-zinc-700">
        <div className="text-sm font-semibold text-zinc-700 dark:text-zinc-300 mb-2">Formula</div>
        <code className="text-xs text-zinc-600 dark:text-zinc-400 block">
          daily_btc = (usdb_balance * rewards_rate / 365) / btc_price
        </code>
        <p className="text-xs text-zinc-500 dark:text-zinc-400 mt-2">
          Minimum 10 USDB to earn rewards. Maximum rewards on 500,000 USDB.
        </p>
      </div>
    </div>;
};

export const TierTable = () => {
  const brackets = [{
    volume: "$0",
    rewards: "3.5%"
  }, {
    volume: "$500+",
    rewards: "4.0%"
  }, {
    volume: "$2,500+",
    rewards: "4.5%"
  }, {
    volume: "$5,000+",
    rewards: "5.0%"
  }, {
    volume: "$10,000+",
    rewards: "5.5%"
  }, {
    volume: "$25,000+",
    rewards: "6.0%"
  }];
  const tierClass = "bg-zinc-100 dark:bg-zinc-800 border-zinc-300 dark:border-zinc-600";
  return <div className="not-prose grid gap-3 my-6">
      {brackets.map((bracket, index) => <div key={index} className={`flex items-center justify-between p-4 rounded-xl border ${tierClass}`}>
          <div className="flex items-center gap-4">
            <span className="text-sm text-zinc-600 dark:text-zinc-400">
              {bracket.volume} daily volume
            </span>
          </div>
          <div className="text-right">
            <div className="text-xl font-bold text-green-600 dark:text-green-400">{bracket.apy}</div>
          </div>
        </div>)}
    </div>;
};

Hold USDB and earn BTC rewards paid daily to your wallet.

## How Rewards Work

Every USDB holder earns rewards in BTC. Your reward rate depends on your 24-hour trading volume.

<CardGroup cols={3}>
  <Card title="Hold USDB">
    3.5% - 6% in BTC
  </Card>

  <Card title="Trade More">
    Higher trading volume = higher reward rate
  </Card>

  <Card title="Collect Daily">
    BTC deposited to your wallet at 01:00 UTC
  </Card>
</CardGroup>

## Reward Tiers

Your 24-hour trading volume determines your reward rate:

<TierTable />

<Note>
  Volume is measured in 24-hour rolling windows. Your rate updates continuously as you trade.
</Note>

## Rewards Calculator

Estimate your daily and monthly BTC rewards:

<RewardsCalculator />

## Requirements

* **Minimum balance**: 10 USDB to earn rewards
* **Maximum balance**: 500,000 USDB (rewards capped at this amount)
* **Payout timing**: Daily at 01:00 UTC
* **Payout currency**: BTC (deposited to your Spark wallet)

## How Rewards Are Calculated

Your daily reward is based on your **Time-Weighted Average Balance (TWAB)**, not a snapshot.

For example, if you hold 1,000 USDB for 12 hours then 2,000 USDB for 12 hours, your TWAB is 1,500 USDB. This prevents gaming by depositing right before the daily cutoff.

**Daily reward formula:**

```
daily_reward = (TWAB * reward_rate) / 365
```

The reward is converted to BTC at the current exchange rate and deposited to your wallet.

## Quick Start

<Steps>
  <Step title="Get USDB">
    [Bridge USDC or swap BTC](/usdb/get-usdb) for USDB.
  </Step>

  <Step title="Hold">
    Your USDB automatically earns rewards. No staking required.
  </Step>

  <Step title="Trade (optional)">
    Trade to reach higher reward tiers and earn more.
  </Step>

  <Step title="Collect">
    BTC rewards deposited to your wallet daily.
  </Step>
</Steps>

<Warning>
  Flashnet reserves the right to remove users suspected of sybil attacks or other abuse from the rewards program.
</Warning>
