> ## 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.

# Integrate USDB

> Add USDB support to wallets and apps with revenue sharing

export const IntegratorTypes = () => {
  const types = [{
    type: "Bitcoin wallets",
    useCase: "Give users a rewards-bearing stablecoin option",
    color: "amber"
  }, {
    type: "Lightning wallets",
    useCase: "Instant BTC ↔ USD swaps",
    color: "yellow"
  }, {
    type: "Exchanges",
    useCase: "Add USDB as a trading pair",
    color: "green"
  }, {
    type: "Payment apps",
    useCase: "Dollar-denominated payments with BTC settlement",
    color: "blue"
  }, {
    type: "DeFi protocols",
    useCase: "USDB as collateral or trading asset",
    color: "violet"
  }];
  const colorClasses = {
    amber: "border-amber-300 dark:border-amber-700 bg-amber-50 dark:bg-amber-900/20",
    yellow: "border-yellow-300 dark:border-yellow-700 bg-yellow-50 dark:bg-yellow-900/20",
    green: "border-green-300 dark:border-green-700 bg-green-50 dark:bg-green-900/20",
    blue: "border-blue-300 dark:border-blue-700 bg-blue-50 dark:bg-blue-900/20",
    violet: "border-violet-300 dark:border-violet-700 bg-violet-50 dark:bg-violet-900/20"
  };
  return <div className="not-prose grid gap-3 my-6">
      {types.map((item, idx) => <div key={idx} className={`flex items-center justify-between p-4 rounded-xl border ${colorClasses[item.color]}`}>
          <span className="font-semibold text-zinc-900 dark:text-white">{item.type}</span>
          <span className="text-sm text-zinc-600 dark:text-zinc-400">{item.useCase}</span>
        </div>)}
    </div>;
};

export const IntegrationEffort = () => {
  const levels = [{
    title: "Read-only",
    time: "Minutes",
    desc: "Display balances and rewards",
    fill: 1
  }, {
    title: "Swap Widget",
    time: "< 1 hour",
    desc: "Enable swaps, earn fees",
    fill: 2
  }, {
    title: "Full Integration",
    time: "< 1 day",
    desc: "All revenue streams",
    fill: 3
  }];
  return <div className="not-prose grid md:grid-cols-3 gap-4 my-6">
      {levels.map((level, idx) => <div key={idx} className="p-5 rounded-xl border border-zinc-200 dark:border-zinc-700 bg-zinc-50 dark:bg-zinc-800/50">
          <div className="flex items-center gap-2 mb-3">
            {[1, 2, 3].map(n => <div key={n} className={`h-2 flex-1 rounded-full ${n <= level.fill ? 'bg-green-500 dark:bg-green-400' : 'bg-zinc-200 dark:bg-zinc-700'}`} />)}
          </div>
          <div className="text-lg font-semibold text-zinc-900 dark:text-white">{level.title}</div>
          <div className="text-2xl font-bold text-green-600 dark:text-green-400 my-1">{level.time}</div>
          <div className="text-sm text-zinc-500 dark:text-zinc-400">{level.desc}</div>
        </div>)}
    </div>;
};

export const RevenueShowcase = () => {
  return <div className="not-prose my-6">
      <div className="p-8 rounded-2xl border border-green-300 dark:border-green-700 bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/30 dark:to-emerald-900/20">
        <div className="text-center mb-6">
          <div className="text-sm text-zinc-600 dark:text-zinc-400 mb-2">At $10M monthly volume with 0.5% fee</div>
          <div className="text-5xl font-bold text-green-600 dark:text-green-400">$600k/year</div>
          <div className="text-zinc-500 dark:text-zinc-400 mt-1">in integrator revenue</div>
        </div>
        <div className="grid grid-cols-3 gap-4 pt-6 border-t border-green-200 dark:border-green-800">
          <div className="text-center">
            <div className="text-2xl font-bold text-zinc-900 dark:text-white">0.1%</div>
            <div className="text-xs text-zinc-500 dark:text-zinc-400">$120k/year</div>
          </div>
          <div className="text-center">
            <div className="text-2xl font-bold text-zinc-900 dark:text-white">0.25%</div>
            <div className="text-xs text-zinc-500 dark:text-zinc-400">$300k/year</div>
          </div>
          <div className="text-center">
            <div className="text-2xl font-bold text-green-600 dark:text-green-400">0.5%</div>
            <div className="text-xs text-zinc-500 dark:text-zinc-400">$600k/year</div>
          </div>
        </div>
      </div>
    </div>;
};

export const ValueProposition = () => {
  return <div className="not-prose grid md:grid-cols-2 gap-4 my-6">
      <div className="p-6 rounded-xl border border-green-300 dark:border-green-700 bg-green-50 dark:bg-green-900/20">
        <div className="text-sm font-semibold text-green-700 dark:text-green-400 uppercase tracking-wide mb-4">For Your Users</div>
        <div className="space-y-3">
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-green-600 dark:text-green-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">3.5 - 6% in BTC</span>
          </div>
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-green-600 dark:text-green-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">Zero-friction stablecoin</span>
          </div>
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-green-600 dark:text-green-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">Instant settlement</span>
          </div>
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-green-600 dark:text-green-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">Self-custody</span>
          </div>
        </div>
      </div>
      <div className="p-6 rounded-xl border border-amber-300 dark:border-amber-700 bg-amber-50 dark:bg-amber-900/20">
        <div className="text-sm font-semibold text-amber-700 dark:text-amber-400 uppercase tracking-wide mb-4">For You</div>
        <div className="space-y-3">
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-amber-600 dark:text-amber-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">Charge fees on swaps</span>
          </div>
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-amber-600 dark:text-amber-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">Earn volume bonuses</span>
          </div>
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-amber-600 dark:text-amber-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">No liquidity required</span>
          </div>
          <div className="flex items-center gap-3">
            <svg className="w-5 h-5 text-amber-600 dark:text-amber-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
            </svg>
            <span className="text-zinc-800 dark:text-zinc-200">Simple API integration</span>
          </div>
        </div>
      </div>
    </div>;
};

Give your users BTC rewards. Keep a cut for yourself.

<ValueProposition />

## Revenue Potential

<RevenueShowcase />

## Integration Effort

<IntegrationEffort />

## Integration Models

<CardGroup cols={2}>
  <Card title="Wallet Integration">
    Display USDB balances, rewards, and Flashpoints in your wallet UI
  </Card>

  <Card title="Swap Integration">
    Let users swap BTC ↔ USDB with your app taking a fee
  </Card>

  <Card title="Bridge Integration">
    Offer USDC → USDB bridging with your branding
  </Card>

  <Card title="White-Label">
    Full-featured USDB experience under your brand
  </Card>
</CardGroup>

## Who Should Integrate

<IntegratorTypes />

## What You Get

<AccordionGroup>
  <Accordion title="API Access">
    REST API for balances, rewards, Flashpoints, and leaderboards. Full Swagger documentation.
  </Accordion>

  <Accordion title="Integrator Dashboard">
    Track your fees earned and performance metrics.
  </Accordion>

  <Accordion title="Technical Support">
    Direct access to the Flashnet team for integration questions.
  </Accordion>

  <Accordion title="Co-Marketing">
    Featured placement in Flashnet materials for launch partners.
  </Accordion>
</AccordionGroup>

## Contact

<Card title="Get in Touch" href="mailto:partnerships@flashnet.xyz">
  [partnerships@flashnet.xyz](mailto:partnerships@flashnet.xyz)
</Card>
