Non-Custodial vs Custodial: Where Funds Go If Swap Fails
When a cross-chain swap fails, your coins sit in one of four places: your own wallet, the mempool, the upstream deposit address (refund pending), or the destination chain with display lag. UpSwap never holds funds on its books, so there is no internal balance to freeze.
Key takeaways
- ·UpSwap holds no user balances on its servers — no account to freeze.
- ·Failed swaps refund automatically to the source address, on-chain and visible.
- ·Quote-expired means funds never left your wallet; zero loss.
- ·ChangeNOW uses the same non-custodial deposit-address model as UpSwap.
- ·Wrong address or lost private keys cannot be recovered by any aggregator.
<p>You clicked <strong>Swap</strong>, the order says <em>pending</em>, and the question taking up all the oxygen in your head is the only one that matters: <strong>where is my money right now?</strong></p><p>This guide answers that question for every realistic failure mode of a cross-chain swap, using UpSwap's deposit-address routing model as the worked example. It compares that model honestly with self-custody wallets like MetaMask and centralized exchanges like Binance, so you can see what "non-custodial" actually buys you and what it does not. That includes being upfront about what UpSwap cannot do — every number below was checked against UpSwap's live <code>/api/tokens</code> endpoint and route quotes on 2026-06-15.</p>
The Real Trust Question: Where Are My Funds When the Order Stalls?
When a cross-chain swap shows pending, your coins are always in exactly one of four physical locations. Knowing which one tells you whether to wait, refresh, or contact support — and removes the panic that fuels most support tickets.
UpSwap aggregates routes from NEAR Intents, Relay, and other upstream routing vendors. It does not custody user funds on its own ledger. The one-time deposit address you send to is generated by the upstream vendor handling that specific route, not by UpSwap. That distinction matters when something goes wrong: there is no internal balance UpSwap could freeze or lose, only on-chain transactions that are publicly verifiable.
The four physical locations:
- Your own wallet — quote expired before you confirmed, or wallet never signed.
- Mempool / in-flight — signed, broadcast, awaiting block confirmations.
- Upstream deposit address — received, but routing failed; refund cycle starting.
- Destination chain, display lag — already delivered, your client just hasn't fetched the latest state.
The rest of this guide maps each scenario to its resolution path, expected timing, and the moment you should reach out to @upswapservice on Telegram.
Three Custody Models Compared: Self-Custody, Aggregator, CEX
"Non-custodial" is a term the industry has stretched until it almost means nothing. Before mapping failure modes, here is the honest comparison of where your private keys and your balances actually live in the three models you'll encounter.
| Dimension | Self-custody wallet (MetaMask) | Aggregator deposit-address (UpSwap, ChangeNOW) | CEX account (Binance, OKX) |
|---|---|---|---|
| Who holds private keys | You only | You for source & destination; upstream vendor for transient deposit address | Exchange holds keys to the hot wallet your balance sits in |
| Location of funds during failure | Stays in your wallet | Either your wallet, the mempool, or upstream deposit address (refund pending) | Inside exchange ledger; you see a balance number, not a UTXO |
| Counterparty insolvency risk | None | Limited to in-flight amount during the swap | Full balance at risk if exchange collapses (FTX, Mt. Gox precedents) |
| KYC required | No | No for typical amounts; large transfers may trigger AML review | Yes for trading, withdrawals, and many deposit methods |
| Cross-chain capability | Manual bridges required | Built-in across 24+ chains, 100+ tokens | Limited to chains the CEX lists |
The aggregator model sits between the two extremes. UpSwap itself does not hold user balances, but the upstream vendor processing a given route physically routes coins through a one-time deposit address for seconds to a few minutes. The vendor cannot arbitrarily seize the funds and there is no account they could freeze, but the funds do briefly occupy an address they control mechanically. That is the honest version.
Four Failure Scenarios and the Physical Location of Your Coins
This table is the single most useful artifact in the guide. Bookmark it. Every realistic failure mode of a cross-chain swap on UpSwap maps to one of these rows.
| Scenario | Trigger | Physical location of funds | On-chain visible? | User action |
|---|---|---|---|---|
| 1. Quote expired, not sent | 30-second quote window passed before you signed | Your own wallet | No tx — nothing happened | Refresh the page, request a new quote |
| 2. Signed, not yet delivered | Tx broadcast but block not confirmed | Mempool / in-flight | Yes, tx hash visible on block explorer | Wait: BTC 1-2 confs (~10-20 min), ETH 1 conf (~12 s), SOL seconds, TRC20 3 blocks (~9 s) |
| 3. Received, upstream routing failed | Liquidity dried up, vendor timeout, route stalled | Upstream auto-refunds to source address | Yes, refund tx appears within 5-30 minutes | Wait for refund tx (minus retransfer gas, typically USD 0.5-5) |
| 4. Order shows complete, wallet shows nothing | RPC display lag on destination chain | Already in your destination wallet | Yes, check destination address on explorer | Verify on block explorer; if truly missing, contact @upswapservice |
Notice what is not on this table: no scenario ends with "funds frozen on UpSwap's balance sheet," because there is no balance sheet to freeze them on. The aggregator model has its own risks (covered later), but indefinite custodial hold is not one of them.
Decision Tree: How Long to Wait Before Messaging Support
Most support tickets get resolved by waiting 5 more minutes and refreshing. Use this list as your checklist before opening Telegram.
- Wallet shows pending, no tx hash yet: wait 1-5 minutes for the wallet to surface the hash. If nothing appears after 30 minutes, the transaction likely did not broadcast — request a new quote.
- Tx broadcast, UpSwap order says awaiting deposit: wait for the chain's normal confirmation time — BTC ~10-20 min, ETH ~12 s, SOL a few seconds, TRC20 ~9 s. If you exceed 3x the typical time with no progress, message support with the tx hash.
- Order shows exchanging over 15 minutes: upstream routing is in progress. Keep waiting. Reach out after 30 minutes.
- Order shows refunding: wait 5-30 minutes for the on-chain refund. Check your source address on the explorer. If the refund has not arrived after 1 hour, contact support.
- Order shows complete but your wallet is empty: check the destination address on an explorer — wallet UIs often lag the chain. If the explorer also shows nothing, message support with the order ID.
The support channels UpSwap operates are @upswapservice on Telegram and support@upswap.io by email. Anyone who DMs you in a group chat claiming to be customer service is a scammer. Operators do not initiate DMs.
Non-Custodial Does Not Mean Risk-Free: What UpSwap Cannot Do
Honest limits — things UpSwap cannot fix:
- If you lose your private keys or seed phrase, no aggregator can recover them.
- If you enter the wrong address (typo, wrong chain selection), the funds are gone — there is no reverse button on a blockchain.
- If a long-tail token's liquidity collapses, a quote may not execute.
- If a base chain is severely congested, confirmations cannot be accelerated.
- If you sign a phishing transaction in your wallet, the loss happens outside our scope.
"Non-custodial" describes a property of the platform — UpSwap does not hold your private keys, does not maintain account balances, cannot freeze your assets. It is not a claim that losing money is impossible. That distinction matters because every aggregator in this category, including ChangeNOW and SimpleSwap, operates under the same constraints. The honest competitive question is not "who is non-custodial" (everyone in this category is) but "who explains the boundary clearly before you click."
UpSwap vs ChangeNOW: Honest Differences in Failure Handling
ChangeNOW is the closest comparable in this category and a reasonable choice for many users. Here is where the two services genuinely differ and where they don't.
| Dimension | UpSwap | ChangeNOW |
|---|---|---|
| Custody model | Non-custodial, deposit-address routing | Non-custodial, deposit-address routing |
| Refund path on failure | Upstream auto-refunds to source address | Upstream auto-refunds to source address |
| Refund timing | Typically 5-30 minutes | Typically 5-30 minutes |
| Quote model | Single fixed-rate quote — no Standard/Pro tiers | Floating + Fixed-rate options |
| Primary support channel | Telegram @upswapservice, Chinese + English first-line | Email ticketing, English-first |
| KYC for typical amounts | None (large transfers may trigger AML review) | None (large transfers may trigger AML review) |
On the question that brings most readers here — where do the funds physically sit if my swap fails — UpSwap and ChangeNOW are essentially identical. Both rely on the deposit-address model, both refund to the source address on-chain, both deduct retransfer gas as a physical cost (not a service fee).
Where UpSwap is genuinely different: one fixed quote with no Pro/Standard tiering, live Chinese-language Telegram support, and route aggregation across NEAR Intents + Relay. For Chinese-speaking users who want first-line support in their own language, that is a meaningful difference. Where ChangeNOW is the better fit: if you need a floating-rate option for arbitrage or large-size orders, ChangeNOW's dual-quote model is more flexible than UpSwap's single fixed-rate. If you are still choosing, a sensible step is to join @upswapservice on Telegram and observe response cadence before swapping. See our full UpSwap vs ChangeNOW comparison for live-quote benchmarks across common pairs.
When You're Ready: Calibrating With a Small Test Swap
Reading about custody models is useful. Doing a small swap and watching the failure modes you don't experience is more useful — but only once you are comfortable. A typical calibration pattern:
- Send a small test amount (USD 20-50) through a high-traffic pair.
- Watch the order page transition through awaiting deposit, exchanging, complete. Note phase timing.
- Verify the destination tx on a block explorer, not just inside your wallet UI.
Common first swaps for calibration: BTC to USDT, ETH to USDT, USDT ERC20 to TRC20, and SOL to USDT. If you have used ChangeNOW or SimpleSwap before, the experience will feel familiar — the differences worth your time are pricing transparency and support response, not the custody mechanics.
Sources: UpSwap live /api/tokens snapshot (2026-06-15); UpSwap AML & restricted-regions policy; chain documentation for confirmation times.
Frequently asked questions
If my swap shows pending for 20 minutes, where exactly is my money?
It is in one of two places, both on-chain and both verifiable. Either your transaction is still waiting for confirmations (check the tx hash from your wallet on a block explorer — if it shows 0 confirmations, you are waiting on miners/validators, not on UpSwap), or it has been received at the upstream deposit address and routing is in progress. In neither case is the money on an UpSwap balance sheet. For Bitcoin, 1-2 confirmations typically take 10-20 minutes; for Ethereum about 12 seconds per confirmation. If your order page shows exchanging for more than 30 minutes with no movement, message <code>@upswapservice</code> on Telegram with the order ID.
Is non-custodial actually safer than using Binance?
It depends what you mean by safer. Non-custodial means UpSwap holds no account balance for you, so there is no internal ledger entry an exchange could lose, freeze, or have stolen. The FTX and Mt. Gox collapses were custodial-risk events — user balances existed only on the exchange's books, and when those books vanished, so did the balances. That class of risk does not apply to UpSwap. However, non-custodial does not protect you from your own private-key loss, phishing transactions, or sending coins to the wrong address. Different risk profile, not a strictly lower one.
How does an UpSwap refund work if a swap fails mid-route?
The upstream routing vendor that received your deposit triggers an on-chain refund back to the source address — the wallet you sent from. There is no support ticket required for the refund itself; it happens automatically once the routing failure is detected (usually within 5-30 minutes). The refund deducts <em>retransfer gas</em>, which is the network fee for the return transaction. That is typically USD 0.5-5 depending on the chain, and it is a physical cost of moving coins, not a charge by UpSwap. You can verify the refund by watching your source address on a block explorer.
What is a one-time deposit address and who controls it?
When you start a swap, the upstream routing vendor generates a fresh address dedicated to your single order. You send your source coins to that address; the vendor's automated routing logic detects the deposit, executes the cross-chain conversion, and delivers the destination coins to your wallet. The address is controlled mechanically by the vendor's routing infrastructure, not by UpSwap, and it is not reused. The vendor cannot arbitrarily move the funds elsewhere — the routing logic either completes the swap or refunds to the source address. This is the standard model used across the entire non-custodial aggregator category.
If I sent coins to the wrong address by mistake, can UpSwap recover them?
No. Once a blockchain transaction is confirmed to an address other than the one we generated for your order, the coins are controlled by whoever holds the keys to that address — which may be no one, in the case of an invalid address on the wrong chain. There is no reverse button on Bitcoin, Ethereum, or any of the chains we route across. This is one of the hardest limits of non-custodial swaps, and it applies equally to ChangeNOW, SimpleSwap, and every other aggregator. Always double-check the destination address and chain before signing, especially for small details like the difference between ERC20 USDT and TRC20 USDT.
How is UpSwap different from ChangeNOW when handling failures?
On the core question of where funds physically sit and how refunds work, the two services are essentially identical — both use deposit-address routing, both refund to the source address on-chain, both take 5-30 minutes for the refund cycle. The differences are pricing model (UpSwap offers one fixed quote with no Pro/Standard tier), language support (UpSwap runs a Chinese-language first-line on Telegram), and route aggregation (UpSwap combines NEAR Intents, Relay, and other upstream networks). ChangeNOW's floating + fixed dual-quote model is the better fit for arbitrage or large-size flows that need rate flexibility. See our full <a href="/compare/upswap-vs-changenow">UpSwap vs ChangeNOW comparison</a> for live-quote benchmarks.
Who do I contact if my order really is stuck or coins did not arrive?
Two channels only: <code>@upswapservice</code> on Telegram and <code>support@upswap.io</code> by email. Operators do not initiate direct messages in group chats — anyone who DMs you in a public group claiming to be UpSwap support is impersonating us. Before contacting, gather the order ID from your UpSwap order page, the source transaction hash from your wallet, and (if applicable) the destination address. With that information a first-line response is usually under 30 minutes on Telegram during active hours. If your swap shows <em>pending</em>, read the decision tree above first — most cases resolve themselves once normal confirmation times have passed.
Swap routes referenced in this guide
Related comparisons
Ready to swap?
Pick your tokens and swap directly — non-custodial, no KYC, all-in fixed quote.