# Dividends

Mined `$BEM` is paid to `$TAPE` holders. The treasury takes no cut.

`$TAPE` is the unit that meters the claim. It is not `$BEM`, and it is not a share of treasury BNB. `$BEM` is exogenous to the meme. Comparison: [Comparison](/comparison).

Three things decide a claim: whether the balance is at least 1,000 `$TAPE`, which slice of supply is the denominator, and whether miner `$BEM` has already been pulled into the treasury. Transferring `$TAPE` does not harvest miners. It only settles `$BEM` already booked against the old balance.

`$BEM` has 8 decimals. `$TAPE` has 18. They are not 1:1. `accBemPerShare` scales by `1e36` so a small harvest divided by circulating supply does not round to zero.

This ledger is the staking-rewards accumulator. It does not add a lock. Selling ends further accrual.

```mermaid
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#1a120c","primaryTextColor":"#f5ede4","primaryBorderColor":"#953307","lineColor":"#f46622","secondaryColor":"#221710","tertiaryColor":"#120d09","edgeLabelBackground":"#120d09","noteBkgColor":"#221710","noteTextColor":"#f5ede4","noteBorderColor":"#953307","actorBkg":"#1a120c","actorBorder":"#953307","actorTextColor":"#f5ede4","signalColor":"#f46622","signalTextColor":"#f5ede4","fontFamily":"inherit"}}}%%
sequenceDiagram
  participant PodMining
  participant Ledger
  participant Token as TAPE
  participant Holder
  PodMining-->>Ledger: harvest pulls BEM in
  Note right of Ledger: acc += BEM * 1e36 / circ
  Holder->>Token: transfer
  Token->>Ledger: settle pending, both sides
  Token->>Token: edit balances
  Token->>Ledger: resync debts
  Holder->>Ledger: claimBem
  Ledger-->>Holder: BEM paid, no TAPE minted
  Note over Ledger,Holder: floor 1000 TAPE<br/>circ excludes inner and pair
```

## Circulating supply

Circulating supply is the dividend denominator. It is not an exchange's float.

```
circ = 1,000,000,000
     - unsold inner-contract balance
     - pair balance after graduation
```

Pair balances and inner inventory do not participate. Counting them would gift dividends to addresses that cannot claim, and would dilute eligible holders.

`0xdead` and the token contract are also ineligible. If they hold `$TAPE`, the matching BEM is never paid. It leaves the claimable set.

## Floor

The floor is 1,000 `$TAPE`. It filters dust and cuts empty keeper calls. It is not a staking lock.

| Balance | Result |
|---|---|
| Below 1,000 `$TAPE` | Pending is 0, debt is 0, no further accrual |
| At or above 1,000 `$TAPE` | Pending uses the formula below |

```
accrued = balance × accBemPerShare / 1e36
pending = accrued - debt
```

BEM already in the treasury but not yet written into `accBemPerShare` is included in a pending query, using current circulating supply.

The page preview also adds unharvested miner output, pro-rata on circulating supply. That is a preview, not a booked balance. Booking needs a harvest first. Treating preview as a balance is spending BEM that does not exist yet.

## Booking and claiming

After someone harvests, BEM sits in the treasury. The contract adds "treasury BEM minus already booked" to `accBemPerShare` using circulating supply.

| Function | Role |
|---|---|
| `claimBem` | Pay one address. Reverts if pending is 0. May be called for someone else |
| `claimBemMany` | Pay many addresses. A zero pending does not fail the batch |
| `harvestAndClaim` | Harvest miner output, then settle the given address |

After settle, booked BEM falls, that address's claimed amount rises, and debt is reset to the current balance times the accumulator.

Anyone may claim for an eligible address. The BEM still goes to that address. This is a keeper interface, not custody.

## Sells and transfers

For sender and receiver the contract does three things in order:

1. Pay already-booked BEM against the pre-transfer balances.
2. Edit `$TAPE` balances. Outer transfers may also take pair tax.
3. Re-sync debt against the new balances.

So before a sell or a send, the contract tries to pay you BEM. After the balance drops under 1,000, accrual stops. There is no lock, so there is no "unstake then claim" second step.

Read your numbers with `account` and `snapshot`. Emission and external dependence: [Risks](/risks).
