How a bond lives on Qupon
A bond is a sequence of dated events. This page follows one coupon from announcement to payout, in plain language: the same life Qupon runs on devnet. It starts with the Record dateThe moment that decides who gets paid: whoever holds the bond then receives the coupon, even if they sell it afterwards.: the moment that decides who gets paid.
The life of QPNb1: a coupon every six months, then redemption
One coupon in six steps
1 · The issue
The issuer creates the series on-chain: 100 bonds of 1,000 ₸ at 10% a year, placed with three holders of 10, 25 and 65 bonds. Every holder's wallet carries a KYC attestation; the register is the token ledger itself.
2 · The announcement
The registrar announces the coupon as a corporate action: the period, the record date, the payment date and 50.00 ₸ per bond. Custodians and banks get it as a seev.031 notice.
3 · The record date
Whoever holds the bond at the record date is paid, even if they sell a second later. Trading never stops: each holder is copied into the on-chain snapshot before their first transfer after the record date, and the snapshot must add up to every bond outstanding.
4 · The escrow
The issuer funds a program-owned escrow with the full amount: 5,000 ₸ for this coupon. From then on nobody can redirect the money: it can only reach the snapshotted holders, the tax vault or the paying agent.
5 · The payout
Any wallet can push the payout: the step is permissionless, so a funded coupon cannot be stalled. Wallet holders receive tKZT directly; bank-routed holders are paid through the paying agent (the bank transfer is simulated). Each holder gets a seev.036 confirmation.
6 · Default, cure, redemption
If the escrow is still short one grace day after the payment date, anyone can record the default on-chain. The issuer cures it by funding late, and the money still goes to the record-date holders. At maturity the principal is paid and the bonds are burned in one instruction.
Where the money goes
Example numbers from the brief
- Holder A500.00 ₸10 bondsPaid
- Holder B1,250.00 ₸25 bondsPaid
- Holder C3,250.00 ₸65 bondsPaid
The example coupon: 100 bonds × 50.00 ₸ = 5,000 ₸ from the escrow to three holders: 500, 1,250 and 3,250 ₸.
Six mechanics under the hood
What Qupon adds to a plain tokenized bond. Every card links a real devnet transaction.
The register never pauses
The record date is not a freeze. The bond's transfer hook lets every trade through, but from the record moment it copies the seller into the on-chain snapshot first, so trading never stops for a coupon. Once the snapshot is final the gate disarms and buyers trade ex-coupon: the seller keeps this payout.
- Coupon announced
- Record date: the hook gates each trade
- Snapshot final: ex-date
Anyone can push the next step
Snapshotting, payout and completion are permissionless: any wallet can push them and the program checks every rule, so a funded coupon cannot be stalled by an absent operator. Each step is its own transaction, visible to everyone.
When the issuer is late
If the escrow is still short one series day after the payment date, anyone can record the default on-chain: it becomes part of the series' public history and no new action opens while it stands. The issuer cures it simply by funding the escrow — and the record-date holders are paid all the same.
Paid to your bank
Each holder chooses their own payout route on-chain: straight to their wallet, or through the paying agent to a bank account only that holder's signature can set. The action cannot close until the agent confirms the transfer; the bank transfer itself is simulated.
The notice is anchored
The registrar's seev.031 notice is hashed with sha256 and the hash is written on-chain once, where nobody can change or reissue it. Custodians can check any copy of the file against the anchored hash at any time.
Buying between coupons
A bond sold between coupons carries its accrued interest: the buyer pays the seller the part of the next coupon already earned, on top of the clean price. After the record date this flips — the accrued amount turns negative and the seller keeps the coupon. Every admitted trade records the split on-chain.
Glossary
Every term of art Qupon uses, in plain language. The same definitions open from the dotted terms across the app.
- Record date
- The moment that decides who gets paid: whoever holds the bond then receives the coupon, even if they sell it afterwards.
- Ex-date
- The first day a bond trades without the right to the next coupon. On Qupon the record date does this job: buy after it and the seller keeps the payout.
- Coupon
- The interest payment a bond pays on its schedule — for these bonds, 10% a year in two halves of 50.00 ₸ per 1,000 ₸ bond.
- Accrued interest
- The part of the next coupon earned since the last payment date. A buyer pays it to the seller on top of the clean price.
- Clean and dirty price
- Clean price is quoted without accrued interest; dirty price is what actually changes hands: clean plus accrued.
- Yield to maturity
- The annual return if you buy at today's price and hold to maturity, with every coupon paid on time.
- Entitlement
- What one holder is owed for one action: units × amount per bond, gross, tax and net, rounded half-up per holder.
- Snapshot
- An on-chain copy of every holder's balance at the record date. The sum must equal the bonds outstanding, or the action cannot continue.
- Snapshot hash
- One fingerprint of the whole register: the XOR of a hash per holder. Batch order does not change it, so anyone can verify the snapshot is complete.
- Escrow
- A program-owned account the issuer funds before payment. Money can only leave it to the holders, the tax vault or the paying agent recorded on-chain.
- Tax vault
- Where withholding tax goes at source, per the holder's investor class, before the net amount is paid.
- Payout route
- Where a holder's money goes: straight to their wallet, or through the paying agent to a bank account. Only the holder's own signature can set or change it.
- Paying agent
- The bank that receives payouts for holders who chose a bank route and confirms the transfer with a reference. Bank transfer is simulated.
- Redemption
- The issuer pays back the face value at maturity and the bonds are burned. On Qupon pay and burn happen in one instruction.
- Early redemption (call)
- The issuer's right to pay back the bonds before maturity, announced as a corporate action with its own record date.
- Partial call
- An early redemption of only part of the issue. Every holder is reduced pro rata, so nobody is picked by hand.
- Bondholder meeting
- A vote of holders on a change — for example a new coupon rate. One vote per snapshotted bond; the record date fixes who can vote.
- Quorum
- The minimum share of the snapshotted bonds that must vote for a meeting to count. Each series sets it in its terms.
- Registrar
- The operator that keeps the register: announces actions from the KASE notice, checks the snapshot reconciles, and reports back.
- Permissionless step
- Any wallet can push this step forward. The program checks every rule, so nobody — not even the issuer — can stall a funded payment.
- Transfer hook
- A check the bond token runs on every transfer. After the record date a position moves only once it is snapshotted, so trading never stops.
- Token-2022 pause
- The legacy way to freeze a mint for a record date: transfers are paused until the snapshot is final. New hooked series use the transfer hook instead.
- DvP (delivery versus payment)
- A secondary trade where bonds and cash swap in one settlement: the seller's bonds sit in escrow until the buyer's cash arrives.
- Default
- The payment date plus one grace day passed and the escrow is short. Anyone can record it on-chain; the debt stays public until cured.
- Grace day
- The one series day after a payment date during which the issuer may still fund the escrow. Once it passes with the escrow short, anyone can record the default.
- Cure
- Late funding of a defaulted payment. Holders on the record date are still the ones paid.
- SAS attestation
- A KYC proof from the Solana Attestation Service bound to the wallet. Only attested investors can hold bonds or get paid.
- Demo clock
- A series option that maps one bond day to a few seconds, so a whole life — coupons, default, redemption — plays out in minutes. Refused on mainnet.
- 30E/360
- Day-count convention: every month counts as 30 days and a year as 360, as in KASE coupon schedules.
- Anchored notice
- The sha256 hash of a seev.031 notice, written on-chain once. Any copy of the file can be checked against it forever.
- seev.031
- ISO 20022 corporate-action notification: the announcement custodians and banks read.
- seev.036
- ISO 20022 movement confirmation: one per holder, stating what was paid and when.
Rather watch it? The sandbox plays this whole life on a demo clock (coupon, default, cure) in a few minutes.