Skip to content

Running on HashKey Chain testnet

Let your agent trade. Cap what it can lose.

Flow lets an AI agent trade on HSKSwap by itself. Your money sits in a vault contract that checks every trade, so a bad prompt or a stolen key can't cost more than the limits you set.

macOS Coming soon Windows Coming soonRead the docs

Desktop apps for macOS and Windows are coming soon. Testnet today, mainnet next.

Per trade
$100
Per day, per vault
$250
Held per vault
$150
Max loss / day
≤ $51.50

Default limits, enforced on-chain. The $51.50 bound is for both vaults together and covers every trade path while the Supra price feed is live. Price moves on what the vault holds are handled by the stop-loss, not the contract.

Illustration. Numbers from the real testnet WBTC trade on 2 Nov 2026 (staged pool gap).

Built on

  • HashKey Chain
  • HSKSwap
  • Supra
  • EAS
  • Claude / MCP

The old way

Give the agent a hot wallet and hope.

  • One bad prompt can spend everything. Nothing sits between the model and the wallet.
  • A stolen key can withdraw it all. The key that trades is the key that owns the money.
  • Any price goes through. A token allowance doesn't know what a fair price is.
  • No record of why. After a bad night you have balances, not reasons.

The Flow way

Put the money in a vault that checks every trade.

  • Hard caps on-chain. $100 a trade, $250 a day and $150 held, per vault. The agent can't raise them.
  • The agent key can't withdraw. It can trade inside the limits or pause. Only your owner key moves funds out.
  • Bad prices revert. Each trade is checked against the Supra oracle price, with one pool and one router fixed at deploy.
  • Every decision is written down. Trades and skipped trades go in a journal; each trade's reason hash goes on-chain.

What you get

Autonomy with a ceiling.

A stolen key can't drain it

We took the real agent key and tried to break the vault. Every attack reverted on-chain with a named error.

Know the worst day

≤ $51.50

The most bad trades can cost across both vaults in one UTC day, on every path, while the Supra price is live. That's $25.75 per vault.

Steer it in plain words

Tell it what you want. Tightening applies at once; loosening asks you first.

Every decision on the record

Trades, skips and vetoes go into a hash-chained journal. Each trade puts its reason hash on-chain and gets an EAS attestation, so anyone can match what happened to why.

KindMarketWhat happenedProof
tradeWBTCBuy $25, net edge +68.9 bpstx · EAS
no_tradeWBTCNo signal, skippedjournal
vetoHSKAgent turned down a stale buyjournal
tradeWBTCClosed the lot, +70.11 bpstx · EAS

Pause from another device

The guardian key lives off the agent's machine. It pauses the vault in one transaction. Only the owner can unpause.

Bring your own agent

Flow speaks MCP. Our trader runs on Claude; any MCP agent can use the same tools.

  • Claude Code
  • Codex
  • opencode
  • Any MCP client

Open, and tested

Apache-2.0. The vault contract has 148 tests and fuzzed invariants, and the deployed source is verified on Sourcify.

148 tests

How it works

Three steps. Then let it run.

  1. Set the limits

    Flow deploys one vault per market (WHSK/USDT and WBTC/USDT) and you fund it. You choose the per-trade, per-day and exposure caps. The owner and guardian keys stay on your own devices, never on the agent's machine.

  2. Let the agent trade

    Flow watches the HSKSwap pools, the Supra price and the HashKey Global order books, and lines up candidate trades. The agent picks one, sizes it down or skips. The vault checks the trade on-chain and swaps on HSKSwap. The output stays in the vault.

  3. Check the record

    Every decision lands in the journal with its reason. Trades carry the reason hash on-chain and an EAS attestation. Stop-loss and take-profit run without asking the model, and you can pause any time.

Proof, not promises

It already ran on testnet.

These are real transactions on HashKey Chain testnet (chain 133) with test tokens, from 2 Nov 2026. Nobody else trades the test pools, so we moved two pool prices with our own swaps to create a gap; rows that depend on that say “staged”. Mainnet is next.

Every testnet link, with what to look for

Use cases

What it does for you.

Three people Flow is built for. These are use cases, not quotes from customers.

You built a trading agent and want to leave it running overnight. Connect it to Flow's MCP server. It gets candidates, quotes and an execute tool, and the vault decides what's allowed.

Agent builderUse case

You want to know the worst case before you fund anything. Set the caps once. A bad prompt or a stolen key can't go past them, and you can pause from another device.

Risk-conscious operatorUse case

You need to check what happened and why. Each trade's ID matches a journal record, its reason hash is in the event, and an EAS attestation ties them together.

AuditorUse case

Let it trade. Know the worst case.

Flow runs on your computer. macOS and Windows apps are coming soon.

macOS · coming soonWindows · coming soonRead the docs

No sign-up server. This opens your email app with a short note to hello@flowverse.cloud. Nothing is stored or tracked on this site.