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

# The App

> The chat product at inference.mrdn.finance. Sessions, model marketplace, and funding.

The app is the reference client for the [Inference
API](/api-reference/inference/overview). It is a single-screen chat product: a
session sidebar, a message log, a composer, and a header that holds everything
else. There is nothing to sign up for. Open it and start typing.

<div className="inf-shell">
  <aside className="inf-side">
    <div className="inf-brand">
      <img src="https://mintcdn.com/meridian-11ea0994/UDEgPsLdERbrDhOM/images/inference-logo-green.svg?fit=max&auto=format&n=UDEgPsLdERbrDhOM&q=85&s=c98919a233b7dcdb6163d75931917887" alt="" width="542" height="541" data-path="images/inference-logo-green.svg" />

      <span>Inference</span>
    </div>

    <div className="inf-new">New chat</div>

    <div className="inf-sessions">
      <div className="inf-session inf-session--active">Which model for code?</div>
      <div className="inf-session">Summarize this doc</div>
      <div className="inf-session">Draft a reply</div>
    </div>

    <div className="inf-side-foot">
      <div className="inf-search">Search all chats</div>
      <div className="inf-nav">Docs</div>
      <div className="inf-nav">Products</div>
      <div className="inf-nav">Home</div>
    </div>
  </aside>

  <div className="inf-main">
    <header className="inf-header">
      <span className="inf-pill inf-pill--icon" aria-hidden="true">◐</span>

      <span className="inf-pill">
        <span className="inf-badge">Surplus</span>
        zai-org/glm-4.5
      </span>

      <span className="inf-pill">
        Top up <span className="inf-muted">|</span> \$5.00
      </span>

      <span className="inf-pill">0x948a…c6aD</span>
    </header>

    <div className="inf-log">
      <div className="inf-msg inf-msg--you">
        <div className="inf-bubble">
          <div className="inf-bubble__who">You</div>
          Summarize this contract
        </div>
      </div>

      <div className="inf-msg inf-msg--bot">
        <img className="inf-msg__avatar" src="https://mintcdn.com/meridian-11ea0994/UDEgPsLdERbrDhOM/images/inference-logo-green.svg?fit=max&auto=format&n=UDEgPsLdERbrDhOM&q=85&s=c98919a233b7dcdb6163d75931917887" alt="" width="542" height="541" data-path="images/inference-logo-green.svg" />

        <div className="inf-bubble">
          <div className="inf-bubble__who">Surplus</div>
          Three clauses need review. Here's the diff.
        </div>
      </div>

      <div className="inf-msg inf-msg--you">
        <div className="inf-bubble">
          <div className="inf-bubble__who">You</div>
          Draft the reply
        </div>
      </div>
    </div>

    <div className="inf-composer-wrap">
      <div className="inf-composer">
        <span>Ask anything...</span>
        <span className="inf-composer__send">↗</span>
      </div>
    </div>
  </div>
</div>

## Sessions live in your browser

Threads are persisted locally, not in a Meridian database. They stay in the
sidebar, can be searched or deleted, and never leave the device unless you
choose to move them. This is the deliberate trade: no server-side history means
no server-side history to leak.

## The model marketplace

The header model control opens one searchable catalog across every supplier. It
is a marketplace view rather than a vendor menu. The supplier is a label on the
row, not a tab you have to pick first.

<div className="inf-panel">
  <h4 className="inf-panel__title">Model marketplace</h4>
  <p className="inf-panel__sub">400+ models</p>
  <div className="inf-search-pill">Search models…</div>

  <div className="inf-filters">
    <div className="inf-filter">
      <label>Provider</label>
      <span>All</span>
    </div>

    <div className="inf-filter">
      <label>Access</label>
      <span>All</span>
    </div>

    <div className="inf-filter">
      <label>Ranking</label>
      <span>Price</span>
    </div>

    <div className="inf-filter">
      <label>Order</label>
      <span>Low → high</span>
    </div>
  </div>

  <div className="inf-cols">
    <span>Model</span>
    <span>Provider</span>
    <span>Tokens</span>
    <span>Fee</span>
  </div>

  <div className="inf-model inf-model--active">
    <div className="inf-model__name">
      <span className="inf-model__label">dolphinserver:24B</span>
      <span className="inf-model__meta">No charge</span>
    </div>

    <span className="inf-model__provider">Dolphin</span>
    <span className="inf-model__num inf-model__num--free">Free</span>
    <span className="inf-model__num inf-model__num--free">Free</span>
  </div>

  <div className="inf-model">
    <div className="inf-model__name">
      <span className="inf-model__label">zai-org/glm-4.5</span>
      <span className="inf-model__meta">\$0.60 in · \$2.20 out / 1M</span>
    </div>

    <span className="inf-model__provider">Surplus</span>
    <span className="inf-model__num">\$2.20</span>
    <span className="inf-model__num">\$0.003</span>
  </div>

  <div className="inf-model">
    <div className="inf-model__name">
      <span className="inf-model__label">claude · context 1M</span>
      <span className="inf-model__meta">\$12.00 in · \$60.00 out / 1M</span>
    </div>

    <span className="inf-model__provider">Surplus</span>
    <span className="inf-model__num">\$60.00</span>
    <span className="inf-model__num">\$0.003</span>
  </div>
</div>

Sorting puts free models first, then cheapest output price. Filters cover
provider, free versus paid, price, context length, and peer count. Choosing a
Dolphin model adds a second step: a **style** picker backed by Dolphin
templates, defaulting to `logical`. Templates are Dolphin-only and are rejected
for other suppliers at the API level.

## Funding

The header **Top up** pill shows the live balance for the active supplier and
opens the finance panel. It is the only place in the app that asks your wallet
for anything after the first signature.

<div className="inf-center">
  <div className="inf-panel" style={{ maxWidth: "360px" }}>
    <h4 className="inf-panel__title">Top up</h4>

    <div className="inf-tabs">
      <span className="inf-tab inf-tab--active">Surplus</span>
      <span className="inf-tab">AntSeed</span>
    </div>

    <div className="inf-balance">
      <span>Surplus balance</span>
      <span>5.00 USDC</span>
    </div>

    <div className="inf-form">
      <div className="inf-field">
        <label>Amount (USDG)</label>

        <input type="text" value="5" readOnly />
      </div>

      <div className="inf-field">
        <div className="inf-payrow">
          <span>Pay with</span>
          <span>USDG</span>
        </div>
      </div>

      <div className="inf-field">
        <label>From network</label>

        <div className="inf-network">
          <span className="inf-network__left">
            <img src="https://mintcdn.com/meridian-11ea0994/UDEgPsLdERbrDhOM/images/robinhood.png?fit=max&auto=format&n=UDEgPsLdERbrDhOM&q=85&s=c98074eaee7b7f0ecdcfa545e95de30f" alt="Robinhood" width="400" height="400" data-path="images/robinhood.png" />

            <span>Robinhood</span>
          </span>

          <span className="inf-network__chevron">▾</span>
        </div>
      </div>
    </div>

    <div className="inf-cta">Pay & top up Surplus</div>
    <div className="inf-status">Bridging to Base…</div>
  </div>
</div>

The panel prefetches quotes for every prepaid supplier when it opens, keeps the
wallet's active chain in sync with the selected source network, and surfaces the
gateway's suggested minimum and maximum when an amount is out of bounds. Surplus
balances can also be withdrawn back to the connected wallet.

If a paid message fails because the balance ran out, the chat error opens this
panel for you rather than dead-ending the conversation.

## Wallet requirements

| Requirement                   | Detail                                                        |
| ----------------------------- | ------------------------------------------------------------- |
| Wallet type                   | EOA. Smart contract wallets are not supported for paid usage. |
| Free chat                     | No wallet needed.                                             |
| Paid chat                     | Wallet plus a funded supplier balance.                        |
| Withdrawing a Surplus balance | A small amount of Base ETH on the derived address for gas.    |

<Columns cols={2}>
  <Card title="Suppliers" icon="server" href="/inference/suppliers">
    What sits behind the catalog rows.
  </Card>

  <Card title="Funding" icon="wallet" href="/inference/topup-gateway">
    How the top-up gateway credits a balance.
  </Card>
</Columns>
