# Wrong starting price when listing on Seaport for assets that has less than 18 decimals

Astaria passed an 18-decimal liquidationInitialAsk directly to Seaport as auction starting price, so assets like USDC (6 decimals) listed NFTs at 10^12x too high a price.

- Payout: Contest reward
- Severity: high
- Program: Astaria
- Credited: Koolex
- Disclosed: 2023-05-22
- Write-up quality: 6/10
- Original: https://github.com/code-423n4/2023-01-astaria-findings/issues/235
- Library page: https://bugbountylibrary.com/r/c4%3A2023-01-astaria%3AH-15
- Tags: domain:web3 impact:funds-loss kind:contest platform:code4rena sev:high tech:evm tech:solidity vuln:accounting-error vuln:business-logic

**Target:** AstariaRouter liquidation / Seaport auction listing
**Root cause:** liquidationInitialAsk is denominated in 18 decimals per docs but is passed unchanged as startingPrice to Seaport, which interprets it in the settlement token's own decimals.
**Steps:**
1. Strategist signs strategy with liquidationInitialAsk = 1000e18 for a USDC-denominated lien.
2. NFT goes into liquidation; AstariaRouter calls COLLATERAL_TOKEN.auctionVault with startingPrice = stack[0].lien.details.liquidationInitialAsk.
3. auctionVault forwards startingPrice to Seaport with settlementToken = USDC (6 decimals).
4. Seaport lists NFT at 1000e18 USDC = 10^15 USDC instead of 1000 USDC.
**How found:** Reading docs stating liquidationInitialAsk is 18-decimal formatted, then tracing AstariaRouter.sol L639-647 where it is passed verbatim as startingPrice to Seaport for a non-18-decimal settlement token.
**Insight:** When a protocol normalizes amounts to 18 decimals internally, audit every boundary where those amounts cross into an external contract (Seaport, DEX, oracle) that expects native token decimals — settlement-token decimals are the usual mismatch.
