OpenChainGraph Suite · ART-760
ESPP Break-Even & Optimal Sell
Compare qualifying vs. disqualifying ESPP disposition taxes: ordinary income (the 15% purchase discount), LTCG tax at the 2026 §1(h) rates layered on top of ordinary income, the marginal ordinary rate, the break-even qualifying-disposition date, and after-tax proceeds under each path. Port of ApexLogics Apex #110 (AL-117, CC BY 4.0).
Compensation & BenefitsIRC §4232026 §1(h)Zero PIIClient-side only
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data; use synthetic or anonymised inputs only.
Scope & reliance
Two ESPP disposition paths are compared. Disqualifying (sell before the holding period is met): ordinary income is the purchase discount, FMV at purchase recovered by inverting the 15% statutory discount (purchase_price / 0.85, IRC §423(b)(6)), and the residual gain is LTCG. Qualifying (hold >2 years from grant AND >1 year from purchase, IRC §423(a)(1)): ordinary income is capped at the lesser of the sale-date spread and the grant-date spread (IRC §423(c)), and the remainder is LTCG. LTCG is layered on the 2026 §1(h) thresholds (single $49,450 / $545,500; MFJ $98,900 / $613,700) atop ordinary income. Ordinary tax uses the 2026 §1 rate tables. Out of scope: state tax, AMT, employment-tax treatment of the ordinary income, wash-sale and §1091 rules, the $3,000 capital-loss limitation, and any plan discount other than the 15% statutory maximum. This node ships compute_proof_ready: pending (deterministic core; already_qualified is the sole clock-dependent field, excluded from the execution-hash preimage).ESPP details
Edit any field and run. The sample uses the Apex #110 defaults (purchase $29.75, offering $35.00, current $48.00, 500 shares, $180k ordinary income, single).
Tax profile
Result
Qualifying-disposition date
Proof status
This node ships compute_proof_ready: pending. The deterministic core (compute()) makes no network or clock calls except the optional, hash-excluded already_qualified flag; supply as_of_date to make the full payload reproducible.Execution Hash & §4 Artifact
SHA-256 execution hash (JCS canonical, RFC 8785):