Expiry Handling
免責事項: このホワイトペーパーは英語版が正式な文書となります。他言語の翻訳は参照用です。
Overview
Section titled “Overview”All PIPO warrants have a defined expiry date. This document covers what happens when warrants reach their expiration.
Expiry Calendar
Section titled “Expiry Calendar”Standard Expiry Dates
Section titled “Standard Expiry Dates”| Cycle | Expiry Date | Last Exercise Window |
|---|---|---|
| Q1 | March 31 | March 15-19 |
| Q2 | June 30 | June 15-19 |
| Q3 | September 30 | September 15-19 |
| Q4 | December 31 | December 15-19 |
Expiry Time
Section titled “Expiry Time”Expiry Moment: 23:59:59 UTC on expiry date
Timeline:├── Last exercise window: 5 days before month end├── Final trading: Up to 23:59 UTC on expiry date├── Expiry: 00:00 UTC following day└── Final settlement: +24 hoursAutomatic Exercise
Section titled “Automatic Exercise”Policy
Section titled “Policy”PIPO implements automatic exercise for in-the-money warrants:
Auto-Exercise Rules:
ITM > 1%: Automatic exercise (unless opted out)ITM 0-1%: No auto-exercise (fees may exceed value)OTM: Expire worthless
User can opt-out of auto-exercise in settings.Rationale
Section titled “Rationale”- Prevents users from forgetting to exercise valuable positions
- Standard practice in traditional options markets
- Only applies at expiry (not during regular windows)
- User always has option to disable
Expiry Settlement Process
Section titled “Expiry Settlement Process”Step-by-Step
Section titled “Step-by-Step”┌─────────────────────────────────────────────────────────────────┐│ EXPIRY SETTLEMENT FLOW │├─────────────────────────────────────────────────────────────────┤│ ││ Day T (Expiry Date): ││ ┌─────────────────────────────────────────────────────────┐ ││ │ 00:00-23:59 UTC: Final trading window │ ││ │ ├── AMM remains open │ ││ │ ├── Users can sell positions │ ││ │ └── No new purchases (optional restriction) │ ││ │ │ ││ │ 23:59:59 UTC: Trading halts │ ││ └─────────────────────────────────────────────────────────┘ ││ │ ││ ▼ ││ Day T+1 (Settlement): ││ ┌─────────────────────────────────────────────────────────┐ ││ │ 00:00 UTC: Warrants officially expire │ ││ │ │ ││ │ 06:00 UTC: Oracle Committee publishes final price │ ││ │ ├── Based on last available valuation data │ ││ │ └── 2/3 committee signature required │ ││ │ │ ││ │ 12:00 UTC: Auto-exercise execution │ ││ │ ├── ITM warrants (>1%) automatically exercised │ ││ │ ├── Opted-out positions excluded │ ││ │ └── OTM warrants marked as expired │ ││ │ │ ││ │ 18:00 UTC: Settlement distribution │ ││ │ ├── USDC payouts to exercised positions │ ││ │ ├── Warrant tokens burned │ ││ │ └── Final accounting complete │ ││ └─────────────────────────────────────────────────────────┘ ││ │└─────────────────────────────────────────────────────────────────┘Expiry Scenarios
Section titled “Expiry Scenarios”Scenario 1: ITM Expiry (Auto-Exercise)
Section titled “Scenario 1: ITM Expiry (Auto-Exercise)”Position: 5,000 SPACEX-CALL-180B-Q42025Final Oracle: $210BStrike: $180BAuto-Exercise: Enabled (default)
Process:├── ITM check: ($210B - $180B) / $180B = 16.7% ✓├── Auto-exercise triggered: Yes├── Gross payout: 5,000 × $1 × 16.7% = $835├── Settlement fee: $835 × 1% = $8.35├── Net payout: $826.65└── Tokens: Burned
User receives: $826.65 USDCScenario 2: ITM Expiry (Opted Out)
Section titled “Scenario 2: ITM Expiry (Opted Out)”Position: 5,000 SPACEX-CALL-180B-Q42025Final Oracle: $210BStrike: $180BAuto-Exercise: Disabled by user
Process:├── ITM check: 16.7% ITM ✓├── Auto-exercise: Disabled├── No exercise submitted during final window└── Tokens: Expire worthless
User receives: $0 (position lost)
Warning: User forfeited $826.65 potential valueScenario 3: OTM Expiry
Section titled “Scenario 3: OTM Expiry”Position: 3,000 SPACEX-CALL-220B-Q42025Final Oracle: $195BStrike: $220BAuto-Exercise: N/A (OTM)
Process:├── ITM check: ($195B - $220B) / $220B = -11.4% (OTM)├── Auto-exercise: Not triggered├── Intrinsic value: $0└── Tokens: Expire worthless
User receives: $0 (expected outcome)Scenario 4: Marginal ITM (<1%)
Section titled “Scenario 4: Marginal ITM (<1%)”Position: 2,000 SPACEX-CALL-180B-Q42025Final Oracle: $181BStrike: $180BAuto-Exercise: Enabled
Process:├── ITM check: ($181B - $180B) / $180B = 0.56%├── Below 1% threshold: Auto-exercise NOT triggered├── Gross payout if exercised: 2,000 × $1 × 0.56% = $11.20├── Settlement fee: $11.20 × 1% = $0.11├── Net payout: $11.09├── Manual exercise: User can still exercise during window└── If not exercised: Expires worthless
Reason: Settlement fee + gas may exceed value for small ITM.User can manually exercise if they believe it's worthwhile.User Notifications
Section titled “User Notifications”Expiry Reminder Sequence
Section titled “Expiry Reminder Sequence”| Timing | Notification |
|---|---|
| T-30 days | Email: “Warrants expiring in 30 days” |
| T-14 days | Email + Push: Position summary |
| T-7 days | Email + Push + Banner: “Final exercise window approaching” |
| T-5 days | All channels: “Exercise window now open” |
| T-1 day | Urgent push: “Last day to trade/exercise” |
| T-0 | Final push: “Warrants expire at midnight UTC” |
Dashboard Indicator
Section titled “Dashboard Indicator”┌─────────────────────────────────────────────────────────────────┐│ ⚠️ EXPIRING POSITIONS │├─────────────────────────────────────────────────────────────────┤│ ││ The following positions expire in 5 days: ││ ││ ┌──────────────────────────────────────────────────────────┐ ││ │ SPACEX-CALL-180B-Q42025 │ ││ │ ├── Holding: 5,000 tokens │ ││ │ ├── Current Status: 🟢 ITM (+8.3%) │ ││ │ ├── Current Value: ~$415 │ ││ │ ├── Expiry: Dec 31, 2025 │ ││ │ ├── Auto-Exercise: ✅ Enabled │ ││ │ └── Action: None required (will auto-exercise) │ ││ └──────────────────────────────────────────────────────────┘ ││ ││ ┌──────────────────────────────────────────────────────────┐ ││ │ OPENAI-CALL-100B-Q42025 │ ││ │ ├── Holding: 1,000 tokens │ ││ │ ├── Current Status: 🔴 OTM (-15%) │ ││ │ ├── Current Value: ~$20 │ ││ │ ├── Expiry: Dec 31, 2025 │ ││ │ └── Action: Consider selling on AMM or let expire │ ││ └──────────────────────────────────────────────────────────┘ ││ ││ [Manage Auto-Exercise Settings] [View All Positions] ││ │└─────────────────────────────────────────────────────────────────┘Rollover at Expiry
Section titled “Rollover at Expiry”Last-Minute Rollover
Section titled “Last-Minute Rollover”Users can roll positions up to 24 hours before expiry:
Rollover Cutoff:├── Last trading: Expiry date 23:59 UTC├── Last rollover: Expiry date 00:00 UTC (24h before)└── After cutoff: Must exercise or let expire
Rollover at expiry typically has:├── Minimal time value in old series├── Higher cost (full time value of new series)└── Higher urgency/slippage riskPost-Expiry Clean-Up
Section titled “Post-Expiry Clean-Up”Token Disposition
Section titled “Token Disposition”Post-Expiry Token Handling:├── Exercised tokens: Burned at settlement├── Expired OTM tokens: Burned automatically├── Unclaimed settlements: Held in escrow 180 days└── After 180 days: Forfeited to protocol reservePool Closure
Section titled “Pool Closure”Pool Lifecycle After Expiry:├── T+0: Trading halted├── T+1: Final settlements processed├── T+7: LP withdrawals finalized├── T+30: Pool contracts archived└── T+365: Pool data moved to cold storageSettings
Section titled “Settings”User Preferences
Section titled “User Preferences”┌─────────────────────────────────────────────────────────────────┐│ EXPIRY SETTINGS │├─────────────────────────────────────────────────────────────────┤│ ││ Auto-Exercise: ││ ┌──────────────────────────────────────────────────────────┐ ││ │ [✓] Enable auto-exercise for ITM positions (>1%) │ ││ │ [ ] Auto-exercise all ITM positions (including <1%) │ ││ │ [ ] Disable auto-exercise (manual only) │ ││ └──────────────────────────────────────────────────────────┘ ││ ││ Notifications: ││ ┌──────────────────────────────────────────────────────────┐ ││ │ [✓] Email reminders │ ││ │ [✓] Push notifications │ ││ │ [✓] SMS for final 24h (requires phone verification) │ ││ └──────────────────────────────────────────────────────────┘ ││ ││ Reminder Frequency: ││ ┌──────────────────────────────────────────────────────────┐ ││ │ [●] Standard (30d, 14d, 7d, 5d, 1d) │ ││ │ [ ] Minimal (7d, 1d only) │ ││ │ [ ] Aggressive (daily from 14d) │ ││ └──────────────────────────────────────────────────────────┘ ││ ││ [Save Settings] ││ │└─────────────────────────────────────────────────────────────────┘API Reference
Section titled “API Reference”Get Expiring Positions
Section titled “Get Expiring Positions”const expiring = await pipo.getExpiringPositions({ address: '0x...', withinDays: 30});
// Response{ positions: [ { warrant: 'SPACEX-CALL-180B-Q42025', balance: 5000, expiryDate: '2025-12-31', daysToExpiry: 5, currentStatus: 'ITM', itm Percentage: 8.3, estimatedValue: 415, autoExercise: true } ], totalValue: 435, autoExerciseEnabled: true}Set Auto-Exercise Preference
Section titled “Set Auto-Exercise Preference”const result = await pipo.setAutoExercise({ enabled: true, threshold: 1.0, // Only auto-exercise if >1% ITM warrant: null // Apply to all (or specify single warrant)});
// Response{ success: true, setting: { enabled: true, threshold: 1.0, appliedTo: 'ALL_WARRANTS' }}