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

# Getting help

> Where to write, and what to include so the first reply is a useful one.

Email **[support@taberna.io](mailto:support@taberna.io)**. That is the only support
channel today — the Support and Feedback links in the dashboard sidebar are not wired up
yet, so do not wait on them.

## What to include

Most questions are answered in one round trip if you send these:

* **The order or invoice id** — the short code at the end of the payment link, like
  `CcvnKdAXzvW8h3JaS1VJe`. For a product question, send the product id from its
  dashboard URL instead.
* **What you expected to happen, and what happened.** One sentence each.
* **The time it happened**, with your time zone.
* **A screenshot** of the screen you were on, if it is a dashboard problem.

If a customer says they paid and the order still looks unpaid, also send the
**transaction hash** — the long identifier their wallet shows for the payment. That lets
us look the payment up on the network directly.

<Info>
  Never send us your API key, your webhook signing secret, or a customer's private
  details. We never need them, and we will never ask.
</Info>

## Before you write

Two things account for most reports:

* **A payment that came up short.** An order marked *partial* means less arrived than
  was asked for. Nothing is returned automatically — see
  [Orders and payments](/guides/orders-and-payments).
* **Something Taberna deliberately does not do.** Refunds, a test mode and order search
  are on the list — see [What Taberna does not do](/guides/what-taberna-does-not-do).
