# Troubleshooting

#### “Signer Not Authorized”

**Cause:** stale order data.\
**Fix:** fetch fresh order data **right** before `fillOrder()`.

#### “Signature Mismatch”

**Cause:** you changed one or more order fields.\
**Fix:** pass API fields **verbatim** (incl. `isLong`, `strikes`, `price`, etc.).

#### “Insufficient Allowance”

**Cause:** USDC not approved.\
**Fix:** check `allowance(owner, OPTION_BOOK)`; call `approve()` if needed.

#### “Transfer Amount Exceeds Balance”

**Cause:** rounding or price changed.\
**Fix:** always **round down** contracts (`Math.floor(... * 1e6)`).

#### “Position Not Showing”

**Cause:** indexer not caught up.\
**Fix:** call `/update`, wait \~15s, then refetch `/user/{addr}/positions`.
