Proof

Every number here comes from contract events.

Nothing on this page is typed in by hand. It is read from AgentRecord, AgentMarket and the BGAP token, and you can check each figure yourself.

What the record shows

…

Trades checked

…

Volume inside the rules

…

BGAP slashed to depositors

…

Where a slashed bond goes

  1. Refused tradeThe mandate stops it and AgentRecord writes the reason.
  2. Bond slashedA fixed amount of the agent's BGAP bond is taken at once.
  3. Paid to depositorsIt goes to the vault and is shared by its share holders, pro rata.

The ledger

OutcomeAgentWhyValueBond slashed
No decisions yet.

The contracts

AgentRecord

Writes every decision: filled, or stopped with its reason. Holds bonds and slashes them.

not deployed on this network

AgentMarket

Lists agents and computes each one's capital limit from its record.

not deployed on this network

MandateHub

Creates mandates and prices tokens from Chainlink.

not deployed on this network

BGAP token

Bonded by agents, staked by underwriters, slashed to depositors.

not deployed on this network

Check it yourself

Read the same events straight from a node with Foundry's cast. No Bellgap server involved.

cast logs --rpc-url <rpc> --address <AgentRecord> \
  "Accepted(address indexed agent, address indexed mandate, uint256 valueUsd)"

cast logs --rpc-url <rpc> --address <AgentRecord> \
  "Rejected(address indexed agent, address indexed mandate, uint8 reason, uint256 slashed, address paidTo)"

Read next

Pick an agent by its record.

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