Kevin Riedl

8 min read · 26 May 2026

Migrating from Ethereum to Solana: What Quivr's Move Actually Broke, and What It Cost

We helped Quivr move from EVM to Solana. The headline answer first: a chain migration is not a port, it is a partial rewrite. Roughly 40 to 70% of the smart-contract code needs new logic, the entire frontend wallet stack changes, and your indexer, RPC strategy and analytics layer get rebuilt. Budget six to fourteen engineering weeks for a production product, depending on surface area. Token costs and audit costs are separate.

This post is the honest teardown. Where Solana wins, where Ethereum still wins, and the checklist we hand to clients before they sign.

Considering a chain migration?

 Book Free Consultation

Why did the migration happen at all?

For Quivr, the driver was unit economics on small-value transactions. On Ethereum L1, transaction fees made the core flow uneconomic. L2 helped but fragmented liquidity and complicated the UX. Solana's fee model and throughput made the product viable at the price point the team needed. Different products will have different drivers: latency, throughput, MEV exposure, or composability with a specific ecosystem. The driver matters because it shapes which migration trade-offs you are willing to take.

What actually broke in the rewrite?

Not "broke" in the production sense. Broke in the sense that the EVM mental model does not survive the move.

  • Account model. Solana's account model is structurally different from EVM storage. Accounts are explicit, sized, and owned. State is not a giant key-value map inside one contract. This rewrites how you model users, balances, and product data.
  • Programs vs contracts. Solana programs are stateless. State lives in accounts. That changes how you think about upgrades, access control, and composition.
  • Token standard. ERC-20 to SPL is not a one-line change. Mint authority, freeze authority, associated token accounts, and rent are new concepts to handle in your business logic and frontend.
  • Wallet UX. MetaMask to Phantom (or any Solana wallet) means a new signature flow, new transaction preview UX, new error messages, and a different mental model for users.
  • RPC and indexing. Solana RPC behaviour, rate limits, and indexing tooling are a different ecosystem. We rebuilt the read path more or less from scratch.
  • Upgradability. Solana program upgrade authority is a single key (or a multisig) by default. Different governance model from a proxy contract.

What did it cost?

From Wavect's engagement history on EVM-to-Solana work, here are the cost bands. Engineering weeks assume a senior engineer, blended rate. Audit costs depend heavily on scope and chosen firm.

WorkstreamEngineering weeksNotes
Program rewrite (Rust / Anchor)3 to 8Depends on contract surface; expect 40 to 70% logic rewrite, not a port.
Account model design1 to 2The most underestimated step. Get this wrong and everything downstream suffers.
Frontend wallet integration1 to 3Phantom, Solflare, Backpack, mobile deeplinks.
RPC + indexer rebuild1 to 3Choose RPC provider, set up indexing (Helius, Triton, or self-hosted).
Token standard migration0.5 to 2SPL handling, ATA management, optional token-2022 features.
Internal eval + QA1 to 2End-to-end flows on devnet then mainnet-beta.
External auditExternalSeparate engagement with a specialist firm. Wavect does not do third-party audits.

Total realistic range we see: 6 to 14 engineering weeks on the Wavect side, plus the external audit. Add product, ops, and treasury work on the client side.

What is the actual migration checklist?

  1. Decide whether you are migrating, dual-deploying, or sunsetting the EVM version. Each has different governance and treasury implications.
  2. Inventory every smart contract entry point. Map each to a Solana account / instruction.
  3. Design the account model end-to-end on paper before touching Rust.
  4. Decide upgrade authority: single key, multisig, or DAO. Document it.
  5. Pick the program framework: native Rust, Anchor, or one of the newer SDKs.
  6. Rebuild the token model. SPL, optional token-2022 extensions, ATAs.
  7. Replace MetaMask integration with a wallet adapter. Test mobile deeplinks.
  8. Choose RPC provider(s) and design a fallback strategy.
  9. Rebuild the indexer. Decide between hosted indexer and self-hosted.
  10. Port your analytics events. Solana transaction logs are structured differently.
  11. Rewrite your test suite. Localnet first, then devnet, then mainnet-beta.
  12. Design state migration (if any user state moves cross-chain).
  13. Run an external audit before mainnet.
  14. Plan a fee budget for priority fees during congestion.
  15. Decide how (or if) you communicate the migration to existing users.
Kevin Riedl

"Chain choice is a 5-year decision, not a launch decision. Most teams treat it the other way around."

Where does Solana clearly win?

Fee economics for high-frequency or low-value transactions. Throughput for consumer-scale products. A wallet ecosystem (Phantom in particular) that has invested heavily in UX. Native support for fast confirmations that feel more like web2 than web3. The Token Extensions standard gives you transfer hooks and confidential transfers without a custom contract.

Where does Ethereum still win?

Tooling maturity. Audit firm depth. Composability with the largest DeFi liquidity pool in the world. The EVM developer talent pool is still larger by a wide margin. Account abstraction tooling (ERC-4337) is more mature on the EVM side. If your product needs deep composability with a specific protocol that lives on Ethereum, the migration math gets harder.

What surprises clients the most?

Three things. First, the frontend rewrite is bigger than expected. Wallet UX, signing, error handling, fee estimation, all change. Second, indexing is a real workstream. The "just use a subgraph" muscle memory does not transfer. Third, the audit scoping conversation is different. Solana auditors are a smaller pool and their checklist is different from EVM auditors. Plan calendar time, not just budget.

Would we migrate again?

For the right product, yes. Quivr is the obvious example. For products where the EVM ecosystem composability is the moat, we would push back. The decision should be driven by unit economics and product roadmap, not by which chain is trending on Twitter this quarter. See our work in blockchain engineering for the framework we use.

Final thoughts

An Ethereum to Solana migration is a partial rewrite, not a port. The smart-contract code is the visible part. The hidden part, account model design, wallet UX, RPC and indexing, is where the actual engineering weeks live. Plan for six to fourteen weeks of engineering, plus an external audit on top. Be honest about why you are migrating. If the answer is unit economics or throughput, Solana usually delivers. If the answer is composability with a specific EVM-native protocol, think twice. The worst outcome is a migration mid-product, mid-roadmap, with users on both sides and a treasury split between chains. The best outcome is a migration that takes a fee problem off the table for the next five years. Talk to your engineers, talk to your auditors, and budget for the boring workstreams (indexer, RPC, frontend) before you budget for the exciting ones.

Considering a chain migration?

 Book Free Consultation
Kevin Riedl

8 min read · 26 May 2026