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

# Live Demos

> Five fully working demo apps on the XentFi sandbox — agent wallets & policies, auto-settlement, deposit addresses, x402 facilitator payments, and hosted checkout, all click-through.

<Info>
  **Live demos**: every app below runs against the XentFi sandbox. No account needed — click into any one and try the flow yourself.
</Info>

Each demo below is a small, fictional company built to show one XentFi capability end to end — the same UI a real merchant or developer would ship, wired to the same integration code shown in each demo's **Build it yourself** section. Together they cover the full surface: an autonomous agent with its own wallet and policy, automatic currency conversion on receipt, per-invoice deposit addresses, machine-to-machine payments over x402, and a hosted checkout page.

<Frame>
  <img src="https://mintcdn.com/xentfi/h2N6-bk-B6s_KKnx/images/demos-grid.png?fit=max&auto=format&n=h2N6-bk-B6s_KKnx&q=85&s=e2a7cb436ed4cbc9f1d799af061501d9" alt="Grid of all five XentFi demo apps — Aria, CreatorPay, InvoiceFlow, ModelMesh, and Nova Threads" width="3492" height="1648" data-path="images/demos-grid.png" />
</Frame>

## What you can test

| Demo                                                              | Company                  | What it demonstrates                                                          | Build it yourself                               |
| ----------------------------------------------------------------- | ------------------------ | ----------------------------------------------------------------------------- | ----------------------------------------------- |
| [Agent Wallets & Policies](#aria-agent-wallets-spending-policies) | Aria (procurement agent) | An AI agent with its own wallet, spending policy, and Policy-checked payments | [Agent Tools](/essentials/agent)                |
| [Auto-Settlement](#creatorpay-auto-settlement)                    | CreatorPay               | Incoming volatile tips converted to USDC automatically on receipt             | [Liquidity & Settlement](/essentials/liquidity) |
| [Deposit Addresses](#invoiceflow-deposit-addresses)               | InvoiceFlow              | A dedicated deposit address per invoice, reconciled by webhook                | [Addresses](/essentials/addresses)              |
| [x402 Facilitator](#modelmesh-x402-facilitator)                   | ModelMesh                | Pay-per-call APIs billed to an AI agent over HTTP 402                         | [x402 Payments](/essentials/x402)               |
| [Hosted Checkout](#nova-threads-hosted-checkout)                  | Nova Threads             | A storefront accepting stablecoins through a hosted checkout page             | [Payment Links](/essentials/payment-links)      |

***

## Aria — agent wallets & spending policies

<Frame>
  <img src="https://mintcdn.com/xentfi/h2N6-bk-B6s_KKnx/images/aria.png?fit=max&auto=format&n=h2N6-bk-B6s_KKnx&q=85&s=8c23f08b84992de438bbae84d75c8a95" alt="Aria demo: a procurement agent submitting a purchase request, evaluated against a monthly budget and vendor allowlist in real time" width="3508" height="1622" data-path="images/aria.png" />
</Frame>

Aria is a procurement agent with her own XentFi Agent Wallet and a spending policy her (fictional) finance team set once — a monthly budget, a per-transaction cap, and a vendor allowlist. She renews SaaS subscriptions autonomously, and every payment she attempts is checked against that policy server-side before a single token moves.

On the demo, pick a vendor and an amount and submit a purchase request — you'll watch Aria check the request against her live policy, sign with her agent wallet, and broadcast on-chain, or get denied with the specific reason (off-allowlist vendor, over the per-transaction cap, or over budget for the month).

**How it works:**

<Steps>
  <Step title="Create the agent and its wallet">
    Register an Agent identity, then delegate it a chain-scoped wallet it can transact from — separate from the main treasury.
  </Step>

  <Step title="Attach a spending policy">
    Set per-transaction and monthly USD limits plus a vendor/recipient allowlist. This is what runs on every purchase request submitted in the demo.
  </Step>

  <Step title="Agent calls the Agent Payments API">
    Aria's own scoped API key calls the payments endpoint directly — no backend has to broker each individual purchase.
  </Step>

  <Step title="React to the outcome">
    Approved payments return a transaction hash immediately. Denied ones return a machine-readable reason the agent (or a human) can act on.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="Visit the demo" icon="arrow-up-right" href="https://demos.xentfi.com/aria">
    demos.xentfi.com/aria
  </Card>

  <Card title="Build it yourself" icon="book-open" href="/essentials/agent">
    Agent Tools guide, plus the Agent tab's [Quickstart](/agent/quickstart) and [Tools Reference](/agent/tools-reference)
  </Card>
</CardGroup>

***

## CreatorPay — auto-settlement

<Frame>
  <img src="https://mintcdn.com/xentfi/h2N6-bk-B6s_KKnx/images/creatorpay.png?fit=max&auto=format&n=h2N6-bk-B6s_KKnx&q=85&s=84d583f8e87a863eefc9f583fd9d702c" alt="CreatorPay demo: an incoming tip in ETH, MATIC, or ARB converting to USDC in real time via an auto-settlement rule" width="3375" height="1707" data-path="images/creatorpay.png" />
</Frame>

Fans tip creators in whatever they're holding — ETH, MATIC, ARB. CreatorPay's auto-settlement rule converts it to USDC the moment it arrives, so creators never carry volatile exposure they didn't ask for.

Pick a source asset and amount and simulate an incoming tip — you'll watch the rule trigger, find a route under the configured slippage tolerance, execute the swap, and credit USDC to the payout wallet.

**How it works:**

<Steps>
  <Step title="Create an auto-settlement rule">
    Define which incoming assets should trigger conversion, a single destination asset and wallet, and the route strategy to use.
  </Step>

  <Step title="Funds arrive at a watched wallet or address">
    Any tip in an accepted source asset landing on that wallet is picked up automatically — nothing to poll.
  </Step>

  <Step title="The rule engine finds a route and executes">
    Based on the chosen strategy (fastest, cheapest, recommended, or no-slippage) the conversion executes within the configured slippage tolerance.
  </Step>

  <Step title="React to the settlement webhook">
    A `settlement.executed` webhook fires with the source amount, destination amount, and route used — that's what populates the log on the demo.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="Visit the demo" icon="arrow-up-right" href="https://demos.xentfi.com/creatorpay">
    demos.xentfi.com/creatorpay
  </Card>

  <Card title="Build it yourself" icon="book-open" href="/essentials/liquidity">
    Liquidity & Settlement guide
  </Card>
</CardGroup>

***

## InvoiceFlow — deposit addresses

<Frame>
  <img src="https://mintcdn.com/xentfi/h2N6-bk-B6s_KKnx/images/invoiceflow.png?fit=max&auto=format&n=h2N6-bk-B6s_KKnx&q=85&s=8df2baf105b00d93692075c6526832a3" alt="InvoiceFlow demo: a list of client invoices, each with its own dedicated USDC deposit address and payment status" width="3524" height="1538" data-path="images/invoiceflow.png" />
</Frame>

Every invoice on InvoiceFlow gets its own dedicated deposit address — no shared wallet, no memo codes to get wrong. Create an invoice and you're issued a fresh address scoped to that client and amount; simulate the client's payment and watch the invoice reconcile automatically.

**How it works:**

<Steps>
  <Step title="Create a deposit address per invoice">
    When an invoice is issued, request a fresh deposit address scoped to that invoice — never reuse one address across clients or invoices.
  </Step>

  <Step title="Show the client where to pay">
    Display the address (and a QR code) alongside the amount and asset expected — the client sends funds directly, no intermediary custody step.
  </Step>

  <Step title="Listen for the deposit webhook">
    XentFi watches the address on-chain and fires a webhook the moment funds land — no polling a block explorer.
  </Step>

  <Step title="Reconcile automatically">
    Match the webhook's `addressId` back to the invoice record and flip its status — exactly what the demo's "Simulate client payment" button does.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="Visit the demo" icon="arrow-up-right" href="https://demos.xentfi.com/invoiceflow">
    demos.xentfi.com/invoiceflow
  </Card>

  <Card title="Build it yourself" icon="book-open" href="/essentials/addresses">
    Addresses guide
  </Card>
</CardGroup>

***

## ModelMesh — x402 facilitator

<Frame>
  <img src="https://mintcdn.com/xentfi/h2N6-bk-B6s_KKnx/images/modelmesh.png?fit=max&auto=format&n=h2N6-bk-B6s_KKnx&q=85&s=6c3bdb6b0e076f7d807d381acbf3f9b7" alt="ModelMesh demo: an AI agent calling a pay-per-call API, receiving a 402 Payment Required response, and completing payment via the XentFi facilitator" width="3543" height="1672" data-path="images/modelmesh.png" />
</Frame>

ModelMesh is a marketplace of pay-per-call model APIs — an image upscaler, a sentiment analyzer, a text-to-speech endpoint. No API keys, no monthly plans: an agent hits an endpoint, gets a `402`, pays in one round trip through the XentFi Agent Facilitator, and the request completes.

Click **Call** on any API and watch the full round trip play out live — the demo's `/verify` and `/settle` steps are real calls to the facilitator, not just an animation, and the flow ends with the actual API response.

**How it works:**

<Steps>
  <Step title="Return 402 with payment requirements">
    The resource server responds with HTTP 402 and a JSON body describing the price, asset, network, and payout address for the requested resource.
  </Step>

  <Step title="Agent attaches a payment payload">
    The calling agent's wallet signs a payment authorization and retries the request with an `X-PAYMENT` header — no separate checkout flow.
  </Step>

  <Step title="Verify with the facilitator">
    The resource server calls the facilitator's `/verify` endpoint to confirm the payment payload is well-formed and the agent can cover it, before doing any work.
  </Step>

  <Step title="Settle and fulfill">
    Once verified, `/settle` executes the on-chain transfer, then the original request is fulfilled — both calls typically complete in well under a second.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="Visit the demo" icon="arrow-up-right" href="https://demos.xentfi.com/modelmesh">
    demos.xentfi.com/modelmesh
  </Card>

  <Card title="Build it yourself" icon="book-open" href="/essentials/x402">
    x402 Payments guide, plus the Agent tab's [x402 Reference](/agent/x402-reference)
  </Card>
</CardGroup>

***

## Nova Threads — hosted checkout

<Frame>
  <img src="https://mintcdn.com/xentfi/h2N6-bk-B6s_KKnx/images/nova.png?fit=max&auto=format&n=h2N6-bk-B6s_KKnx&q=85&s=da15bcf0b7d9d81614438d33cc845f74" alt="Nova Threads demo: an apparel storefront checking out a product with USDC through XentFi's hosted checkout page" width="3492" height="1648" data-path="images/nova.png" />
</Frame>

Nova Threads is a streetwear storefront that accepts USDC, USDT, and ETH at checkout — no card fees, instant settlement, powered by XentFi Hosted Checkout. Add a product to cart and pay: you're redirected to a real hosted checkout session on testnet and land back on a confirmation page once it settles.

**How it works:**

<Steps>
  <Step title="Create a payment link server-side">
    Once the cart total is known, call the Payment Links API with the amount, currency, and a redirect URL back to the storefront.
  </Step>

  <Step title="Redirect the customer">
    Send the customer to the `checkoutUrl` the API returns — XentFi hosts the entire payment experience: wallet connect, network switch, confirmation.
  </Step>

  <Step title="Handle the return redirect">
    After payment, the customer lands back on the `redirectUrl` with status details in the query string. Fulfill the order once the payment is verified server-side.
  </Step>

  <Step title="Confirm via webhook">
    Don't rely on the redirect alone — listen for the `payment_link.paid` webhook event to confirm and fulfill reliably, even if the customer closes the tab early.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="Visit the demo" icon="arrow-up-right" href="https://demos.xentfi.com/nova">
    demos.xentfi.com/nova
  </Card>

  <Card title="Build it yourself" icon="book-open" href="/essentials/payment-links">
    Payment Links guide
  </Card>
</CardGroup>

***

## How the demos are built

Every demo is a small Next.js app against the XentFi sandbox, and each pairs a clickable UI with the exact integration code shown in its own **Build it yourself** panel — so what you click and what you'd ship are the same shape.

* The **x402 facilitator demo** makes real round trips to `/verify` and `/settle` as you click through it — those two steps are a live network call, not a timer.
* The **agent wallet, auto-settlement, and deposit address demos** simulate their multi-second flows (policy checks, route-finding, on-chain confirmation) client-side for a smooth walkthrough, while the code sample shown alongside each one is the real call you'd make against the API.
* The **checkout demo** redirects to a genuine XentFi Hosted Checkout session on testnet, so the payment page itself is fully real.

None of the demos require an account or a wallet with funds to click through — each one is seeded with example activity so the story is visible immediately, then lets you add to it live.

## Next steps

<CardGroup cols={2}>
  <Card title="Agent Tools" icon="bot" href="/essentials/agent">
    Give an AI agent its own wallet and policy, like Aria.
  </Card>

  <Card title="x402 Payments" icon="bolt" href="/essentials/x402">
    Bill AI agents per API call, like ModelMesh.
  </Card>

  <Card title="Payment Links" icon="credit-card" href="/essentials/payment-links">
    Add hosted checkout to a storefront, like Nova Threads.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Every endpoint behind all five demos.
  </Card>
</CardGroup>
