Skip to content

PT20 vs PT721

The two principal-claim formats serve different needs. Both redeem 1:1 for DIEM at maturity; the differences are in maturity flexibility and secondary-market shape.

Side by side

AspectPT20PT721
StandardERC-20 (+ ERC-5095)ERC-721
MaturityMust be 1st of a month at 00:00 UTCAny timestamp
CardinalityOne contract per maturity (≤ 13 active)One singleton contract; each tokenId is a position
FungibilityFully fungible within a maturityEach NFT is unique
Secondary marketDEX pools (Uniswap, Pendle)NFT marketplaces (OpenSea, Blur)
Lending collateralStandard ERC-20 lending marketsNFT-collateral protocols (NFTfi, Bend)
DD issuanceprincipal × floor(secsToMaturity / day) (min 1 day)Same formula

When to pick PT20

  • You're locking until the 1st of a calendar month anyway.
  • You want deep DEX liquidity for the principal claim — pooled with other lockers into the same monthly cohort.
  • You expect to sell or borrow against the position. Lending markets prefer fungible ERC-20s.
  • You don't care about specific dates within a month.

Typical user: someone passively allocating to inference exposure for several months, treating the principal as a tradeable yield-bearing instrument.

When to pick PT721

  • You need a specific date that isn't the 1st of a month (e.g. 45 days for a contract that closes on a specific day).
  • The position is one-of-a-kind, intended for secondary sale as a collectible position rather than pooled liquidity.
  • You're fine with thinner secondary markets in exchange for date precision.

Typical user: someone with a specific use-case bound to a non-aligned date, or an institutional position whose terms don't align to month-end.

Mixing

You can have multiple positions simultaneously in any combination:

1 × PT20-kDIEM-JUN26  (10 DIEM until Jun 1, fungible)
1 × PT20-kDIEM-AUG26  (5 DIEM until Aug 1, fungible)
3 × PT721 (tokenIds 7, 12, 22 — 3 positions with custom maturities)

Each is independent. Each issues its own DD upfront. Each redeems independently at maturity.

Why not just per-day PT20?

We thought about it. Per-day PT20 would mean 365 ERC-20 contracts per year. Each pool would carry too little TVL for meaningful liquidity. By restricting fungible PT20 to monthly maturities (max 13 contracts active at a time over the 400-day horizon), each PT20 pool can sustain real depth.

PT721 covers the per-day case for users who genuinely need it.

Maturity calendar (PT20)

Valid PT20 maturity dates are always 1st of a month at 00:00 UTC. The factory enforces this on every getOrCreate call. At any given moment, up to ~13 PT20 contracts can exist (one per upcoming month within 400 days).

The naming convention is human-readable:

  • Contract name: Kairence PT-20 kDIEM Jun 2026
  • Symbol: PT20-kDIEM-JUN26

This is symmetric with how Treasury bond markets name maturities.

DD-per-day equivalence

For two locks of the same amount and approximately the same number of days to maturity:

PT20 (10 DIEM, exact 30 days)   → 300 DD
PT721 (10 DIEM, exact 30 days) → 300 DD

The DD math is identical between paths. The choice is purely about the principal token's tradeability shape, not the inference yield.

Released under the MIT License.