Skip to content

[Bug]: Ethereum USDT estimate accepts 4 USDT but funded deposit fails below minimum #1764

Open

Description

@piotr-iohk

What happened?

3.1 release blocker — manual sanity case RS-BRIDGE. A fresh Ethereum → Arbitrum USDT estimate accepted 4.00 USDT, showing 1.28 USDT deduction / 2.72 USDT estimated credit. After the exact 4 USDT source transfer succeeded, Android showed Needs attention, with below_minimum / xchain_amount_too_small. The bridge did not complete.

Linked investigation: synonymdev/bitkit-ios#1197 — iOS 2 and 2.5 USDT attempts failed identically and both were fully refunded. This Android attempt is now refunded: the full 4 USDT returned to the same MetaMask Ethereum address.

Expected behavior

Reject amounts that cannot meet execution constraints before presenting funding instructions. An accepted estimate should be consistent with the standing-deposit execution requirements, with clear handling of any remaining execution risk.

Steps to Reproduce

  1. On the existing mainnet wallet, open USDT → Receive → Network → Ethereum.
  2. Enter 4 USDT and obtain a fresh estimate: 1.28 USDT deduction, 2.72 USDT credit.
  3. Continue to the deposit address and manually send exactly 4 USDT on Ethereum.
  4. Open Cross-Network Deposits and the new deposit.
  5. Observe Needs attention; locally inspect the support diagnostics for below_minimum / xchain_amount_too_small.

These are completed reproduction steps, not a request to spend more mainnet funds.

Logs / Screenshots / Recordings

  • Source transaction: Ethereum Success, exactly 4.000000 USDT, 2026-11-03 14:45:35 Europe/Warsaw, block 26334659; 4,000,000 token base units.
  • Ethereum USDT contract: 0xdAC17F958D2ee523a2206206994597C13D831ec7.
  • Deposit address: 0x9E6C59d51801C540d2018f49Fd72a7D1b7E3447a.
  • Deposit reference: xit_c13b81db-a38c-4a4a-bc95-97351db0a048.
  • Source gas: 0.00014313356015919 ETH, separate from the 4 USDT deposit.
  • Refund completed; Samsung shows Refunded. Support form inspected locally and closed unsent.
Asset: USDT
Bridge: Orchestra
Source network: Ethereum
Recipient network: Arbitrum One
Deposit reference: xit_c13b81db-a38c-4a4a-bc95-97351db0a048
Status: Needs attention (below_minimum)
Source transaction: 0x775f3b32b0b285c9253076a4f07036238fa0858eed328ef01d7b1c8a17781436
Status code: xchain_amount_too_small

Bitkit Version

3.1.0 (196), release head d13769269cf17737100e092d66b2bc9236bc8eb8.

Device / OS

Samsung Galaxy S22 (SM-S901B), Android 16. Existing mainnet wallet preserved.

Reproducibility

1/1 funded Android attempt at 4 USDT. Together with the linked iOS report: 3/3 funded attempts failed (2, 2.5 and 4 USDT). Other amounts and routes are untested.

Additional context

Android refund verified

Samsung shows Refunded for xit_c13b81db-a38c-4a4a-bc95-97351db0a048. The full 4 USDT refund succeeded on Ethereum at 2026-11-03 15:01:23 Europe/Warsaw, block 26334738, returning exactly 4.000000 USDT to 0x6a405Cf34fBF1d5160445f890AdF64E9A80646Fb. All three deposits' principal is recovered (8.5 USDT total); original source gas remains spent. Refund recovery passed; the failed bridge case and 3.1 blocker remain open.

Activity

  1. added theissue type on Nov 3, 2026
  2. ovitrif commented on Nov 3, 2026

    @ovitrif
    Collaborator

    Added to the 3.2.0 milestone with its iOS twin, synonymdev/bitkit-ios#1197: this is not a 3.1 regression, since the same Ethereum deposit flow ships in 3.0.1 and the USDT gateway is unchanged since mid-October. The failure comes from the gateway's non-binding estimate for standing deposits, so the mitigation is turning the Ethereum source off on the gateway, which covers 3.0.1 and 3.1 with no app release. This issue tracks the proper per-network minimum once Orchestra's executable floor is known.

  3. added this to the 3.2.0 milestone on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions