Amounts, rates and timestamps
Use consistent units from API response to customer balance and business reporting.
Preserve the unit of each field when formatting, calculating or storing it. Similar-looking values can use different scales.
| Field or concept | Convention | Example |
|---|---|---|
apy, blend_apy, protocol_blend_apy |
Decimal fraction | 0.052 displays as 5.2% |
revenue_share_pct |
Fraction from 0 to 1 | 0.20 is a 20% share |
protocol_fee_rate |
Decimal fraction | 0.10 is 10% |
allocation_pct |
Percentage points | 25 is a 25% allocation |
*_bps |
Basis points | 100 basis points is 1 percentage point |
| API principal and reported monetary values | Human-readable numeric units, as defined by the resource | 1000 represents an amount of 1,000, not 1,000 base units |
| Onchain token amount | Integer base units for the token's decimals | Resolve the token's decimals before conversion |
| ISO date fields | ISO 8601 timestamp | 2026-09-07T12:00:00.000Z |
Protocol history t |
Unix milliseconds | Use new Date(t) in JavaScript |
Webhook signature t |
Unix seconds | Used with the raw body to verify the signature |
Asset symbols
The Partner API uses USDC and USDT0; the sandbox models USDC and USDT. Match the symbol to the environment. For wallet transactions, also match the token address, network and decimals.
Precision and rounding
Keep token amounts in an exact integer or decimal representation when constructing transactions and performing your own accounting. Format values only at the presentation boundary. Do not derive a transaction's base-unit amount from a rounded currency string.
Some API reporting values are rounded calculations. A displayed balance should identify its source; settlement and reconciliation should use the appropriate authoritative records.
Missing data is not zero performance
An empty history means there are no observations in that response. A null average means an average is unavailable. Render these separately from a valid numeric zero.