PT, YT, and attnUSD – Technical Design
This page describes the lower-level objects that sit under attn’s user-facing concepts:
- Revenue account → the underlying cashflow source.
- Principal Token (PT) → the “principal leg” of a revenue position.
- Yield Token (YT) → the “cashflow leg” between now and a defined maturity.
- attnUSD → a vault share token that holds a portfolio of PT/YT positions and stablecoins.
The goals are to:
- standardise how revenue-backed positions are represented on-chain,
- make them composable with fixed-income infrastructure on Solana, using Exponent Finance’s “Standardised Yield” (SY) framework for PT/YT representation,
- and give LPs and integrators a clear picture of what backs attnUSD.
This is a conceptual specification rather than a formal program spec.
1. Objects and terminology
1.1 Revenue Account
A Revenue Account is a jointly controlled onchain vault (typically a Squads Safe) that:
- receives protocol / creator / network revenues,
- enforces routing rules when one or more financing positions are active,
- can deploy unencumbered balances into safe yield sources.
From the PT/YT system’s perspective, a revenue account is:
- a source of cashflows over time,
- associated with a specific project and risk profile,
- referenced by an identifier
rev_id.
1.2 Revenue-Bearing Position (RBP)
To interface with yield-stripping infra, we define a logical Revenue-Bearing Position (RBP):
- a token or virtual position whose value derives from the discounted future cashflows of a revenue account over some horizon.
In practice:
- the RBP is an internal abstraction (not necessarily a freely transferable token),
- attn can wrap it as a standardised “yield-bearing token” type if the infra provider expects that (e.g. an SY-like token in Exponent’s model).
Each RBP is tagged by:
- an underlying revenue account
rev_id, - a maturity date
T, - a notional amount (e.g. a USD-equivalent measure of expected flows).
1.3 Principal Token (PT)
A Principal Token (PT) is an SPL token that represents the “principal leg” of an RBP:
- 1 PT is designed to redeem for a fixed principal amount of the underlying at maturity
T, - PTs are non-yield-bearing: they do not accrue revenue between
t0(position open) andT, - their market value before maturity reflects:
- time to maturity,
- discount rates,
- perceived credit / revenue risk.
For attn, PT is primarily a bookkeeping and hedging tool:
- the protocol can hold PTs to represent the “residual” after selling cashflows,
- or PTs can be used in future structured products (e.g. PT/USDC pools).
1.4 Yield Token (YT)
A Yield Token (YT) is an SPL token that represents the “yield leg” of an RBP:
- 1 YT is entitled to the cashflows generated by the underlying RBP between
t0and maturityT, - YTs generally have no claim at or after maturity (their value decays to 0 as
t → T), - their market value reflects:
- expected future revenue over the period,
- risk of underperformance or default,
- time to maturity and discount rates.
In attn, the YT is the key object for revenue-backed positions:
- advances and credit lines largely correspond to allocating YT (or YT-like flows) to capital providers,
- the project retains PT (and often some YT-like upside beyond what is pledged).
1.5 attnUSD
attnUSD is the share token of a vault that holds:
- a basket of stablecoins (USDC, USDT, USDe, USDC+),
- a portfolio of PT and YT positions across many revenue accounts,
- and optionally some buffer / reserve assets.
Let:
NAV(t)= total marked value of the vault’s assets minus liabilities at timet,S(t)= total supply of attnUSD at timet.
Then:
- the attnUSD share price is
P(t) = NAV(t) / S(t), - LPs deposit stablecoins to mint attnUSD at or near
P(t), - LPs burn attnUSD to withdraw a pro-rata share of the underlying.
Yield for LPs is encoded in how P(t) changes over time.
2. Yield-stripped representation of revenue positions
2.1 Mapping a position into PT/YT
When a revenue-backed position is opened, we conceptually:
-
Define the position term:
- a maturity
T, - a target repayment amount
R_target(principal + fees), - a revenue share schedule (e.g.
α% of relevant revenues betweent0andT), - a priority level (waterfall position).
- a maturity
-
Construct an RBP representing the cashflows:
- from the relevant share(s) of the revenue account,
- over the window
[t0, T], - up to the cap
R_target(where applicable).
-
Perform a yield strip:
- mint
PT_positionrepresenting “principal” atT, - mint
YT_positionrepresenting the project’s obligations on revenue flows over[t0, T].
- mint
In an Exponent-style implementation:
- the RBP can be represented as an SY token (standardised yield-bearing token),
- PT and YT are then derived from that SY position via the infra’s stripping logic,
- attn treats those PT/YT tokens as the canonical representation of the position on-chain.
For many attn positions:
- the economic exposure is heavily concentrated in the YT leg,
- PT may be structured to represent residual claims or collateral reversion after maturity.
2.2 Lifecycle of YT
YT behaviour over time:
- At
t0(position open), YT has full exposure to future revenue in the position window. - As revenues arrive and are routed to the position:
- some portion of the economic value “realises”,
- the outstanding risk on the YT’s remaining flows decreases.
- At or after
T:- YT either has been fully paid through
R_targetbeing reached, - or whatever shortfall exists is recognised as a loss for the YT holder.
- YT either has been fully paid through
In many designs:
- YT ceases to have any claim after
T; it is economically exhausted, - if the system allows, some “tail” recovery can occur via restructuring, but that is a separate action.
2.3 Lifecycle of PT
PT behaviour over time depends on how much of the underlying is tied to the position:
- It can be configured to:
- represent residual claims to revenue beyond
T, - represent a right to any unencumbered portion of the RBP at maturity,
- or be a purely internal hedging instrument.
- represent residual claims to revenue beyond
Because attn is focused on finite-horizon positions backed by live revenues, PT usage in early versions may be constrained to:
- internal accounting of “what principal is expected to come back at maturity”,
- future structured products (e.g. principal-only pools for more conservative LPs).
3. One-off revenue advances under the hood
Consider a one-off advance:
- Project wants upfront
AUSDC. - attn sets:
- revenue share
α(e.g. 30%), - term
[t0, T](e.g. 6 weeks), - target repayment
R_target = A + fees.
- revenue share
Onchain:
-
A position record is created referencing:
- the project’s revenue account,
(α, T, R_target),- priority in the repayment waterfall.
-
A corresponding RBP_position is defined and yield-stripped into
(PT_position, YT_position). -
Capital match:
- the attnUSD vault (or another LP source) buys
YT_positionfrom the position at a price close toA, AUSDC (minus any origination costs) is sent to the project,YT_positionis held by the vault as an asset.
- the attnUSD vault (or another LP source) buys
-
As revenues hit the revenue account:
- the routing logic applies
α% of relevant flows toR_position, - once
R_position >= R_target, the position is closed andYT_positionis considered fully paid.
- the routing logic applies
The vault’s return on this position is:
- realised cashflows from the revenue share,
- minus
Aand any allocated losses / costs, - expressed in how the YT position is marked over time and finally settled.
4. Revenue-backed credit lines under the hood
A revenue-backed credit line is a standing facility rather than a single static strip.
Parameters may include:
- a maximum limit
L_max, - a base revenue share
αapplied when the line is drawn, - dynamic adjustments based on utilisation and performance.
Lifecycle:
-
Facility setup:
- a facility object is created pointing to the revenue account,
- risk limits and revenue share curves are stored,
- no PT/YT is minted yet (no drawn amount).
-
Draw events:
- when the project draws
ΔAfrom the line, - the system creates a new “draw tranche”:
- with its own maturity
T_iandR_target_i, - a corresponding
(PT_i, YT_i)strip, - purchased by the vault in exchange for
ΔA.
- with its own maturity
- when the project draws
-
Repayment:
- revenue routing applies the facility’s rules to current utilisation,
- cashflows are assigned to each
YT_iuntil itsR_target_iis reached, - drawn balance reduces accordingly; the facility can be reused.
From the vault’s perspective:
- a credit line is a collection of YT tranches with staggered terms and exposures,
- each tranche can be marked and risk-managed separately,
- line-level limits ensure no single facility dominates the portfolio.
5. attnUSD vault mechanics
5.1 Asset set
The attnUSD vault can hold:
- Stablecoins – USDC, USDT, USDe, USDC+.
- Yield-stripped positions – PT and YT from many revenue accounts and facilities.
- Reserves / buffers – safe assets or idle stables for liquidity management.
5.2 NAV and pricing
At any time t, the vault computes:
NAV_stables(t)– value of pure stablecoin holdings (usually at par, unless impaired).NAV_PT(t)– value of PT positions, using conservative discount curves and risk haircuts.NAV_YT(t)– value of YT positions, based on:- realised revenue to date,
- projected future revenue over remaining terms,
- probabilistic default and recovery assumptions.
NAV_reserves(t)– any additional reserve assets.
Then:
NAV(t) = NAV_stables(t) + NAV_PT(t) + NAV_YT(t) + NAV_reserves(t)- share price
P(t) = NAV(t) / S(t).
5.3 Minting and redemption
When an LP deposits stablecoins:
- they send stables into the vault,
- the vault mints new attnUSD such that:
- the LP receives attnUSD at or very close to current
P(t), - minor deviations can be used to cover minting / redemption costs.
- the LP receives attnUSD at or very close to current
When an LP redeems attnUSD:
- they burn attnUSD,
- the vault returns a mix of:
- stablecoins,
- potentially very liquid PT/YT if redemptions are large (later phases),
- again, targeting withdrawals at or near current
P(t).
5.4 Losses and recoveries
If a set of YT positions underperforms badly:
- expected cashflows drop,
- their marked value is written down,
NAV(t)decreases, and so doesP(t).
Recoveries (e.g. renegotiations, late revenue, collateral unwinds) can:
- partially restore YT or PT value,
- be reflected in higher
NAV(t)andP(t)later.
attnUSD is not intended to behave like a guaranteed 1:1 stable.
6. Relationship to user-facing concepts
The PT/YT and vault system maps back to the higher-level language as follows:
-
“Revenue account”
→ underlying source of cashflows referenced by RBPs. -
“Advance”
→ a finite-horizon YT position sold to the vault, plus any internal PT held as residual. -
“Credit line”
→ a collection of YT tranches spanning multiple draws, governed by a single facility. -
“attnUSD yield”
→ aggregate performance of:- YT positions across all positions,
- any PT appreciation / hedge,
- and base yield on underlying balances.
This separation allows:
- front-end UX to stay in plain business terms (advance, line, revenue share),
- back-end risk and liquidity management to operate in a standardised fixed-income vocabulary (PT, YT, maturities, haircuts, NAV).
7. Implementation and infra notes
- The yield-stripping mechanism (PT/YT minting and redemption) is implemented using Exponent Finance’s Standardised Yield (SY) infra on Solana.
- attn treats this infra as:
- the canonical way to turn a yield-bearing position (here, revenue) into PT/YT,
- a shared standard that other protocols can integrate with,
- an auditable onchain representation of credit exposures.
In early versions, some of these details may be simplified or kept internal:
- PT may be non-transferable or rarely used,
- only a subset of YT positions may be exposed to external secondary markets,
- pricing models will err on the side of conservative haircuts and shorter maturities.
As the system matures, PT/YT and attnUSD can form the basis for:
- secondary markets for specific revenue bonds,
- structured products (e.g. PT-only pools for lower-risk LPs),
- integrations with other protocols that understand standardised yield tokens.
The invariant across versions is:
- every advance or credit line is backed by explicit, tokenised claims on well-defined revenue streams,
- and attnUSD only takes risk through these tokenised positions and stablecoins, not through opaque leverage or unrelated exposures.