COUPON
Position
Section titled “Position”fact COUPON is leg 0 of a series in NoteLegs (ERC-1155), id (seriesId << 1) | 0. One unit is one raw quote unit of matched notional (10⁻⁶ USDG for 6-decimal USDG, so 1 USDG of notional is 1,000,000 units). Units are transferable and composable.
Cash flows
Section titled “Cash flows”| Moment | Condition | COUPON receives |
|---|---|---|
| Strike | matched | N_c units minted (lazily via settle); unmatched USDG refundable |
| Each intermediate observation | P >= barrier | N_c × couponBps / 1e4 × (1 − couponFeeBps / 1e4) net coupon, accrued to couponIndex |
| Each intermediate observation | P < barrier | nothing; series continues |
| Intermediate observation | P >= autocall | that coupon, and units become redeemable at 1 USDG |
| Maturity | P >= barrier | final coupon, units redeemable at 1 USDG |
| Maturity | P < barrier | no coupon; each 1 USDG of units (1e6 units) redeemable for 1e6 × 1e12 × 1e8 / s0 Stock Token wei |
Accrual accounting
Section titled “Accrual accounting”Coupons are not pushed to holders. NoteCore keeps a per-series cumulative index and a per-holder snapshot.
fact On any ERC-1155 transfer, NoteLegs calls NoteCore.onLegTransfer(seriesId, leg, from, to, amount) before balances change. The hook settles the sender’s and receiver’s accrued coupons into claimableQuote and updates both snapshots. A buyer of COUPON units on a secondary market therefore never inherits the seller’s unclaimed coupons, and a seller never loses them.
Example
Section titled “Example”illustrative Alice holds 60,000 units and Bob 40,000 of a 100,000-unit series. Net coupon per observation is 1,275 USDG.
| Event | couponIndex (USDG per unit) | Alice claimable | Bob claimable |
|---|---|---|---|
| Observation 1 paid | 0.01275 | 765.00 | 510.00 |
| Observation 2 paid | 0.02550 | 1,530.00 | 1,020.00 |
| Alice transfers 10,000 units to Carol | 0.02550 | 1,530.00 settled into claimableQuote | 1,020.00 |
| Observation 3 paid | 0.03825 | 1,530.00 + 637.50 = 2,167.50 | 1,020.00 + 510.00 = 1,530.00 |
| Carol (10,000 units) | 127.50 |
Alice’s claimable total 2,167.50 = 60,000 × 0.02550 + 50,000 × 0.01275. Carol earns only from observation 3 onwards.
Redemption
Section titled “Redemption”- Autocalled / Matured, not breached:
redeem(seriesId, units)burns units, paysunitsraw USDG (1 USDG per 1e6 units). - Matured, breached:
redeem(seriesId, units)burns units, paysunits × 10^(18 − quoteDecimals) × 1e8 / s0Stock Token wei. previewRedeem(seriesId, 0, units)returns(quoteOut, stockOut)for the current state.
Refund
Section titled “Refund”If the series was oversubscribed on the COUPON side, the unmatched share of each deposit is refundable after strike via refund(seriesId). If the series was cancelled, the full deposit is refundable. See Coupon discovery for the pro-rata rule.
Risk summary for COUPON holders
Section titled “Risk summary for COUPON holders”- Principal is at risk if the final observation is below the barrier: you receive stock worth
S_T / s0of your notional. See Market risk. - Coupons for observations below the barrier are not paid and not recovered.
- Early autocall caps total coupons. The higher the stock at the first intermediate observation, the shorter the trade.
- No issuer credit risk on the protocol side: the USDG you deposit is the escrow. You do bear Stock Token issuer risk upon physical settlement. See Issuer risk.