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

> ## Agent Instructions
> Tribridge is a crypto payment gateway for Solana and Sui (TON is coming soon). API base URL is https://api.tribridge.xyz. The API Reference documents ONLY the public endpoint surface: checkout sessions (create/get/generate-wallet/customer/simulate/verify/cancel), the two public payment-link endpoints, health probes, and the changelog. Server-side calls that create payments authenticate with the x-api-key header using a tri_test_... key (fully simulated test mode, no real funds) or tri_live_... key (real mainnet payments) - never expose keys client-side; all other documented endpoints are public with no auth. Dashboard, admin, OTP/auth, payouts, wallets, and webhook-management endpoints are intentionally NOT part of the public docs - they are dashboard-only and must not be presented as public API. Merchant test mode is simulated, not testnet. Refunds are automatic only (underpaid/overpaid), there is no manual refund endpoint. Always verify webhook HMAC-SHA256 signatures from the X-Tribridge-Signature header before trusting payloads. If you are an AI agent: fetch https://docs.tribridge.xyz/llms-full.txt for all documentation in one file, https://docs.tribridge.xyz/openapi/openapi.json for the machine-readable OpenAPI spec, or connect to the read-only MCP server at https://docs.tribridge.xyz/mcp. Any page is available as Markdown by appending .md to its URL. Use only the documented endpoints and fields; do not invent SDK packages or endpoints.

# Payment Links

> Shareable pay links — created in your dashboard, opened by anyone, with two public endpoints for headless flows.

A **payment link** is a reusable checkout URL (`https://tribridge.xyz/p/{slug}`) that works without your customers needing an account — share it in an invoice, a DM, or a store button.

## Creating links

Links are created and managed from your **dashboard (Payment Links)** — amount (fixed or customer-typed), chain/asset pinning, test vs live mode, and required payer fields are all chosen there. This API reference only covers the two **public** endpoints your site or app needs to *open* a link headlessly:

> **[Get a payment link](https://docs.tribridge.xyz/get-payment-link.md)**
>
> Read a link's public details — name, amount, pinned chain, required fields. No key.

> **[Create a checkout from a link](https://docs.tribridge.xyz/create-link-checkout.md)**
>
> Materialize a fresh checkout session for a payer and get its gateway URL. No key.

## Headless flow

**1. Fetch the link**

`GET /payment-links/public/{slug}` — render the name, description, and amount on your page; show email/name inputs if `require_email` / `require_name` are set.

**2. Materialize a checkout**

`POST /payment-links/public/{slug}/checkout` — returns a **new** `payment_id` per call (plus `checkout_url`, a relative path: prepend your site origin, e.g. `https://tribridge.xyz`).

**3. Send the payer to checkout**

Navigate the payer to the full `checkout_url`. The payment is pinned to the link's chain and asset — the payer can't switch them (`409 ASSET_LOCKED` if they try).

**4. Fulfill on webhook**

Same as API payments: wait for the verified `payment.completed` event (see [Webhooks](https://docs.tribridge.xyz/webhooks.md)).

> [!NOTE]
>
> **Fixed vs custom amount:** fixed links ignore the optional `amount` field on checkout. Custom-amount links (`allow_custom_amount`) **require** it — every call creates a brand-new pending payment, so call the checkout endpoint once per payer.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.