Overview
Asset Configuration accounts store the NAV (Net Asset Value) pricing sources and settings for each token in the protocol. Every RWA and stablecoin must have an AssetConfig account before it can be used in trading pairs.Account Structure
["asset", mint_address]
Treasury uses a separate AssetConfig PDA derived from ["ASSET_CONFIG", asset_mint] under the Treasury program. Swap registration does not register an asset in Treasury. Both programs use the NAV source types below.
Asset Type
Asset Availability
The program admin controls asset registration, NAV sources, classification, price divergence thresholds, and asset pause state.nav_datacontains 1–5 pricing sources, with prices normalized to 9 decimal places.price_difference_bpssets the maximum allowed price divergence (0–9900 BPS).- When
pausedistrue, swaps involving this asset, including as the configured fee asset, and liquidity additions of this asset are blocked. Liquidity removals, other assets’ pause flags, and the global pause state are unaffected. used_in_pairs_counttracks the number of pairs using the asset. Itsasset_typecannot change while this count is greater than zero.
NAV Data Types
The program supports four types of NAV pricing sources:U64FixedAddress
Read price from a fixed byte offset in an on-chain account.- Custom price oracle accounts
- RWA issuer-published NAV accounts
- Any account with a u64 price at known offset
Hardcoded
Static price value for stable-value assets.- Dollar-pegged stablecoins (price = 1.0)
- Assets with contractually fixed prices
PythPush
Pyth Network oracle integration.- Market-priced assets
- Assets with Pyth price feeds
- High-frequency price updates
RedstonePush
Redstone PriceData account pricing.View Price Source Details
Complete documentation on NAV pricing configuration and validation
Price Aggregation
When multiple NAV sources are configured:- Read All Sources: Each source returns a price
- Normalize: All prices converted to 9 decimal places
- Validate Divergence: Check all prices within
price_difference_bps - Average: Return average of all valid prices
Error Codes
Next: Pair Management
Learn about trading pair creation and configuration