Withdrawals get almost none of the attention deposits do, and I think that's backwards, because the deposit flow is the easy part to trust, you're handing over money and immediately seeing a result. The withdrawal flow is the part that actually proves a platform works the way it claims, converting diversified, on-chain holdings back into cash that lands in your actual bank account. So let's go through what happens step by step, the same way I broke down the deposit flow.
The basic problem: unwinding a diversified basket into one currency
When you deposit into a Wealtii fund, your money gets split across crypto, tokenized gold, and tokenized equities, each living on different rails, as I've written about before. A withdrawal has to run that entire process in reverse, and reverse turns out to be meaningfully harder than forward in a few specific ways.
On the way in, you're converting one currency into several different assets, which can happen somewhat independently of each other. On the way out, you're converting several different assets back into one currency, fiat, that has to land in a specific bank account, in a specific country, often subject to that country's own banking rails and compliance requirements. The deposit side mostly has to satisfy crypto and tokenization infrastructure. The withdrawal side has to satisfy that same infrastructure and the traditional banking system on the other end.
Step one: figuring out what actually gets sold
The first decision a withdrawal has to make is which specific holdings get liquidated to cover the amount requested. If someone withdraws a portion of their position rather than closing it entirely, the system has to decide whether that comes out proportionally across crypto, tokenized gold, and tokenized equities, or through some other allocation logic, and then execute against exactly that decision consistently every time.
Getting this wrong in either direction creates real problems. Selling disproportionately from one asset class quietly changes a user's remaining allocation without their explicit choice, which undermines the entire premise of an index fund maintaining a stated composition. The redemption logic has to mirror the same discipline the deposit and allocation logic applies going in, or the fund's actual composition drifts every time someone makes a partial withdrawal, not just when the market moves.
Step two: conversion execution, in reverse
Once the system knows what to sell, it has to actually execute those trades, and this runs into the same pricing and slippage challenges I described for deposits, just running the other direction.
Selling tokenized gold or tokenized equity positions still requires reliable, current pricing across assets that behave differently from each other, and still requires managing execution costs so a withdrawal doesn't quietly lose value to slippage on its way out. For smaller withdrawal amounts specifically, this is genuinely trickier than large ones, the same liquidity constraints that make small deposits harder to execute efficiently apply just as much in reverse. Batching withdrawal executions where possible helps here the same way it helps on deposits, though withdrawals are naturally harder to batch cleanly since users expect their money back on a specific timeline, not whenever a batch happens to fill.
There's a specific edge case worth naming directly. If the market moves meaningfully between when someone requests a withdrawal and when the underlying assets actually get sold, the amount that lands in their account can differ slightly from what the dashboard showed at the moment they clicked withdraw. Being transparent about that possibility upfront matters more than pretending withdrawals execute at a frozen, guaranteed price, because they don't, and no honest system can promise that for assets that are genuinely still moving in value during the conversion window.
There's a second, quieter edge case that only shows up with a diversified basket specifically, rather than a single-asset withdrawal. If one asset in the fund experiences a sudden liquidity crunch or unusual price behavior at the exact moment a withdrawal is executing, the system has to decide whether to proceed with a worse execution price on that specific piece, delay the entire withdrawal until conditions normalize, or partially fill the withdrawal and flag the remainder. None of those options is free of tradeoffs. Proceeding protects speed at the cost of price. Delaying protects price at the cost of speed, which frustrates users who requested cash on a specific timeline. I've generally leaned toward transparency over silence here, telling a user their withdrawal is taking longer because of a specific liquidity condition is a better experience than either forcing a bad execution or leaving them wondering why nothing is happening.
Step three: the off-ramp, where crypto infrastructure meets traditional banking
This is the part that doesn't exist at all on the deposit side in the same form, and it's where a lot of the actual complexity lives.
Converting tokenized assets into fiat is only half the job. That fiat then has to move through traditional banking rails, ACH, wire transfer, or a local equivalent depending on the user's country, to actually land in a bank account. Those rails have their own settlement timelines that have nothing to do with blockchain speed at all, a transaction that settles on-chain in seconds can still take one to several business days to actually clear into a bank account, because that's simply how traditional banking infrastructure works, independent of anything a crypto platform can control.
This is also where compliance checks tend to concentrate. Larger withdrawals, or withdrawals crossing certain thresholds, commonly trigger additional identity verification, consistent with the progressive verification model I've described elsewhere, start without full verification, unlock higher limits as you verify more. That's not friction added for its own sake, it's the same kind of check most legitimate financial infrastructure applies precisely at the point money is actually leaving the system, rather than at signup when the stakes are lower.
It's worth naming why that timing choice matters, specifically. Applying stricter checks at signup, before anyone has deposited a meaningful amount, mostly just adds friction to people who were never going to be a risk in the first place, the ten dollar depositor testing the platform out. Applying the stricter check at withdrawal, when real money is actually about to leave the system, targets the review at the moment it actually matters. It's a deliberate tradeoff, more friction later, less friction early, rather than the reverse, and I think it's the right one, even though it means the strictest part of the experience shows up exactly when someone is trying to get their money back, which is never a fun moment to add a step to.
Why this is genuinely harder to build well than the deposit flow
Deposits mostly have to satisfy crypto-native infrastructure, exchanges, DEXs, token issuers. Withdrawals have to satisfy all of that and then hand off cleanly to banking infrastructure that was never designed with blockchain settlement speed in mind. That handoff point is where I've spent a disproportionate amount of engineering time, because it's the seam where two systems with completely different assumptions about speed, finality, and verification have to actually agree on what happened.
Building this alone means I'm the one reconciling those mismatched assumptions every time something doesn't line up cleanly, a banking rail that's slower than expected, a compliance check that needs a manual review, a price movement during the conversion window that needs to be communicated honestly rather than smoothed over. None of that is uniquely difficult in isolation. Doing it reliably, for real user money, without a team to split the surface area across, is where the actual engineering weight sits.
If you want to see how this actually behaves
Go take a look at wealtii.com, and if you're already holding a position, walk through a withdrawal yourself and watch what actually happens at each step, the redemption logic, the conversion, the off-ramp timing. That's a more honest test of any platform's claims than anything written about it, including this post.
If you've built withdrawal or off-ramp infrastructure that bridges crypto and traditional banking rails before, I'd genuinely like to hear how you handled the settlement timing mismatch specifically. That's the piece of this system I still think about the most.

Top comments (0)