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

# The Bell

> The public trigger that runs a distribution. Anyone can ring it.

## What it is

Royalties do not distribute themselves. Something has to convert the accumulated ETH into the assets
holders chose and credit each position. In Goat Street that something is called **the Bell**, and
**anyone can ring it**.

There is no keeper role, no privileged operator, and no schedule anyone has to trust. Ringing the
Bell is a single public function call, open to any address, and the caller is paid nothing for it.
If the team disappeared tomorrow, holders could keep the protocol paying by ringing it themselves.

## What happens when it rings

<Steps>
  <Step title="The pot is measured">
    Everything not already owed to a holder becomes the pot for this round.
  </Step>

  <Step title="The pot is split by asset">
    Weight is totalled per chosen asset, and each asset's slice is sized by its share of that total.
    The weights are read once, up front, so nothing reached from inside a swap can move the split
    underneath it.
  </Step>

  <Step title="Each slice converts">
    One swap per asset, each bounded by a floor derived from Chainlink marks. Weight that chose
    nothing takes its share directly in ETH.
  </Step>

  <Step title="Credit accrues">
    Each position's entitlement is recorded. Nothing is pushed to anyone, and no holder list is ever
    walked.
  </Step>
</Steps>

## Why it is open to everyone

<CardGroup cols={2}>
  <Card title="No liveness dependency" icon="infinity">
    A protocol whose payouts depend on one bot is a protocol that stops paying when that bot does.
    Anyone being able to ring the Bell removes that failure mode entirely.
  </Card>

  <Card title="No trusted schedule" icon="calendar-xmark">
    Holders do not have to believe a stated cadence. They can check the pot on-chain and ring the
    Bell themselves the moment it is worth doing.
  </Card>

  <Card title="Constant cost" icon="gauge">
    A round costs the same at sixty holders as at six thousand.
  </Card>

  <Card title="Nothing to extract" icon="lock">
    The caller sets no prices and receives no reward. Their only influence is a slippage bound they
    may set *tighter* than the protocol's own floor, never looser.
  </Card>
</CardGroup>

## What bounds the caller

Ringing the Bell is open, but it is not unconstrained.

| Guard              | Effect                                                                                                         |
| ------------------ | -------------------------------------------------------------------------------------------------------------- |
| Minimum pot        | A round is refused below a threshold, so the gas is never worth more than the value it moves                   |
| Maximum pot        | A single round is capped, so a large accumulation converts across several passes instead of one oversized swap |
| Oracle floor       | Every slice must clear a bound derived from Chainlink marks; a caller may tighten it, never loosen it          |
| Settlement delay   | Credit from a round cannot be extracted in the same block it was created                                       |
| Matching books     | The engine refuses to ring unless the registry currently names it *and* their two weight totals agree          |
| A venue to swap at | If no route can reach any asset on the menu, the round stops rather than converting the whole pot to ETH       |

## Rounds that do not fully fill

A slice can fail to convert for ordinary reasons — no route at that size, a feed that has gone
stale, an equity paused for a corporate action. When that happens its ETH is credited to **that
asset's own holders, as ETH, immediately and permanently**.

It is not returned to the general pot, and it is not held over for a later round. That distinction
matters: returning it to the pot would re-split it across every other asset, quietly moving value
from the holders it belonged to onto everyone else. Instead it stays with the holders it was sized
for, and only the denomination changes.

<Callout type="info">
  Delivery is separate and equally open: pushing a position's credited rewards into its own wallet
  can be done by anyone, for any NFT. See [Rewards](/goat-street/rewards#collecting-is-two-steps).
</Callout>
