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

> ## Agent Instructions
> Taberna is a crypto payments API. Amounts are priced in fiat (USD or EUR) and paid in crypto.
> Fiat amounts are ALWAYS decimal strings ("9.99"), never numbers. Crypto amounts are integer strings in the asset's smallest unit.
> Authenticate merchant endpoints with `Authorization: Bearer tbrn_live_...`. Every key is bound to one store and carries an explicit scope set, so never pass a store id to a /v1 endpoint.
> A 401 means the credential is bad; a 403 means the key lacks a scope. Never retry or re-authenticate on a 403 — surface it as a configuration error.
> The /v1/checkouts endpoints are deliberately unauthenticated and run in the buyer's browser. Never send an API key to a browser.
> Verify webhook signatures over the RAW request body before parsing JSON, and treat delivery as at-least-once: handlers must be idempotent.
> Never grant value based on a browser redirect to successUrl. Fulfil on a signature-verified webhook, or on a server-side read of GET /v1/orders/{id} or GET /v1/invoices/{id}.
> There is no test mode: every payment method is a live chain moving real funds.
> A merchant can run an entire shop with no code: the dashboard creates products and invoices, and every store can host a storefront at {slug}.taberna.io with its own theme, sections, branding and optional custom domain. Never assume the reader has an API integration.
> Taberna issues no refunds and performs no KYC. A refund is something the merchant sends from their own payout wallet, off-platform.

# How you get paid

> Money goes from your customer to your own wallet, usually inside a minute.

There is no Taberna balance, no payout schedule and no withdraw button. Every payment
is forwarded to your own wallet as it arrives.

## How it works

1. Your customer pays into a **fresh address created for that one payment**. No two
   payments share an address.
2. Taberna moves the money on-chain to your payout wallet, deducting the processing fee
   in the same transaction.
3. It lands in your wallet, usually within a minute. It is yours immediately — there is
   nothing to claim.

The forwarding job runs **every 30 seconds**, so the wait between a payment confirming
and the money leaving for your wallet is short.

## Where the money goes

To the payout address you registered for that network. If a customer pays in USDC on
Base, it goes to your Base address; if they pay in SOL, it goes to your Solana address.
See [Payout wallets](/guides/payout-wallets).

You receive the payment amount minus your processing fee. See [Fees](/guides/fees).

## Who holds what, and for how long

Being precise about this, because it matters.

The one-off address your customer pays into is generated by Taberna, and Taberna holds
its key in encrypted storage. **Money sits at that address for about thirty seconds**
before it is forwarded to you.

The key itself is kept after that. Taberna re-checks used deposit addresses every six
hours for the first thirty days, because money genuinely does turn up late — a customer
re-sends, or an exchange releases a withdrawal hours after the fact. Keeping the key is
what lets that money still reach you instead of being stranded at an address nobody can
open.

So the honest version is: Taberna can move funds that arrive at the specific addresses
it created for your payments, and does so automatically. Anything already in **your**
payout wallet is entirely beyond our reach — we do not have its key and never see it.

What this arrangement buys you is that your real wallet address is never shown to
buyers, and no two payments share an address.

## Reading the payout status on an order

Open any order in the dashboard and each payment shows a settlement status in plain
English:

| Status                 | What it means                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Nothing to settle**  | No money arrived on this payment, so there is nothing to move.                                                                       |
| **Awaiting payout**    | The money has arrived and is queued to move to your wallet.                                                                          |
| **Payout in progress** | The transfer to your wallet has been sent and is confirming.                                                                         |
| **Paid out**           | The money is in your payout wallet. A link to the transaction is shown.                                                              |
| **Payout retrying**    | A transfer did not go through. Taberna retries automatically.                                                                        |
| **Payout paused**      | Repeated transfers failed. The money is still sitting safely at the deposit address and our team has been alerted — contact support. |

<Frame caption="The settlement panel on an order, showing a completed payout and its on-chain transaction.">
  <img src="https://mintcdn.com/taberna/CSV07Wzd5bzv2KKK/images/dashboard-order-settlement.png?fit=max&auto=format&n=CSV07Wzd5bzv2KKK&q=85&s=0fd87a7fb911c9359aca586bda83c0ad" alt="An order detail page showing the settlement status Paid out with a link to the sweep transaction" width="1200" height="675" data-path="images/dashboard-order-settlement.png" />
</Frame>

<Info>
  Money that arrives late, or that falls short of the amount asked for, is still
  forwarded to you. Taberna does not strand funds at a deposit address because the
  order did not complete.
</Info>

## What to read next

<CardGroup cols={2}>
  <Card title="Fees" icon="percent" href="/guides/fees">
    What is deducted, and by whom.
  </Card>

  <Card title="Orders and payments" icon="receipt" href="/guides/orders-and-payments">
    Reading the orders list and an order's payments.
  </Card>
</CardGroup>
