LendingProxySimulationResponse
Proxy-mode lending response enriched with post-trade simulation. Returned on POST (with body) or GET with simulate=true. The calldata is NOT in data: send actions.transactions (in order) after mining actions.permissions. data carries only informational fields.
rateImpact object[]nullable
Projected interest-rate impact per market. Single-market actions produce 1 entry; loop actions produce 2. Null if IRM data is unavailable.
Market identifier (format: lender:chainId:address)
AAVE_V3:8453:0x4200000000000000000000000000000000000006utilization objectrequired
Utilization ratio (0–1)
Current value
Projected value after the action
borrowRate objectrequired
Borrow APR (%)
Current value
Projected value after the action
depositRate objectrequired
Deposit/supply APR (%) paid by the POOL. On a market whose return is the asset itself (an LST, an RWA share such as nOPAL on Morpho Blue) this is 0 — read effectiveDepositRate.
Current value
Projected value after the action
The asset's own yield in percent (LST staking yield, RWA NAV growth, a Gearbox quota rate as a negative), size-invariant, ADDED to both sides: earned on a deposit, forgone on a borrow. Absent when the lender meta was not readable when the response was built — never defaulted to 0 in that case.
10.37Sum of reward-stream APRs (%) on the deposit side. Absent with intrinsicYield.
Sum of reward-stream APRs (%) rebated on the borrow side. Absent with intrinsicYield.
effectiveDepositRate object
depositRate + intrinsicYield (%), rewards EXCLUDED — what a deposit on this market actually earns, and the figure the pair book publishes as the effective supply APR. Absent with intrinsicYield.
Current value
Projected value after the action
effectiveBorrowRate object
borrowRate + intrinsicYield (%), rewards EXCLUDED — what a borrow on this market actually costs. Absent with intrinsicYield.
Current value
Projected value after the action
True when the market has no utilization curve to shift (Morpho Blue collateral, a fixed-rate broker): current === projected, taken from the published rates, and utilization is NaN. Present so the leg is not silently missing from a position preview.
simulation objectnullable
Projected post-trade metrics for the operator's account, or null if simulation failed. With a custom receiver this does NOT show the receiver's position.
- PostTradeMetrics
pre object
Portfolio state before the trade.
Health factor before the trade (null-safe: capped at 1e18 when no debt)
1.85Borrow capacity (USD) before the trade
3000post object
Projected portfolio state after the trade.
Projected health factor after the trade
2.1Projected borrow capacity (USD) after the trade
3500balanceData object
Aggregated balance data for a sub-account.
Total deposits in USD
10000.5Total debt in USD
5000.25Debt adjusted for borrow factors
5500Collateral value in USD
9000Collateral if all assets were enabled
10000.5Collateral discounted by borrow factors
8000Discounted collateral if all enabled
9000Net asset value (deposits - debt)
5000.25Deposits 24h ago (for change calculation)
9800Debt 24h ago
4900NAV 24h ago
4900rewards object[]nullable
Pending reward token claims. Each entry represents a single reward program.
Reward token contract address
0xc00e94Cb662C3520282E6f5717214004A7f26888Total accumulated rewards (token units)
12.5Immediately claimable rewards (token units)
12.5aprData object
APR breakdown for a sub-account.
Net APR (deposit - borrow)
2.5Weighted deposit APR
3.5Weighted borrow APR
5.2Total reward APR
1.2Reward APR on deposits
0.8Reward APR on borrows
0.4Intrinsic yield APR (e.g., stETH staking)
0Intrinsic yield APR portion from deposits
0Intrinsic yield APR portion from borrows
0rewards object
Per-reward-token APR breakdown. Keys are reward token addresses.
property name* RewardAprBreakdown
APR breakdown for a single reward token.
Net reward APR (normalized to NAV)
0.045Reward APR on borrows
0.012Reward APR on deposits
0.078Error message if simulation failed
{
"rateImpact": [
{
"marketUid": "AAVE_V3:8453:0x4200000000000000000000000000000000000006",
"utilization": {
"current": 0.85,
"projected": 0.83
},
"borrowRate": {
"current": 3.2,
"projected": 3
},
"depositRate": {
"current": 2.1,
"projected": 1.9
},
"intrinsicYield": 10.37,
"depositRewardApr": 0,
"borrowRewardApr": 0,
"effectiveDepositRate": {
"current": 10.37,
"projected": 10.37
},
"effectiveBorrowRate": {
"current": 0,
"projected": 0
},
"flat": true
}
],
"simulation": {
"pre": {
"healthFactor": 1.85,
"borrowCapacity": 3000
},
"post": {
"healthFactor": 2.1,
"borrowCapacity": 3500,
"balanceData": {
"deposits": 10000.5,
"debt": 5000.25,
"adjustedDebt": 5500,
"collateral": 9000,
"collateralAllActive": 10000.5,
"borrowDiscountedCollateral": 8000,
"borrowDiscountedCollateralAllActive": 9000,
"nav": 5000.25,
"deposits24h": 9800,
"debt24h": 4900,
"nav24h": 4900,
"rewards": [
{
"asset": "0xc00e94Cb662C3520282E6f5717214004A7f26888",
"totalRewards": 12.5,
"claimableRewards": 12.5
}
]
},
"aprData": {
"apr": 2.5,
"depositApr": 3.5,
"borrowApr": 5.2,
"rewardApr": 1.2,
"rewardDepositApr": 0.8,
"rewardBorrowApr": 0.4,
"intrinsicApr": 0,
"intrinsicDepositApr": 0,
"intrinsicBorrowApr": 0,
"rewards": {}
}
}
},
"simulationError": "string"
}