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

# How Tip Stack Payments Work

> Understand how Tip Stack routes tips from supporter to creator using Solana, automatic token swaps, and optional fiat rails — with no custody of funds.

Every tip you receive on Tip Stack travels from a supporter's wallet or bank account directly to yours. The platform never holds funds in an escrow, pooled account, or any intermediate wallet. This page explains exactly how that works — for both the crypto and fiat payment rails.

## Two payment rails

Tip Stack supports two distinct ways for supporters to send a tip. You can accept both at the same time.

<CardGroup cols={2}>
  <Card title="Crypto Rail" icon="link-simple">
    Supporters pay with SOL, USDC, or any SPL token held in their Solana wallet. Token conversions are handled automatically so the creator always receives a consistent output token (USDC or SOL). The transaction is signed by the supporter and settled on Solana in seconds.
  </Card>

  <Card title="Fiat Rail (NGN)" icon="building-columns">
    Supporters pay with a Nigerian Naira credit card or bank transfer. After the payment is confirmed, the creator's Tip Stack balance is credited. Nigerian creators can withdraw this balance to a local bank account at any time.
  </Card>
</CardGroup>

***

## Crypto payment flow

The crypto rail uses automatic token conversion to swap any SPL token the supporter holds into the token the creator prefers to receive, routing the net amount directly to the creator's wallet.

<Steps>
  <Step title="Supporter picks an amount">
    The supporter visits the creator's tip page or embedded widget, selects or enters a USD-denominated amount (preset options: $1, $5, $10, $25, \$50), and optionally leaves a message.
  </Step>

  <Step title="Supporter selects a token">
    The widget shows the supporter's connected wallet balances. The supporter picks which SPL token to pay with — SOL, USDC, JUP, BONK, or any other token in their wallet. The interface displays a live conversion quote showing how many tokens the chosen amount requires.
  </Step>

  <Step title="Transaction is built">
    Tip Stack's backend builds a versioned Solana transaction. The transaction includes:

    * A swap from the supporter's token to the creator's preferred output token (USDC by default, or JitoSOL if the creator has yield mode enabled)
    * A platform fee transfer of approximately **2% of the tip amount** to the Tip Stack treasury wallet

    If the supporter is paying with the same token the creator receives (e.g., USDC-to-USDC), the swap is bypassed and a direct SPL transfer is used instead.
  </Step>

  <Step title="Supporter signs the transaction">
    The transaction is sent to the supporter's browser (or mobile wallet). The supporter reviews the amount and approves it in their wallet. On mobile, a Solana Pay deep link routes to the wallet app for one-tap approval. On desktop, supporters without a connected wallet can scan a QR code to pay from their phone.
  </Step>

  <Step title="Transaction is confirmed on-chain">
    Once the transaction is broadcast to Solana and confirmed, Tip Stack receives an on-chain notification. The tip is recorded in your dashboard and a receipt email is sent to the supporter (if they provided an email).

    Your tip is considered **confirmed** once it appears on-chain. This typically happens within a few seconds of the supporter signing.
  </Step>

  <Step title="Creator receives funds">
    The creator's wallet receives the output token (USDC or SOL) immediately upon on-chain confirmation. No further action is needed. The funds are fully in the creator's custody from the moment the transaction lands on Solana.
  </Step>
</Steps>

***

## Fiat payment flow (NGN)

The fiat rail is available to Nigerian creators who have completed fiat account setup during profile onboarding. Supporters can pay in NGN using a card or bank transfer.

<Steps>
  <Step title="Supporter enters an NGN amount">
    The supporter selects **Card** as the payment method. The widget displays a live exchange rate and shows the NGN equivalent of the USD tip amount.
  </Step>

  <Step title="Checkout session is created">
    When the supporter clicks **Send**, Tip Stack creates a payment session with the fiat payment provider. The platform fee (\~5%) is calculated and the net NGN amount is passed through. Each session uses a unique identifier to ensure it is processed exactly once.
  </Step>

  <Step title="Supporter completes the checkout">
    The supporter is presented with bank transfer details (account number, bank name, and a payment reference) or a card checkout to complete the payment. For bank transfers, the supporter initiates the transfer from their own bank and then confirms in the widget.
  </Step>

  <Step title="Payment is confirmed">
    The payment provider notifies Tip Stack when the payment is confirmed. Tip Stack verifies the notification and credits the creator's internal ledger balance.
  </Step>

  <Step title="Creator balance is credited">
    The confirmed NGN amount appears in the creator's Tip Stack balance on the dashboard. The creator can initiate an off-ramp withdrawal to a Nigerian bank account at any time via the **Payouts** panel.
  </Step>
</Steps>

<Warning>
  Fiat tips are held in your Tip Stack ledger balance until you initiate a withdrawal — they are not instantly transferred to your bank. Only crypto tips arrive directly and immediately in your Solana wallet.
</Warning>

***

## Non-custodial architecture

Tip Stack is designed so that the platform **never** holds your funds for crypto payments.

* Crypto transactions are constructed on the server but **signed exclusively by the supporter's wallet**. The platform cannot move funds without the supporter's private key.
* There are no pooled wallets, escrow contracts, or batching delays. Each tip is a direct on-chain transfer.
* You can always verify your tip history against the Solana blockchain — every confirmed tip maps to a real, immutable on-chain transaction signature.

For fiat payments, Tip Stack holds a ledger balance on the creator's behalf until withdrawal. This is the only custody that occurs, and it applies only to the NGN fiat rail.

***

## Fee structure

| Payment Rail             | Fee                | Who Pays                 | Where It Goes                  |
| ------------------------ | ------------------ | ------------------------ | ------------------------------ |
| Crypto (direct transfer) | \~2% of tip amount | Deducted from tip        | Tip Stack treasury (on-chain)  |
| Crypto (with token swap) | \~2% of tip amount | Deducted from tip        | Tip Stack treasury (on-chain)  |
| Fiat (NGN)               | \~5% of tip amount | Deducted before checkout | Tip Stack treasury (off-chain) |

The treasury fee is collected automatically as part of the same Solana transaction the supporter signs — no invoices, no monthly charges, and no reconciliation needed on your end.

<Note>
  For crypto tips, the creator receives approximately **98%** of the tipped amount after the platform fee. For NGN fiat tips, the creator receives approximately **95%**. Network transaction fees on Solana are typically a fraction of a cent and are paid by the supporter as part of the transaction.
</Note>

***

## On-chain confirmation

From your perspective as a creator, a tip is confirmed the moment it appears in your Tip Stack dashboard. That confirmation is driven by on-chain verification:

1. Tip Stack monitors all transactions involving your wallet address.
2. When a confirmed transaction arrives, it is verified for authenticity and checked to ensure it has not already been processed.
3. Only valid transfers with a positive amount (where sender and recipient are different) are written to your tip history.
4. The confirmed tip maps to a real, immutable on-chain transaction signature that you can look up at any time on a Solana block explorer.
