<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: atik hasan</title>
    <description>The latest articles on DEV Community by atik hasan (@atik_hasan_1a2e95b5a38f3e).</description>
    <link>https://dev.to/atik_hasan_1a2e95b5a38f3e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2373603%2Fc21c522c-1921-4a04-a58e-21c3dd9ff07f.png</url>
      <title>DEV Community: atik hasan</title>
      <link>https://dev.to/atik_hasan_1a2e95b5a38f3e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atik_hasan_1a2e95b5a38f3e"/>
    <language>en</language>
    <item>
      <title>Spout Finance Beta — Sell Flow Fails: Zero-Balance Read on Held Assets (Bug Report)</title>
      <dc:creator>atik hasan</dc:creator>
      <pubDate>Mon, 14 Sep 2026 15:41:17 +0000</pubDate>
      <link>https://dev.to/atik_hasan_1a2e95b5a38f3e/spout-finance-beta-sell-flow-fails-zero-balance-read-on-held-assets-bug-report-3a75</link>
      <guid>https://dev.to/atik_hasan_1a2e95b5a38f3e/spout-finance-beta-sell-flow-fails-zero-balance-read-on-held-assets-bug-report-3a75</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe8cleo5k1p0g3xt5biex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe8cleo5k1p0g3xt5biex.png" alt=" " width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;br&gt;
Environment: beta.spout.finance/buy, Phantom wallet, Sep 14 2026, ~7:50–8:10 PM local.&lt;/p&gt;

&lt;p&gt;Steps to reproduce:&lt;br&gt;
Buy BSOL via the BUY panel (flow succeeds)&lt;br&gt;
Open SELL panel for BSOL&lt;br&gt;
Observe "Shares owned: 0" despite confirmed holdings&lt;br&gt;
Submit sell order → order appears in Activity as "Failed"&lt;br&gt;
Expected: Sell panel reflects on-chain token balance; order executes.&lt;br&gt;
Actual: Balance reads zero; all sell orders fail. Two earlier buy orders also failed (~$4.00, $5.88) without any reason surfaced.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd0s5ihxghdjyy8w5hsf5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd0s5ihxghdjyy8w5hsf5.png" alt=" " width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;State management: failed orders never transition out of "Open Orders"; the Cancel button is present and unresponsive on terminal orders.&lt;br&gt;
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).&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Recommendations:&lt;br&gt;
Derive user token accounts from the canonical mint per asset, or index across all valid mints for a ticker&lt;br&gt;
Surface failure reason codes in UI (balance, slippage, market hours, routing)&lt;br&gt;
Auto-expire terminal orders from Open Orders and disable actions on them&lt;br&gt;
Add an indexer-vs-onchain balance consistency check in the portfolio service.&lt;/p&gt;

</description>
      <category>crypto</category>
      <category>testing</category>
      <category>feedback</category>
    </item>
  </channel>
</rss>
