Summary: During testing of the Spout Finance beta (Solana-based DeFi brokerage for tokenized equities), all sell orders for BSOL failed. Root cause appears to be a token-mint mismatch: the sell panel queries a different mint than the one holding user balance, reading zero shares.
Environment: beta.spout.finance/buy, Phantom wallet, Sep 14 2026, ~7:50–8:10 PM local.
Steps to reproduce:
Buy BSOL via the BUY panel (flow succeeds)
Open SELL panel for BSOL
Observe "Shares owned: 0" despite confirmed holdings
Submit sell order → order appears in Activity as "Failed"
Expected: Sell panel reflects on-chain token balance; order executes.
Actual: Balance reads zero; all sell orders fail. Two earlier buy orders also failed (~$4.00, $5.88) without any reason surfaced.
State management: failed orders never transition out of "Open Orders"; the Cancel button is present and unresponsive on terminal orders.
Error handling: all failures render identical "Failed" badges with no error code, cause, or guidance (insufficient balance vs. slippage vs. mint mismatch are indistinguishable to the user).
Risk beyond this bug: Spout's core product is 0% borrowing against tokenized equity collateral at 50% LTV. If balance/collateral reads are mint-dependent anywhere in that pipeline, the same class of bug could produce phantom collateral valuations — a far more serious failure mode in the borrow flow. Recommend auditing collateral valuation against mint authority and token account derivation.
Recommendations:
Derive user token accounts from the canonical mint per asset, or index across all valid mints for a ticker
Surface failure reason codes in UI (balance, slippage, market hours, routing)
Auto-expire terminal orders from Open Orders and disable actions on them
Add an indexer-vs-onchain balance consistency check in the portfolio service.


Top comments (0)