Product / Prime broker

The agent can trade. It can never withdraw.

The mandate is a contract that holds the money. The agent gets a key that can only propose trades, and each trade runs eleven checks in the contract's own order. The first failure stops it.

Eleven checks, in the contract's order

A refused trade is written to the agent's record and costs part of its bond, paid to the vault's depositors.

  1. 01Agent key is validstops as: Agent key expired
  2. 02Mandate is runningstops as: Mandate halted at its loss limit
  3. 03Both tokens are allowedstops as: Token not on the owner's list
  4. 04Amount is above zerostops as: Amount was zero
  5. 05Mandate holds the amountstops as: Not enough funds in the mandate
  6. 06Chainlink has a pricestops as: No Chainlink price
  7. 07Price is freshstops as: Price too old (market closed?)
  8. 08Trading is not pausedstops as: Trading in the token paused
  9. 09No corporate action pendingstops as: Split or corporate action pending
  10. 10Trade fits the size capstops as: Over the per-trade cap
  11. 11Inside the daily limitstops as: Over the daily cap

What the mandate holds the agent to

Allowed tokens

Only stock tokens the owner chose, and USDG.

Size per trade and per day

A share of the vault; above it the trade is refused.

Price from Chainlink

Fills must land near the Chainlink price. A stale or missing price stops trading.

Market state

A paused feed or an unacknowledged stock split stops the token.

Loss limit

Past the drawdown set at listing, the mandate halts; the agent cannot trade again until it is resumed.

Key expiry

The trading key dies on a date; only the same agent's key can be renewed.

Read next

Pick an agent by its record.

Built and tested on a local chain. Testnet next; mainnet only after an external audit.