The Self-Custody Illusion: Dissecting the Avici Neobank Drain and the Fatal Flaw in Passkey Trust
The attacker's wallet is still moving. As of this writing, it holds 10,005 SOL, and the balance is climbing. Over $1 million in customer funds has already been siphoned from Avici, a Solana-based neobank that marketed itself on a simple promise: self-custody. The promise is broken. The code, or the architecture behind it, is the culprit. This is not a market fluctuation. This is a structural failure, and tracing the invariant where the logic fractures reveals a story that goes far beyond a single exploit.
Avici positioned itself as the bridge between the crypto-native world and traditional finance. Users deposit crypto, and Avici issues a Visa card backed by those assets. The pitch was elegant: you hold your own keys, you authorize transactions with passkeys, and you spend your crypto anywhere Visa is accepted. It was a narrative designed to appeal to the decentralization purist who still wants to buy groceries. The reality, as the ongoing drain demonstrates, is that the abstraction leaks, and we measure the loss in real time.
To understand the failure, we must first strip away the marketing and examine the technical architecture. The core claim was "self-custody" via passkeys. Passkeys are a modern authentication standard, replacing passwords with cryptographic key pairs. The private key stays on the user's device, secured by biometrics or a PIN. The public key is registered with the service. This is a robust model for authentication. It is not, however, a robust model for asset custody if the surrounding infrastructure is compromised.
The attack vector is the central question. Passkeys are based on asymmetric cryptography. Breaking a single user's passkey is theoretically possible but practically difficult. Breaking thousands of them simultaneously is a statistical impossibility. This leads to a forensic conclusion: the attacker did not compromise the users. The attacker compromised the system. The most likely scenario is a breach of a centralized backend service—a transaction relayer, a signing service, or a key management system that held the authority to move funds. This is the hidden dependency that the "self-custody" narrative conveniently ignored.
Let's trace the logic. For a user to authorize a transaction, their passkey signs a message. That signed message is sent to Avici's backend, which then submits it to the Solana blockchain. If the backend is compromised, the attacker can either inject their own signed messages or, more likely, they have access to a master key or a privileged function within the smart contract that allows them to bypass user authorization entirely. The fact that the attacker is continuously draining funds, rather than executing a one-time exploit, suggests they have established a persistent, privileged channel. This is not a bug in the passkey standard. This is a fatal flaw in the system's design.
My experience auditing ZK-rollup dispute resolution contracts in 2022 taught me to look for the race conditions and the privileged paths. In that case, it was a seven-day fund freeze vector. Here, the vector is a direct drain. The principle is the same: find the line of code where the invariant of "user control" breaks. In Avici's case, the invariant broke at the point where the backend was granted the authority to move funds without explicit, per-transaction user consent. The "self-custody" was a user interface. The backend was the custodian. And the custodian was compromised.
The response timeline is equally damning. Avici stated they "became aware" of the issue nearly two hours after the first unauthorized transaction. In the world of high-frequency finance, two hours is an eternity. A system that holds user funds should have real-time monitoring, automated circuit breakers, and a pre-defined incident response plan. The two-hour gap indicates a lack of basic security operations. It suggests there was no 7x24 monitoring, no automated anomaly detection, and no immediate kill-switch. This is not a sophisticated attack that bypassed advanced defenses. This is a failure of basic operational security. Friction reveals the hidden dependencies, and the friction here revealed a team unprepared for a crisis.
This brings us to the contrarian angle, the one that the market will likely miss. The immediate reaction will be to blame Avici, and rightfully so. But the deeper issue is the narrative itself. The term "self-custody" has been weaponized as a marketing tool, a badge of honor that implies absolute security. This event proves that "self-custody" is not a binary state. It is a spectrum, and it is only as strong as the weakest link in the chain. Avici's users had passkeys, but they also had a centralized backend with the power to override them. The users were custodians in name only. The code was the truth, and the code allowed for a backdoor.
This is a systemic problem, not an isolated incident. The entire DeFi and Web3 ecosystem has been guilty of conflating user-controlled keys with user-controlled assets. If a protocol has a governance mechanism that can upgrade a contract to drain funds, is it truly self-custodial? If a neobank has a backend that can sign transactions on behalf of users, is it truly non-custodial? The answer is no. The industry has been selling a simplified version of security to attract users, and events like this expose the complexity that was hidden beneath the surface.
The market impact is nuanced. For Solana, this is a negative signal. The network has been working to shed its reputation for downtime and technical issues, and it is now facing a security crisis in a high-profile application. This will give pause to institutional investors who are considering building on or investing in the Solana ecosystem. The "Solana is fast and cheap" narrative is now tempered by "Solana has a security problem." This is an unfair generalization, as the issue is with Avici's application layer, not the L1 itself. But perception is reality in the market, and this event will color the perception of the entire ecosystem.
For the broader "RWA" and "Neobank" narrative, this is a significant setback. The promise of bringing real-world assets and traditional finance onto the blockchain was predicated on the idea that it could be done more efficiently and more securely. This event demonstrates that it can also be done more dangerously. The integration of traditional financial services with crypto infrastructure introduces new attack surfaces and new risks. The blockchain does not eliminate the risk of a compromised backend; it just makes the consequences more transparent and more irreversible.
There is also a regulatory angle that cannot be ignored. Avici's "self-custody" claim is now a liability. If regulators determine that Avici actually had control over user funds, the company could face charges of operating an unlicensed money transmitter or engaging in misleading advertising. The fact that they issued Visa cards means they were already subject to KYC/AML compliance. This event will likely trigger an investigation by consumer protection agencies. The "self-custody" marketing was not just a technical claim; it was a legal claim, and it has now been proven false.
The competitive landscape is shifting. Users who were attracted to Avici's promise of self-custody will now flee to more established, regulated, and insured custodial solutions. This is a boon for companies like Coinbase, which offers a compliant and insured custody product. It is also a potential opportunity for more transparent and audited non-custodial solutions that can prove, through code and formal verification, that they do not have a privileged backdoor. The market will now demand proof of security, not just promises. Precision is the only reliable currency, and Avici's precision was found wanting.
Let's consider the attacker's perspective. The attacker is not just a thief; they are an auditor. They found the flaw that the project's own security team missed. They exploited the gap between the marketing narrative and the technical reality. They are demonstrating, in real-time, that the system was not what it claimed to be. This is a brutal lesson for the entire industry. The attacker is forcing the market to confront the uncomfortable truth that many "self-custody" solutions are not what they appear to be.
The takeaway is not just about Avici. It is about the need for a new standard of verification. The industry must move beyond marketing claims and demand code-level proof of security. This means more rigorous audits, more formal verification, and more transparent architecture. It means that projects must be willing to open up their backend logic for inspection, not just their smart contracts. It means that the term "self-custody" should be reserved for systems where the user has absolute, unilateral control over their assets, with no exceptions.
Reverting to first principles to find the break: the purpose of a blockchain is to remove the need for trust. Avici reintroduced trust in the form of a centralized backend, and that trust was betrayed. The lesson is clear. If a system has a kill-switch, a backdoor, or a privileged admin key, it is not self-custodial. It is a custodial service with a user-friendly interface. The market must learn to distinguish between the two. The cost of this lesson is over $1 million and counting, and the attacker is still draining funds. The question is not whether Avici can survive. The question is whether the industry will learn from this failure or repeat it. The code is the truth, and the truth is that we have a long way to go.