TAPER

Architecture

TAPER is one Anchor program (programs/today) and nothing else on chain. It reads each xStock's price from its own Raydium pool, holds xStocks (Token-2022) and USDC (SPL Token) in program-owned accounts, and swaps fees on a Raydium CPMM pool.

Accounts

AccountSeedsHolds
Config"config"The TAPER mint and token program, the burn pool, and all-time usdc_spent and today_burned
Market"market", xStock mintThe vaults, strike tick, volatility floor, learned variance, vault shares and assets, premium per share, whether a day is live
Day"day", market, New York day (i64 LE)The day's listed price, volatility, five strikes, calls sold per strike, cover, premium, fee, settlement price and payout
Position"position", market, ownerA holder's vault shares and premium owed
Ticket"ticket", day, owner, strike indexA buyer's calls at one strike of one day, and what they paid
Burn authority"burn"PDA that owns the fee USDC and signs the swap and the burn

There is exactly one Market per xStock mint and one Day per market per date, because both are PDAs built from those values.

Token accounts

Outside programs

ProgramAddressUsed for
Raydium CLMMCAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqKOwner of the three xStock/USDC pools and their observation rings the program reads prices from
Raydium CPMMCPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1CThe fee crank's swap into TAPER
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vThe only currency premiums are paid in

Listed markets

MarketxStock mintRaydium CLMM pool (against USDC)
NVDAxXsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh49iMatQtoyabsYAQc8GafVq6aeBFVDxSRH44oiatyyw6
AAPLxXsbEhLAtcf6HdfpFZ5xEMdqW8nfAvcsP5bdudRLJzJpApniVWuZbZoruTAJdyJcLBA4AVw4DKGdV5fHxo6qrAZT
TSLAxXsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB8aDaBQkTrS6HVMjyc6EZebgdiaXhLYGriDWKWWp1NpFF

The calendar

calendar.rs works out New York sessions from the date alone: US daylight saving, the ten NYSE holidays with their observance rules, Good Friday from the Easter computus, and the 1:00 pm early closes. It is tested against NYSE's published calendar for 2026 to 2028. A day cannot be opened on a date with no session.

The xStock token

xStocks carry Token-2022 extensions. The program reads the scaled UI amount multiplier (the dividend adjustment) when it prices a sale, and refuses to move a mint whose transfer hook is switched on.