Liquidity that grows back on Solana.

Bellis is an agent that quotes your prop AMM. It reads the oracle and your inventory every slot, prices inside the rules you write, and folds its petals when the market turns, the way a daisy shuts at dusk. Your treasury never leaves your keys.

~400ms slots Oracle-anchored Aggregator-routed 0 treasury keys held
$BELLIS CA soon Copy
SOL / USDC · FAIR VALUE$—
– bps spreadinv 0.0 SOL
CONNECTING Bid – Ask – Slot –
bids asks height = resting sizehover to read a level
The loop

Four steps, every slot.

Bellis runs the same order every time, roughly two and a half times a second. The model helps you draft the policy. The runtime enforces it, and only the runtime signs.

0 / 16 PETALS OPEN
01 · ROOT

Read the market

Every slot, Bellis pulls the Pyth fair value and its confidence band, the latest fills, your current inventory and the priority fee it would take to land an update.

  • pyth.price
  • pyth.conf
  • inventory
  • priority_fee
02 · STEM

Set the curve

Spread, size and inventory skew come straight from your policy. When the oracle gets noisy the spread widens with it, and when you hold too much of one side both quotes lean the other way.

  • spread_bps
  • quote_size
  • skew
03 · BLOOM

Update when it moves

Bellis only sends a new quote when the price has drifted past a quarter of your target spread. It stays under your per-second cap, so it doesn't burn SOL on noise.

  • drift ≥ quoteDriftBps
  • ≤ maxUpdatesPerSec
04 · DUSK

Narrow, close, mow

Guards escalate in a fixed order. A noisy oracle or a crossed soft band narrows the petals, a breached hard band closes the risky side, and Mow ends the session until a human replants it.

  • narrow
  • close
  • mow
Desk

Watch Bellis quote.

Fair value is the live SOL price from Jupiter. Fills, inventory and PnL are simulated in your browser, so no real orders are placed. Push the inventory around and watch the guards react. The full app with every market lives on the desk.

SOL / USDC quotes

SIMULATION OPEN
Fair value Bellis bid Bellis ask
Spread
–
Fills
0
Updates / s
0
PnL (sim)
$0.00

Inventory band

+0.0 SOL
hardsofttargetsofthard

Guards

YOU HAVE CONTROL

Petals open, quoting normally. Guards escalate on their own if things get rough.

Policy

You write the rules. Bellis follows them.

Spread, skew, inventory bands and update caps compile into one config that the runtime checks every slot. The AI can help you draft it, but it never signs a transaction.

policy.config.jsonSchema ↗

        
EXAMPLE CONFIG · COMPILED BY lib/bellis.js
Custody

Two wallets. Only one of them is hot.

Your capital and Bellis's permissions live in separate wallets. The agent can move prices, but it can never move your money.

Treasury

A Squads multisig or a cold wallet. You fund the pool from it and you withdraw back into it.

  • Deposits and withdrawals need your signers
  • Never sits on the hot path

Quoter

A scoped hot key that can update the quote account and pay priority fees in SOL. That's the whole list.

  • Allowlisted instructions only
  • Holds just enough SOL for fees

What Bellis can't do

These limits are hard-coded, and nothing you write in a policy can lift them.

  • Withdraw or transfer funds
  • Replant itself after a Mow
  • Flatten your position
Early access

Plant your first desk on Solana.

Bellis is opening to a small group of market makers first. The desk and the weekly policy challenge are open to everyone today. Follow along on X for launch updates and access.

Open the desk app Follow on X Docs