Hi everyone,
I want to share my experience because I believe it raises an issue that matters to anyone holding shielded ZEC who may eventually want to use an integrated exit path. The issue is what “integrated” really means when the shielded pool, the wallet and the exit rail are presented as one seamless experience, but the trust model changes once the funds leave the shielded pool.
As of 8 September, approximately $589,000 USDT derived from swapping 1,120 shielded ZEC has been held by NEAR Intents for 50 days. That is despite a written compliance clearance on 23 July and a confirmed refund request raised the same day. One month of silence later, the same matter was put back under an “ongoing” review.
I want to be precise about what happened, because three separate layers are involved here and they behaved very differently.
Separating the three layers
1. The Zcash shielded pool
The shielded pool did exactly what it is designed to do.
My ZEC remained shielded and private while I held it. When I decided to move 1,120 ZEC from my shielded balance, it moved as expected. I still hold a larger ZEC balance shielded in the same wallet today.
Nothing in this post is a criticism of Zcash’s core privacy technology or the operation of the shielded pool.
2. Zodl
Zodl is the wallet through which I hold my shielded ZEC. At the time this happened, Zodl’s own support documentation described NEAR Intents this way:
“Swaps leverage our integration with the NEAR Intents decentralised exchange, so your swaps are trustless and don’t depend on a centralised third-party.”
I saved a copy on the Wayback Machine on 7 August: Swapping into ZEC - Zodl Support
On 17 August, while my case was still unresolved and after I had contacted them for help on 6 August, that wording was changed to:
“Swaps leverage our integration with NEAR Intents, where independent market makers compete to fill your order at the best rate and settlement is enforced on-chain by smart contract – no account or signup required.”
The page Swapping into ZEC - Zodl Support now also includes: “Important notes: Swaps are subject to NEAR’s Terms of Service.”
That distinction matters to me because the way NEAR Intents was presented and integrated into the wallet materially influenced how much I trusted it with size.
3. NEAR Intents
NEAR Intents is the swap rail integrated into Zodl.
What happened
On 20 July, I sent 1,120 shielded ZEC from my Zodl wallet to NEAR Intents and swapped it into ~$589k USDT. I withdrew the USDT to a new MetaMask address, then straight to a new Ledger address.
About eight hours later, I sent the exact same USDT from that Ledger address to a new Ethereum deposit address generated by NEAR Intents for another swap.
The transaction confirmed on-chain, but the deposit was never credited.
The USDT came only from those shielded ZEC to USDT swaps executed on NEAR and touched only the two newly created ETH addresses. It never went through any exchange, bridge, mixer, DeFi protocol, or any other third-party service. No other funds and no other transactions ever entered or left those two addresses. The exact same USDT amount left NEAR and returned to a NEAR-generated deposit address. The ETH gas itself came from NEAR, from those same shielded ZEC swaps.
MetaMask address: 0x85e5e691B99AEa7b0D42a493C12f78bc077E38f4
Ledger address: 0x22E62aeD6696a1f089e98e63A35b63d6fDC2f287
NEAR Intents deposit address: 0x47c3646e7fe6d619293602E9cD8bD1CF4127fDBe
Deposit transaction hash: 0x1366d07f63a18719a674840d02a84d5b830d8c26186afb28bb050401d3038f8d
I am sharing these addresses and the transaction hash so anyone who wants to can independently verify the on-chain flow.
Initially, support described the problem as technical. They attempted to push the deposit manually, confirmed it was stuck, and escalated it.
Around twenty hours later when I asked for an ETA, I was told there was a “temporary withdrawal restriction applied to your funds to facilitate a necessary administrative review.”
I voluntarily supplied the addresses, transaction hashes, swap history, screenshots, proof that the ZEC originated from my Zodl wallet, and an explanation of the entire flow. I also offered to prove ownership of the addresses by signing a verification message.
23 July: compliance review “successfully concluded”
On 23 July, NEAR Intents wrote:
“We are pleased to notify you that the compliance review concerning your recent deposit has been successfully concluded.”
They also stated:
“All associated funds will be released and accessible for use.”
And:
“All administrative restrictions on your account have been fully removed.”
They then asked me to confirm the address and chain so they could credit the funds back to my wallet: “Could you please confirm the refund address and chain so we can credit the funds back to your wallet?”
I provided the same Ledger address from which the USDT had been sent.
Their response was:
“Thanks for confirming the address, Tim! I have raised the refund request to the team and will let you know as soon as it’s processed.”
At that point, I understood the matter to be resolved subject only to execution of the refund.
It was not executed.
What happened after the clearance
My follow-ups on 24 July, 27 July, 31 July, 11 August and 17 August all were ignored and produced no execution of the refund.
On 29 July, after the ticket had gone quiet, I asked through NEAR’s public Telegram channel. I was told that manual refunds normally take around two weeks and that I would receive a transaction hash when the refund was processed.
That two-week period expired on 6 August.
That morning I politely asked support for an escalation. An admin replied that they would escalate the matter again. One minute later I was muted from the Telegram channel for 24 hours.
Also on 6 August, I contacted the Zodl team with the full documentation.
Neal from Zodl replied the following day that they were speaking with their contacts at NEAR and later requested a status update regarding the refund.
On 18 August he told me that NEAR said a “status update” had been sent to me on 7 August, and that he was escalating further. I never received that update.
No refund followed from either escalation. I followed up with Zodl again, but they did not reply.
26 August: one month of silence then back under compliance review
On 22 August I emailed NEAR’s legal contact requesting execution of the refund. No reply.
On 24 August, I published a public article about the case on X.
A day and a half after the publication, the support ticket suddenly moved.
On 26 August, after one month of silence without any refund, and for the first time since 23 July, NEAR Intents replied to the support ticket and said:
“Please be advised that your pending transaction has been paused subject to ongoing standard regulatory compliance reviews.”
They also said they were:
“unable to provide a definitive timeframe for release.”
This raised an obvious question…
On 23 July, I had been told that the compliance review had been successfully concluded, that all associated funds would be released, and that all administrative restrictions had been fully removed.
On 26 August, I was being told that the transaction was once again subject to an ongoing compliance review with no release date.
I therefore asked NEAR three specific questions:
- Does the 23 July confirmation that the compliance review was successfully concluded remain accurate?
- If a new review was opened, when was it opened and what transaction or event triggered it?
- What is the status of the refund request confirmed on 23 July?
On 27 August, they replied.
“While an initial determination was communicated on July 23, subsequent administrative and compliance verification required returning the matter to a pending review status. As a result, the review has not been fully concluded and remains actively under evaluation."
They said that:
“This is a continuation of the initial review, which was returned to pending review status.” And that “The refund request raised on July 23 remains on record, but execution is contingent upon final compliance clearance. The refund cannot be processed while the review remains pending.”
They did not identify a new transaction or event that caused the change.
They did not provide a date on which the review was returned to pending status.
They did not provide a date for a final determination.
On 27 August I asked in the ticket on what date the status had changed from “successfully concluded” to pending. That question has not been answered.
Where things stand today
Today is 8 September.
It has been 50 days since the deposit.
The funds have not been returned.
There is no refund transaction hash.
There is no release date.
I still haven’t heard back from Zodl about the explanation they promised regarding what caused this issue in the first place.
And the compliance review that NEAR told me in writing had been “successfully concluded” is now described as an “initial determination,” with the same review once again pending indefinitely.
Why I think this belongs on the Zcash forum
I am not posting this because the Zcash shielded pool failed. It did not.
I am also not asking the Zcash community to adjudicate NEAR’s compliance procedures or recover the funds for me.
I am posting because this experience changed how I think about the practical exit path from shielded ZEC.
The Zcash protocol layer, the wallet layer and the exit layer are distinct parts of the user experience, with different roles and trust assumptions.
Products like Zodl want to make the power of Zcash zero-knowledge encryption simple enough for ordinary people to use and, ultimately, simple enough to reach billions of users. That means abstracting away complexity where possible. But simplifying the experience should not blur a change in the trust model or leave users with an understanding of the integrated path that does not match how it actually works in practice.
Technically, the three layers are distinct. But to the user, they are integrated into one interface and experienced as one continuous path from holding Zcash, shielding it, sending it, and exiting into funds they expect to be able to use freely. The UX is unified, but the trust assumptions are not.
Zcash itself says: “Zcash is a decentralized protocol, which means your money is yours — not the bank’s.” Yet a swap rail integrated into that same user experience can put the resulting funds under a third-party compliance review, clear that review in writing, and then put the same funds back under review a month later.
The Zcash protocol can work exactly as intended, yet the user can still face a very different trust model further along what feels like the same product path.
That boundary was not obvious to me when the wallet I trust integrated the exit and described it as a “decentralised exchange” providing “trustless” swaps that “don’t depend on a centralised third-party.” I trusted this route because I trusted Zcash’s zero-knowledge encryption to protect my privacy, and I trusted the wallet enough to hold a much larger shielded ZEC balance there.
Because the swap rail was integrated into that same wallet experience, I treated it as part of a product path I could rely on at comparable scale, not only to exit shielded ZEC into USDT, but later to use that same USDT again, including swapping it into another asset.
That was my mistake. But users cannot reasonably be expected to understand where the trust model changes if the whole path is presented as one integrated experience without clearly marking those boundaries.
Zcash wallets that integrate a swap rail should make it clear to users that the swap provider has its own compliance process, refund process and ability to restrict access to funds. That information should be visible in the wallet interface itself before a user interacts with the rail, not left only in support documentation or terms that may never be seen during the actual user journey.
And there is also a bigger privacy issue here. To recover what left the shielded pool I had to give my email to a ticket support system that stopped replying, chase the case across Telegram, emails and public channels, and now post this publicly, creating the exact digital trail the shielded pool exists to prevent. When the exit fails, the price of recovery is paid in the privacy the shielded pool was built to protect.
I chose to provide that information because I wanted the funds returned. I also wanted to share my experience because the way the integrated path had been presented did not match the trust model I encountered in practice. Shielded users should understand that recovering funds after a failure outside the shielded pool can come at a practical cost to their privacy.
This experience left me with a question I’d like other shielded holders’ views on. How far can we rely on the integrated exit path from shielded ZEC at size? And once shielded ZEC has been swapped into USDT, how far can we rely on being able to use that USDT freely afterwards, including spending it or swapping it again into another asset?
Thanks to Shawn for bumping my account so I could post this thread.






