<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[「 thecoding 」]]></title><description><![CDATA[decoding: crypto, blockchain, open-source development, privacy, cybersecurity, ai, defi, and more
→ in-depth research articles, data analysis, code reviews, and guides → backed by 6+ years of experience]]></description><link>https://thecoding.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!UqcQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png</url><title>「 thecoding 」</title><link>https://thecoding.substack.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 02 Sep 2026 16:22:10 GMT</lastBuildDate><atom:link href="/__u/thecoding.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Vini Barbosa]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thecoding@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thecoding@substack.com]]></itunes:email><itunes:name><![CDATA[Vini B | thecoding]]></itunes:name></itunes:owner><itunes:author><![CDATA[Vini B | thecoding]]></itunes:author><googleplay:owner><![CDATA[thecoding@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thecoding@substack.com]]></googleplay:email><googleplay:author><![CDATA[Vini B | thecoding]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Quai Starter Pack: a Quickstart Guide for Users and Miners]]></title><description><![CDATA[Quickstart on the Quai Network as a user or miner. This is a practical walkthrough of the Quai Network wallets, the QUAI&#8596;QI conversion, a look at some ecosystem projects, and mining with demo videos]]></description><link>https://thecoding.substack.com/p/quai-starter-pack-a-quickstart-guide</link><guid isPermaLink="false">https://thecoding.substack.com/p/quai-starter-pack-a-quickstart-guide</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 28 Aug 2026 13:35:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OCyg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!OCyg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!OCyg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176820,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/213030607?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OCyg!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b2d69db-314c-470a-9f70-cd3d65aa31a5_1250x833.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Quickstart on the Quai Network as a user or miner. This is a practical walkthrough of the Quai Network wallets, the QUAI&#8596;QI conversion, a look at some ecosystem projects, and mining with demo videos</figcaption></figure></div><h2>What is Quai (and QI)? A 30-second recap</h2><p>Last month I wrote and published a full research article on the Quai Network and its dual-token system (QUAI &amp; QI). It&#8217;s a very interesting tech stack and, as I said then, it&#8217;s one of the most serious attempts I&#8217;ve seen to keep Proof-of-Work relevant at scale.</p><p>Instead of the binary &#8220;longest chain&#8221; race of classic Bitcoin, its consensus, Proof-of-Entropy-Minima (PoEM), ranks blocks by how much entropy they remove from the system. On top sits a hierarchical sharding structure that can make the network scale as demand grows. Moreover, Quai hs built-in merged mining (SHA-256, Scrypt, KawPoW) properties plus SOAP to keep energy-based security competitive and shared with larger networks.</p><p>If any of that is new for you, stop here and read my full deep-dive first &#8212; <strong>Quai Network: Entropy, Energy Cash, and Scalability</strong> &#8212; because I&#8217;m not going to re-explain the architecture here. This piece is intended to be the practical follow-up: how you get a wallet, use QUAI/QI, and mine it.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e8c343a4-c25f-4c64-b998-3fdb6f97fc4f&quot;,&quot;caption&quot;:&quot;My technical curiosity on Quai has been sitting in the back of my head for a while. Every time Matt or Alan appeared on X posts &amp; spaces the itch came back,&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Quai Network: Entropy, Energy Cash, and Scalability&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B | thecoding&quot;,&quot;bio&quot;:&quot;Writing about crypto, security, blockchain, tech, privacy, open-source, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41354f9-10c4-451d-b3d2-d355b5653e1e_1159x1159.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-08-07T11:27:41.266Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KuA0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/quai-network-entropy-energy-cash&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:210118280,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The one thing you do need to know before we keep going: Quai runs on <strong>two native tokens</strong>.</p><ul><li><p><strong>QUAI</strong> &#8212; account-based, EVM-compatible. Think &#8220;digital gold + smart-contract fuel.&#8221; Programmable, scarce.</p></li><li><p><strong>QI</strong> &#8212; UTXO-based, fixed-denomination &#8220;energy cash.&#8221; It tracks the real energy cost of producing it, with cash-like privacy (non-address-reuse, payment codes, fixed &#8220;bills&#8221;).</p></li></ul><p>You can hold one or both, and you can also convert between them on-chain. Let&#8217;s get you set up now.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_51-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_51-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e822cb25-b132-437f-a575-c68772879d18_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132429,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/213030607?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_51-!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe822cb25-b132-437f-a575-c68772879d18_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>This article is sponsored by Dominant Strategies (Quai Network&#8217;s core team). Their support made it possible for me to spend the time researching, understanding, writing, and editing this piece. The content remains fully authentic and didn&#8217;t suffer any direct influence from the team, who respected its independent creation.</em></p></blockquote><div><hr></div><h2>Quickstart: Using QUAI/QI</h2><p>The first angle we will cover in this guide is from a user perspective. This is because all miners are, essentially, users; while not all users are miners.</p><h3>1. Set up a wallet</h3><p>If you are used to crypto you know this is the critical first step. If not, not worries, I got you covered!</p><p>In my research I found two core wallets for interacting with Quai and QI: <strong>Blip</strong> (Blippay) and <strong>Pelagus</strong>.</p><p><strong>Blip</strong> (or <strong><a href="https://blippay.me/d">Blippay</a></strong>) is a mobile wallet for Android and iPhone users. It has a beautiful layout, quick setup, smooth user experience, and native integration to Quai DApps. However, it&#8217;s not open-source, which is a relevant property for a crypto wallet, in my opinion. On a positive note, its latest upgrade added raw ETH wallet support and seamless bridging/swapping between QUAI, ETH, USDT, and WQI. Interoperability is key.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://play.google.com/store/apps/details?id=me.blippay.blippay&quot;,&quot;text&quot;:&quot;Install Blip on Android&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://play.google.com/store/apps/details?id=me.blippay.blippay"><span>Install Blip on Android</span></a></p><p><strong>Pelagus</strong> is a browser extension built specifically for the network (community-owned, <a href="https://github.com/PelagusWallet/pelagus-extension">open-source</a>). It&#8217;s what I first used to test QUAI and QI. You install it from the Chrome Web Store, click &#8220;create a new wallet,&#8221; and set a password.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://chromewebstore.google.com/detail/pelagus/nhccebmfjcbhghphpclcfdkkekheegop&quot;,&quot;text&quot;:&quot;Install Pelagus on Chrome&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://chromewebstore.google.com/detail/pelagus/nhccebmfjcbhghphpclcfdkkekheegop"><span>Install Pelagus on Chrome</span></a></p><p><strong>Important note:</strong> I recommend following the links in the <a href="https://x.com/QuaiNetwork">@QuaiNetwork</a> official account&#8217;s bio on X for security reasons. This can help protecting you from phishing attempts. Bookmark it, then.</p><p>After picking your wallet of choice and installing it, the most important part is the <strong>seed phrase</strong>: a recovery phrase of random words that controls every address your wallet derives.</p><p>Write it down on paper (offline), keep it somewhere safe and separate from your computer, and <strong>never share it</strong> or type it anywhere. Both Blip and Pelagus will show you how to back up and verify your phrase.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;540dd077-6310-4f89-93e6-d8a65b4ac08b&quot;,&quot;duration&quot;:null}"></div><p>Other wallets exist (including exchange addresses, a MetaMask snap, Tangem support, and more), but for holding small amounts and interacting with the Quai Network as a user, Blip and Pelagus look like the best option right now. They are hot wallets, nevertheless, and the private key can be exposed (it&#8217;s stored in the browser) if your device is compromised. Be careful!</p><h3>2. Understand your wallet</h3><p>This is where Quai feels different from Ethereum (or other popular networks). Your Quai wallets surface <strong>two kinds of addresses</strong>, and they&#8217;re not interchangeable:</p><ul><li><p>A <strong>QUAI address</strong> &#8212; used for QUAI. It looks like an Ethereum address and lives on a specific <strong>zone</strong> (the shard within the Prime &#8594; Region &#8594; Zone hierarchy). Right now only the <strong>Cyprus-1</strong> zone is live on mainnet, so your address has the zone encoded in its prefix.</p></li><li><p>A <strong>QI address</strong> &#8212; used for QI. This is a UTXO address resembling Bitcoin&#8217;s, and it follows a different rulebook: fixed denominations, enforced non-reuse of addresses, and payment codes (BIP-47-style) so you can receive on a reusable identifier without ever reusing an on-chain address.</p></li></ul><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e6b11344-8ef3-404b-9e19-537cb87c93ac&quot;,&quot;duration&quot;:null}"></div><p>Basically, <strong>QUAI and QI are separate ledgers.</strong> Sending QUAI to a QI address (or vice-versa) won&#8217;t work like an ERC-20 transfer. You need the right address type for the right token. The wallets keep your seeds, derives both address types, and handles the routing, so just make sure you&#8217;re copying the correct address when you share it.</p><h3>3. QUAI &#8596; QI conversion</h3><p>Converting between QUAI and QI is an <strong>on-chain, protocol-level</strong> operation, not a swap on a DEX. It matters because both tokens exist to serve different roles; conversions are how the system lets supply and demand rebalance between them.</p><p>How it works: the conversion rate is <strong>mathematically determined</strong> by a controller that tracks miner difficulty over a ~4000-block window and applies discounts to keep things fair. When you convert, your transaction settles at the <strong>next prime block</strong>, and <strong>every completed conversion is locked for two weeks</strong>.</p><p>There&#8217;s also slippage to account for &#8212; it can rise if a lot of conversions land in the same window, and you can set a maximum slippage threshold so it fails gracefully instead of executing on bad terms.</p><p>Honestly, the mechanics are <strong>meant for market makers</strong> and power users who want to arbitrage and provide liquidity between the two tokens. For the rest of us, Pelagus built an easy wrapper called <strong>Market Make</strong>: you pick a direction (QUAI&#8594;QI or QI&#8594;QUAI), set your amount and slippage tolerance, and it handles submission.</p><p>By default, just keep the two-week lock in mind and don&#8217;t convert money you need soon.</p><h3>4. Ecosystem outlook</h3><p>The best way to get QUAI onto the network right now is the <strong>Symbiosis bridge</strong> (Base/Ethereum &#8594; Quai), which also handles WQUAI and USDT.</p><p><strong>Quainance</strong> is the official DeFi hub on Quai (live since July 2026): swap $QUAI, $USDT, and $WQI, bridge assets, and provide liquidity in one place. The usual &#8220;all your DeFi in one spot&#8221; front door.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;9c954199-53af-4375-a9e6-a46ae0b9f654&quot;,&quot;duration&quot;:null}"></div><p>Be careful with the spread, though! Liquidity is still thin ($8,130 TVL on Quainance, for example, as shown in the video) and large amounts could cause a huge spread in price.</p><p>On the NFT side, <strong>Bazarr</strong> is the new marketplace on mainnet, a real, live market for NFT collections on Quai. There&#8217;s also a growing field of DEX/AMM liquidity and QI&#8217;s privacy rails for cash-like transfers.</p><p>My honest read (as I said in the deep dive): the dual-token liquidity question is still open: splitting value across two ledgers is harder to bootstrap than one. But the rails are real and the tooling (Blip/Pelagus, bridge, DeFi, NFT, conversions, etc) is much further along than most Layer-1s at this stage and market cap.</p><p>Watch the ecosystem list on the Quai website for what&#8217;s live next.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.qu.ai/ecosystem&quot;,&quot;text&quot;:&quot;Check the Quai Ecosystem&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.qu.ai/ecosystem"><span>Check the Quai Ecosystem</span></a></p><div><hr></div><h2>Quickstart: Mining QUAI / QI</h2><p>What follows here is a quickstart introduction to mining QUAI/QI. However, it&#8217;s important to note that I&#8217;ll only cover the basics here (literally a quickstart). This is <strong>not</strong> and advanced mining guide.</p><h3>Pools</h3><p>Different from what most beginners think, you don&#8217;t really need to run a Quai Network node to mine. You just point a miner at a <strong>mining pool</strong>. This, of course, has some inherent trust assumptions (you trust the pool will behave well) and some points of centralization, but it is possible.</p><p>Quai officially documents pools across all three algorithms; no registration is needed on most, you just use your wallet address as the worker. For GPU mining (KawPoW) the common choices include 2Miners, HeroMiners, K1Pool, Kryptex and others. For SHA-256/Scrypt ASIC mining (available since SOAP), pools like 2Miners SHAd256, StratumX and others support merged mining.</p><p>Two names worth knowing if you want to take back control:</p><ul><li><p><strong>StratumX</strong> &#8212; Quai&#8217;s own <strong>zero-fee, non-custodial, KYC-free</strong> mining infrastructure, built for solo-style mining directly against the network. You connect with standard stratum software, your work is credited on-chain, and 100% of rewards go straight to your address &#8212; no pool fee, no third-party custody. It&#8217;s also the route the protocol devs point to for <strong>QI mining and lockups (LMRs)</strong>: some pools don&#8217;t yet let you choose QUAI vs QI or set a lockup, but StratumX honors your preference on-chain.</p></li><li><p><strong>DePool</strong> &#8212; the same idea pushed further: a <em>decentralized</em> mining pool you run yourself (just a flag on a Quai node), earning a fee on miners you host with no custom pool software.</p></li></ul><p>We might need a full article later covering how to start your mining setup in each of of those.</p><h3>Merged mining &amp; SOAP</h3><p>Here&#8217;s the part that makes Quai&#8217;s PoW unusually efficient.</p><p>Because blocks are nested (zone within region within prime), <strong>one mining solution can count for all three chains at once</strong>. The docs call this &#8220;three chains, one computer&#8221; &#8212; the same hashrate secures the hierarchy, and coincident blocks act as automatic, trustless bridges. Miners also generate low-difficulty proofs called <strong>workshares</strong> that get included in the next block and paid proportionally (PRS), so near-misses aren&#8217;t wasted.</p><p>SOAP extends this to external hashrate: SHA-256/Scrypt miners can point existing ASIC fleets at Quai. When a parent-chain block is found, the subsidy is converted to QUAI and <strong>burned</strong> &#8212; creating continuous buy-and-burn pressure &#8212; while the miner is compensated in QUAI via workshares.</p><p>I already covered all that in the deep-dive article I mentioned in the beginning. So, it&#8217;s worth it revisiting the other piece if you want more depth into these concepts.</p><h3>Pick your reward: QUAI, QI, or both</h3><p>At each block a miner chooses whether to be rewarded in <strong>QUAI</strong> or <strong>QI</strong>. You can&#8217;t claim both from the same block.</p><p>The economics differ by design: QUAI rewards scale with the <em>logarithm</em> of difficulty (scarcity-oriented, deflationary), while QI rewards scale <em>linearly</em> with difficulty (energy-linked, inflationary).</p><p>So: prefer QI if you want stable, energy-backed cash for operating costs; prefer QUAI if you&#8217;re aiming to hold a scarce asset.</p><p>You can switch your preference anytime, and you can even <strong>lock rewards</strong> (LMR) for 2 weeks to 12 months for higher yield.</p><p>The trick is that most pools let you set a <strong>worker</strong> and then choose per-block which asset the pool credits you, or mine a <strong>merged workshare</strong> set and split between algorithms.</p><h3>Set up your miner</h3><p>The practical recipe is the same regardless of algorithm:</p><ol><li><p><strong>Wallet</strong> &#8212; get a QUAI wallet address from Step 1.</p></li><li><p><strong>Pick a pool + software</strong> &#8212; StratumX or DePool for a decentralized experience. Otherwise, for GPUs (KawPoW), grab SRBMiner-Multi, Rigel, WildRig, or the 2Miners quick-start bundle; for ASICs pick a SHA/Scrypt pool. The pools list recommended software per rig.</p></li><li><p><strong>Configure the connection</strong> &#8212; your miner connects to the pool over the <strong>Stratum</strong> protocol (the standard way miners talk to pools). Example for GPU KawPoW on 2Miners Europe: </p></li></ol><pre><code><code>stratum+tcp://quaikawpow.2miners.com:4545 -u YOUR_QUAI_ADDRESS -p x</code></code></pre><ol><li><p> For SHA-256 ASICs on 2Miners: </p></li></ol><pre><code><code>stratum+tcp://quaisha.2miners.com:8181 -u YOUR_QUAI_ADDRESS -p x</code></code></pre><ol><li><p> Replace the address with yours; set a rig name if you want, then start the miner and watch the pool dashboard for shares.</p></li></ol><p>That&#8217;s it! Hashrate, shares, and payouts. Stratum handles the job distribution; your only job is the correct address, the right port for your algorithm, and patience.</p><p>The more workers, like you, pointing computing power to the Quai Network, the stronger it gets against certain threats and more valuable the QUAI you are holding gets, together with the entire ecosystem being powered by the dual-token system.</p><div><hr></div><p style="text-align: center;">Hope this quickstart guide has helped you in your first steps on the Quai Network.</p><p style="text-align: center;">Drop your thoughts or questions in the comments.</p><p style="text-align: center;">I&#8217;ll answer everything I can, or point you to the right person.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/quai-starter-pack-a-quickstart-guide/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/quai-starter-pack-a-quickstart-guide/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><strong>Thanks for reading &#12300;thecoding&#12301;!</strong></p><p style="text-align: center;">Follow me on X at <strong><a href="https://x.com/vinibarbosabr">vinibarbosabr</a></strong> and subscribe for free to [en] <a href="/__u/thecoding.substack.com/">thecoding.substack.com</a> or [pt-br] <a href="/__u/codigoaberto.substack.com/">codigoaberto.substack.com</a> for more pieces like this.</p><p style="text-align: center;">Check <strong><a href="https://thecoding.dev">thecoding.dev</a></strong> to start working with me on technical content, docs engineering, devrel partnerships, and more.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[A Look at GroveDB: Making Blockchains Queryable]]></title><description><![CDATA[A deep and practical look at Dash's GroveDB, the hierarchical authenticated database that makes complex queries on blockchain state both efficient and cryptographically provable]]></description><link>https://thecoding.substack.com/p/a-look-at-grovedb-making-blockchains</link><guid isPermaLink="false">https://thecoding.substack.com/p/a-look-at-grovedb-making-blockchains</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 21 Aug 2026 12:46:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zWSh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zWSh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 424w, /__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 848w, /__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zWSh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1177720,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/212000537?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 424w, /__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 848w, /__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!zWSh!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae13e68-0018-4f83-bcb7-9f6342a0253f_1250x833.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A deep and practical look at Dash&#8217;s GroveDB, the hierarchical authenticated database that makes complex queries on blockchain state both efficient and cryptographically provable</figcaption></figure></div><p>Blockchains are excellent tools for validating, storing, and protecting simple data history (the state) in a decentralized, credibly-neutral, and permissionless way. They are far less excellent at letting applications ask complex questions about the current state (queries) and then prove the answer is correct to a light client.</p><p>For that we have database and file systems like GroveDB.</p><p>My first contact with this tech was while researching Dash&#8217;s Orchard implementation for Zcash-like shielded transaction on Dash Evo. There is a full article about that:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7f7966f7-5d3d-4c71-988f-481f99fb4ca0&quot;,&quot;caption&quot;:&quot;Privacy has never been more important as in this era of pervasive digital surveillance and escalating data breaches.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Dash Orchard: Zcash Privacy, Rebuilt for Speed and Scale on Evolution&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B | thecoding&quot;,&quot;bio&quot;:&quot;Writing about crypto, security, blockchain, tech, privacy, open-source, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41354f9-10c4-451d-b3d2-d355b5653e1e_1159x1159.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-24T13:44:59.212Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!PxL4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/dash-orchard-zcash-privacy-rebuilt&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:207162121,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>In the next few minutes you should be able to leave with a clear picture of what GroveDB is, the problem it solves, why hierarchical design matters for complex queries, how it is already used in production, and what it offers for developers who need queryable, provable blockchain state.</p><div class="callout-block" data-callout="true"><p><em>This article is sponsored by DashPay. Their support made it possible for me to spend the time researching, understanding, writing, and editing this piece. The content remains fully authentic and didn&#8217;t suffer any direct influence from the team, who respected its independent creation.</em></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.dev&quot;,&quot;text&quot;:&quot;LEARN HOW TO SPONSOR&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thecoding.dev"><span>LEARN HOW TO SPONSOR</span></a></p></div><div><hr></div><h2>Databases, RocksDB, and the Blockchain-as-Database Reality</h2><p>Databases exist to organize, store, retrieve and keep large amounts of data consistent while shielding applications from physical details of disks and concurrency.</p><p>Early systems forced programmers to chase pointers. Later, the relational model gave devs declarative queries and logical independence. Under internet-scale write pressure, the industry moved toward log-structured merge trees.</p><p>Blockchains are not exempt from that.</p><p>Blockchains are frequently described as &#8220;distributed databases&#8221; or &#8220;immutable ledgers,&#8221; but this is a partial narrative. These decentralized systems still need better ways to make complex queries and many of them use battle-proven databases for off-chain queries like RocksDB.</p><p>The latter is an embeddable key-value store forked from LevelDB and became the practical choice for many blockchain nodes to address this weakness. RocksDB can turn continuous, random-looking state updates into sequential writes, offers strong durability via a write-ahead log, and runs inside the node process itself in an efficient way.</p><p>Bitcoin Core&#8217;s chainstate, NEAR&#8217;s trie, and many other clients rely on LevelDB or RocksDB for exactly these reasons.</p><p>The truth is that the ledger is append-only and globally agreed. The current state (balances, documents, nullifiers) must still be stored, indexed, and served efficiently on every full node.</p><p>Flat key-value storage (as in blockchains) solves the durability and write-throughput problems. It does not, however, give us secondary indexes that stay efficient and produce compact cryptographic proofs. For that we have tools like GroveDB.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>What GroveDB is</h2><p>GroveDB is a hierarchical authenticated data structure sitting on top of RocksDB. Literally a &#8220;grove&#8221; of nested Merkle AVL trees, if you want to go technical.</p><div class="pullquote"><p><strong>&#8220;The first database to support cryptographic proofs for complex queries,&#8221;</strong><br>according to the hero in <a href="https://www.grovedb.org/">grovedb.org</a>.</p></div><p>Each tree is a Merk tree: a self-balancing Merkle AVL tree optimized for batch writes and fast range proofs. Trees can contain other trees, so the whole database forms a deep hierarchy who single root hash authenticates everything beneath it. Beautiful, right?</p><p>The basic building blocks are called elements:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">// Simplified view of the element types (from the GroveDB source)
pub enum Element {
    Item(Vec&lt;u8&gt;, Option&lt;ElementFlags&gt;),          // ordinary data
    Reference(ReferencePathType, ...),            // cross-tree link
    Tree(Option&lt;Vec&lt;u8&gt;&gt;, Option&lt;ElementFlags&gt;),  // a nested Merk tree
    SumItem(...), SumTree(...),                   // automatic aggregates
    CountTree(...), CountSumTree(...),            // counting variants
    // ...
}</code></pre></div><p>A developer works with <em>path queries</em>. Instead of scanning an entire flat map, you name a path through the hierarchy and optionally add limits, offsets or conditional sub-queries.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">use grovedb::{GroveDb, Element};
use grovedb_version::version::GroveVersion;

let db = GroveDb::open("./my_db")?;
let v = GroveVersion::latest();

// Create trees
db.insert(&amp;[], b"users", Element::new_tree(None), None, None, v)?;
db.insert(&amp;[b"users"], b"alice", Element::new_tree(None), None, None, v)?;

// Insert data
db.insert(&amp;[b"users", b"alice"], b"age", Element::new_item(b"30"), None, None, v)?;</code></pre></div><p>Because every secondary index is itself a pre-computed subtree, a query on any indexed field stays <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">O(log n)</span></mark> and can return a compact multi-layer proof.</p><p><strong>I&#8217;ll explain!</strong></p><p>Think of a traditional Merkle tree as a single filing cabinet whose drawers are locked with one master seal. GroveDB is an entire building full of filing cabinets. Each cabinet has its own seal, and the seals of the lower cabinets are recorded inside the higher ones.</p><p>Open any drawer, prove what is (or is not) inside it, and still verify the entire building with a single, universal root seal.</p><p>The hierarchy is the key difference from both a plain Merkle tree and an Ethereum-style Merkle Patricia Trie. Flat structures efficiently prove primary-key lookups, while secondary (or range queries) force expensive scans.</p><p><em>&#8220;GroveDB&#8217;s nested design turns secondary indexes into first-class, already-authenticated citizens,&#8221;</em> as my AI agent summarized it for me.</p><p>The &#8220;Motivation&#8221; section in GroveDB&#8217;s documentation also provide a clear explanation on that. In this section, they explain previous database management systems have notable trade-offs while dealing with secondary indices.</p><blockquote><p>Consider an authenticated data structure, like a Merkle tree built on a database of restaurants for example. Each restaurant has certain attributes, such as price and type:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">struct Restaurant{
ID uint32;
name: String;
type: String;
isVegan: bool;
};</code></pre></div></blockquote><p>Four restaurants would be easily committed (and queriable) to a Merkle tree under IDs 0, 1, 2, and 3 (an array like <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);"> {Restaurant 1, Restaurant 2, Restaurant 3, Restaurant 4} </span></mark>).</p><blockquote><p>&#8220;Querying by primary key is easy and efficient. However, querying by a secondary index is not efficient at all; it&#8217;s likely that you will have to iterate over the entire structure,&#8221; grovedv.org/documentation.html explains.</p></blockquote><blockquote><p>GroveDB is a classic time-space tradeoff. It enables efficient querying on secondary indices by precomputing and committing them. A subtree of each possible queryable secondary index (up to a cap) is built and committed to our authenticated data structure. A tree of subtrees; a grove. For the same data, part of the analogous GroveDB structure might look like this:</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!SXrj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SXrj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183124,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/212000537?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SXrj!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ef5ffe-59bc-4124-8d42-a605723626db_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The Problem GroveDB Solves for Blockchains</h2><p>Blockchain nodes must do two things at once:</p><ol><li><p>apply new blocks quickly</p></li><li><p>answer application questions while proving the answers are correct</p></li></ol><p>Without secondary-index proofs like the ones enabled by GroveDB, light clients either trust the server or download far more data than they need, which consumes gas and storage.</p><p>In particular, GroveDB excels in six core points:</p><ol><li><p>Secondary-index queries remain fast and produce membership, non-membership and range proofs</p></li><li><p>A single root hash still authenticates the entire structured state</p></li><li><p>Aggregates (sums, counts) are maintained automatically by <strong><mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">SumTree</span></mark></strong> and <strong><mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">CountTree</span></mark></strong> elements.</p></li><li><p>Operations stay deterministic and cost-accountable, so they fit inside block times</p></li><li><p>The same database can hold both mutable and immutable data</p></li><li><p>It is ACID-compliant and reports operation costs in advance &#8212; useful for fee estimation</p></li></ol><p>Easily explained, most authenticated stores can prove <em>&#8220;this exact key holds this value.&#8221;</em> GroveDB can also prove <em>&#8220;these are all the items whose city field equals Phoenix, and nothing else matches,&#8221;</em> without forcing the verifier to re-scan the whole dataset. This is super valuable, especially for complex cryptographic systems like shielded pools.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://x.com/DashPay&quot;,&quot;text&quot;:&quot;FOLLOW DASH ON X&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://x.com/DashPay"><span>FOLLOW DASH ON X</span></a></p><div><hr></div><h2>Empirical Use Case: Dash Orchard</h2><p>We already talked about that in my dedicated article explaining how Dash Evolution (or Dash&#8217;s Platform Chain) implemented Orchard to enable Zcash-like privacy for certain operations.</p><p>This is the clearest production case of GroveDB I know of &#8212; and my first contact to the tool.</p><p>Orchard brings Zcash&#8217;s Halo-2 zero-knowledge proofs onto Evolution. The entire shielded state lives inside GroveDB under a single <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">SumTree</span></mark>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">ShieldedBalances (SumTree root)
&#9492;&#9472;&#9472; "M" (Credit Pool)
    &#9500;&#9472;&#9472; 128 &#8594; Notes          (CommitmentTree)
    &#9500;&#9472;&#9472; 64  &#8594; Nullifiers     (ProvableCountTree)
    &#9500;&#9472;&#9472; 192 &#8594; AnchorsInPool / AnchorsByHeight
    &#9492;&#9472;&#9472; 32  &#8594; TotalBalance   (SumItem)</code></pre></div><p>Because the notes, nullifiers and running totals are themselves Merk trees (or specialized count/sum variants), the network can maintain cryptographic commitments, generate compact proofs and still <strong>atomically</strong> perform the six new state transitions we talked about there: <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">Shield</span></mark>, <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">Unshield</span></mark>, <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">ShieldedTransfer</span></mark>, <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">ShieldFromAssetLock</span></mark>, <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">ShieldedWithdrawal</span></mark>, and <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">IdentityCreateFromShieldedPool</span></mark>.</p><p>GroveDB&#8217;s structured, append-only layout is also what makes BLAST fast-sync possible: a fresh wallet can reconstruct the necessary note set in roughly twenty-one seconds instead of hours.</p><p>It excites me to see that the same hierarchy that stores ordinary documents and identities also host a full shielded pool without sacrificing either privacy or light-client verifiability. True decentralization ethos through clever optimization and accessibility.</p><h3>What GroveDB + Evolution Let You Do That Others Can&#8217;t</h3><p>Taken together, GroveDB and the Evolution platform give developers a practical combination that many other systems either cannot offer or can only approximate with some trade-offs.</p><p>Basically, you can store richly structured (documents, identities, data contracts) with secondary indexes and still hand a light client a compact cryptographic proof that the result is correct. All that without forcing the client to run a full node or trust an external indexer. Groundbreaking!</p><p>Other platforms typically push complex queries to off-chain services, accept larger proofs, or require heavier client-side scanning.</p><p>With GroveDB, we can know keep both ordinary application data <strong>AND</strong> advanced cryptographic structures (like Orchard shielded pool) under the same hierarchical root, with automatic aggregates and atomic cross-tree updates that <strong>stay deterministic</strong> inside block times. This should not be overlooked.</p><p>Achieving the same combination elsewhere usually means layering multiple specialized stores, accepting slower sync, or sacrificing either privacy, query flexibility, or light-client security.</p><h3>How GroveDB Helps Developers, Infra, and Users</h3><p><strong>For developers:</strong> path queries, batch applies, prove/verify helpers, and automatic index maintenance. Cost estimation is built in, Rust and Node.js bindings exist, and the library works with any RocksDB-backed system. Infrastructure operators gain deterministic roots and crash-safe transactions that stay inside block constraints. End users and light clients receive answers that carry the same security guarantees as a full node.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">// Generate and verify proofs
let path_query = PathQuery::new_unsized(vec![b"users".to_vec()], Query::new_range_full());
let proof = db.prove_query(&amp;path_query, None, None, v)?;
let (root_hash, results) = GroveDb::verify_query(&amp;proof, &amp;path_query, v)?;</code></pre></div><p><strong>Inside Dash</strong> the same grove already organizes identities, data contracts, documents and secondary indexes.</p><p><strong>Outside Dash</strong> the pattern is reusable wherever hierarchical data must be both queryable and cryptographically verifiable: decentralized identity systems with attribute indexes, supply-chain provenance that needs secondary proofs, private-plus-public hybrid ledgers, or any application that currently leans on external indexers and would prefer on-chain proofs instead.</p><p>Other blockchains should definitely give a better look into what Dash developers have built here and consider implementing GroveDB into their own nodes for higher performance.</p><p>It is funny, though, because low-level protocol and infrastructure are already often overlooked by many people in crypto. Databases like GroveDB sit underneath that and get even less attention from community and investors.</p><p>Just imagine a core dev having to justify this change for decision makers and stakeholders. &#129394;</p><p>Nevertheless, these things still fascinate me a lot and I believe we should always look for improvements even in the lowest layers because these layers are what set strong (or weak) foundations for everything that goes on top of them.</p><p>The Orchard integration shows the design is already production-ready for sophisticated cryptographic structures and, as noted in my previous article, already brings practical benefits for everyone with increased performance and efficiency. The secondary-index proofs show it is fully ready for everyday application queries.</p><p>If you are building on a platform that needs rich, trust-minimized state, the GroveDB documentation, tutorials and the open repository are a &#8220;must check.&#8221; The gap between &#8220;we have a ledger&#8221; in blockchain and &#8220;we have an efficiently queryable, provable application layer&#8221; is smaller than it used to be.</p><div><hr></div><h2>Quickstart With GroveDB Tutorials</h2><p>You can find GroveDB Tutorials to quickstart your database in the official repository on Github. For that, first clone the repo and navigate to the <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);"> tutorials/ </span></mark> directory.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">git clone https://github.com/dashpay/grovedb.git
cd grovedb/tutorials
cargo build</code></pre></div><p>After running <mark data-color="#ead1dc" style="background-color: rgb(234, 209, 220); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);">cargo build</span></mark>, you can run a tutorial:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">cargo run --bin &lt;tutorial name&gt;    ## open, insert, delete, query-simple, query-complex, proofs</code></pre></div><ul><li><p><strong>open</strong> - Covers how to open a GroveDB instance and perform basic operations.</p></li><li><p><strong>insert</strong> - Explains how to insert data into GroveDB, including inserting items and subtrees.</p></li><li><p><strong>delete</strong> - Demonstrates how to delete items and subtrees from GroveDB.</p></li><li><p><strong>query-simple</strong> - Introduces simple querying capabilities in GroveDB, including retrieving a set of items.</p></li><li><p><strong>query-complex</strong> - Covers more advanced querying in GroveDB, including conditional subqueries and sized queries.</p></li><li><p><strong>proofs</strong> - Demonstrates how to generate an inclusion proof for a simple query.</p></li></ul><p>Or use the minimal API directly:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">let db = GroveDb::open("./my_db")?;
let v = GroveVersion::latest();
db.insert(&amp;[], b"users", Element::new_tree(None), None, None, v)?;</code></pre></div><div><hr></div><p style="text-align: center;">Drop your thoughts or questions in the comments.</p><p style="text-align: center;">I&#8217;ll answer everything I can, or point you to the right person.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/a-look-at-grovedb-making-blockchains/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/a-look-at-grovedb-making-blockchains/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><strong>Thanks for reading &#12300;thecoding&#12301;!</strong></p><p style="text-align: center;"><span>Follow me on X at </span><strong><a href="https://x.com/vinibarbosabr">vinibarbosabr</a></strong><span> and subscribe for free to [en] </span><a href="/__u/thecoding.substack.com/">thecoding.substack.com</a><span> or [pt-br] </span><a href="/__u/codigoaberto.substack.com/">codigoaberto.substack.com</a><span> for more pieces like this.</span></p><p style="text-align: center;">Check <strong><a href="https://thecoding.dev">thecoding.dev</a></strong> to start working with me on technical content, docs engineering, devrel partnerships, and more.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[Meet 0xramp.app: An easy crypto-fiat ramp powered by P2P.ME and NEAR Intents]]></title><description><![CDATA[0xramp lets you easily buy and sell crypto using local peer-to-peer payment rails in a non-custodial way, leveraging the P2P.ME fiat-USDC marketplace and the NEAR Intents cross-chain protocol]]></description><link>https://thecoding.substack.com/p/meet-0xrampapp-an-easy-crypto-fiat</link><guid isPermaLink="false">https://thecoding.substack.com/p/meet-0xrampapp-an-easy-crypto-fiat</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 14 Aug 2026 14:23:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!frjG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!frjG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!frjG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1322125,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/211179980?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!frjG!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa0b6a9e-da71-4698-a654-a6c9c5a07da8_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Today I&#8217;m very excited to officially announce a project I&#8217;ve been building with Michael (@michael2xl), Zcash Brazil Lead, ZK researcher and contributor: <strong><a href="https://0xramp.app">0xramp.app</a></strong>.</p><p>0xramp (zero-x-ramp) is an easy and non-custodial crypto on-ramp and off-ramp that values your privacy, security, and user experience while allowing buying and selling most of the top cryptocurrencies with fiat curre&#8212;-ncies like BRL (Brazil), INR (India), ARS (Argentina), VEN (Venezuela), IDR (Indonesia). More fiat corridors and countries are planned for the future.</p><p>This fiat access is only possible thanks to the P2P.ME fiat-USDC marketplace that connects merchants from each of these countries with our users via onchain orders (currently running on Base), all managed by the <a href="https://github.com/p2pdotme/p2pdotme-sdk">p2pdotme-SDK</a>.</p><p>Users can login via an EVM wallet (<a href="https://github.com/rabbyHub/rabby">Rabby</a> and <a href="https://github.com/phantom">Phantom</a>) to sign the Base transactions for the orders (this will require ETH for gas); or a smart account login powered by <a href="https://github.com/thirdweb-dev">thirdweb</a> that has its gas subsidized (effectively gas-free).</p><p>New accounts start with a <strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">SELL</span></strong> limit of <strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">$300</span></strong> and a <strong><span data-color="#93c47d" style="color: rgb(147, 196, 125);">BUY</span></strong> limit of <strong><span data-color="#93c47d" style="color: rgb(147, 196, 125);">$0</span></strong>. Making transactions may organically increase this limit that can also be boosted by logging in with the same smart account on <a href="https://app.p2p.me/limits">app.p2p.me</a> and completing some tasks there.</p><p>Thanks to the NEAR Intents implementation via the <a href="https://github.com/defuse-protocol/one-click-sdk-typescript">1Click API</a>, users can easily interact with the app using their favorite cryptocurrencies (as long as it&#8217;s supported by the implementation &#8212; <strong>you can request support for cryptocurrencies that are not listed yet</strong>) and do <strong>not</strong> have to worry with swapping them to the Base-USDC, that is the native currency on p2pdotme&#8217;s marketplace.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://0xramp.app&quot;,&quot;text&quot;:&quot;Access 0xramp.app&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://0xramp.app"><span>Access 0xramp.app</span></a></p><div><hr></div><h2>Join the Open Beta</h2><p>In this first moment, the 0xramp.app is still in <strong>open beta</strong>, meaning we are conducting <strong>public tests</strong> and looking for constructive feedback and suggestions. The app has already been tested relentlessly in the past few weeks and everything should be running well, but we strongly recommending doing small operations only at first.</p><p>We are excited to invite all of you who have been following us and waiting for this moment to be part of it.</p><p><strong>1. Access <span>0xramp.app</span> and navigate through it</strong></p><p>Take notes of your first impressions:</p><p>&#8594; what works well?</p><p>&#8594; what could be better?</p><p>&#8594; is it clear what needs to be done?</p><p><strong>2. Follow our account on X (<a href="https://x.com/0xramplabs">@0xramplabs</a>) and join our Telegram group <a href="https://t.me/zeroxramp"><span>t.me/zeroxramp</span></a></strong></p><p>Share your feedback in the comments or in the group.</p><p>Be deadly honest about everything!</p><p>We are really looking for constructive feedback and suggestions that help us improve and offer a better ramp.</p><p><strong>3. Share with your friends and invite others to join</strong></p><p>Don&#8217;t keep it to yourself... Spread the news!</p><p>Share the app and the Telegram group with your friends.</p><p>The more people helping us stress test it, the better it will become for you to easily on-ramp and off-ramp your crypto!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Quai Network: Entropy, Energy Cash, and Scalability]]></title><description><![CDATA[A technical look at Quai Network&#8217;s Proof-of-Entropy-Minima consensus, hierarchical sharding, SOAP merged-mining, and the dual-token design of QUAI + energy-pegged QI with its cash-like privacy model.]]></description><link>https://thecoding.substack.com/p/quai-network-entropy-energy-cash</link><guid isPermaLink="false">https://thecoding.substack.com/p/quai-network-entropy-energy-cash</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 07 Aug 2026 11:27:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KuA0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KuA0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 424w, /__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 848w, /__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KuA0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1675423,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/210118280?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 424w, /__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 848w, /__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!KuA0!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F593d8886-2afc-4a44-84cd-98c42475f299_1250x833.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A technical look at Quai Network&#8217;s Proof-of-Entropy-Minima consensus, hierarchical sharding, SOAP merged-mining, and the dual-token design of QUAI + energy-pegged QI with its cash-like privacy model.</figcaption></figure></div><p>My technical curiosity on Quai has been sitting in the back of my head for a while. Every time Matt or Alan appeared on X posts &amp; spaces the itch came back, but something else always took priority. I finally decided to stop putting it aside.</p><p>Quai Network seems to me as one of the more ambitious attempts to keep Proof-of-Work relevant at scale. For all these months of delaying this research, one thing I&#8217;ve always been sure: the tech stack is super intriguing and it&#8217;s definitely an interesting project worth studying.</p><p>In this piece we will look carefully at the architecture, the consensus innovations, the two-token system (QUAI + QI), the privacy proposal of QI, and a brief look at the tokenomics &#8212; it may deserve its own economic-focused article later, though.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>Introduction</h2><p>Quai is a hierarchical, sharded Proof-of-Work network backed by a dual-token system. Its consensus is called Proof-of-Entropy-Minima (PoEM).</p><p>Instead of simply racing for the highest difficulty block, miners compete on the total entropy removed from the system.</p><p>It&#8217;s a pretty smart design, if you ask me. This gives continuous, measurable finality rather than the binary &#8220;longest chain&#8221; design of classic Nakamoto consensus &#8212; thinking about Bitcoin and similar, here.</p><p>The execution layer is sharded. If you follow me long enough, you know I&#8217;m a huge enthusiast of sharding, having written and contributed to NEAR, MultiversX, and Radix, for example.</p><p>Quai uses a Prime &#8594; Region &#8594; Zone hierarchy. In theory, documentation claims this structure can scale to 50,000+ TPS once enough zones are active. This is purely theoretical, though, and I&#8217;m highly skeptical of purely theoretical claims. I would need to see some real tests backing these numbers before I could endorse them.</p><p>Public tests before mainnet reached roughly 4,700&#8211;7,000 TPS in a nine-shard topology, which is already impressive for a PoW chain. These are the numbers I&#8217;m looking to and am also excited about.</p><p>As of August 2026 only the Cyprus-1 zone is live on mainnet; additional shards are expected to activate automatically according to demand, when block gas usage and uncle rates cross certain thresholds.</p><p>Transactions are cheap and confirmation is fast because of short block times and the entropy-based ordering. The network also supports multi-algorithm mining (KawPoW, SHA-256, Scrypt) through a mechanism called workshares and a protocol-level subsidy system named SOAP (Subsidized Open-market Acquisition Protocol).</p><p>On top of this infrastructure sits a deliberate dual-token design:</p><ul><li><p>QUAI &#8212; account-based, EVM-compatible, intended as a programmable store of value.</p></li><li><p>QI &#8212; UTXO-based, fixed-denomination, energy-linked medium of exchange with cash-like privacy features.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_waY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_waY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132429,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/210118280?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_waY!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda56e605-eb54-4cab-ad7f-39807e5ee24d_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Miners choose which token they want as reward on a per-block basis. This is the foundation of Quai&#8217;s monetary experiment, which I also find interesting while holding some reservations about.</p><p>We will dive into all that now!</p><div class="callout-block" data-callout="true"><p><em>This article is sponsored by Dominant Strategies (Quai core team). Their support made it possible for me to spend the time researching, understanding, writing, and editing this piece. The content remains fully authentic and didn&#8217;t suffer any direct influence from the team, who respected its independent creation.</em></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://x.com/quainetwork&quot;,&quot;text&quot;:&quot;FOLLOW QUAI NETWORK ON X&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://x.com/quainetwork"><span>FOLLOW QUAI NETWORK ON X</span></a></p><div><hr></div><h2>Quai and QI Easily Explained</h2><p>Easily put, QUAI is positioned as the &#8220;digital gold + smart-contract fuel.&#8221; It lives on an account model like Ethereum, on top of the Quai Network. You can write contracts, deploy DeFi, and it aims to become a scarce asset as issuance slows down backed by strong maths.</p><p>QI is closer to digital cash. It lives on a UTXO ledger (like Bitcoin) but with strict rules that enforce more privacy and more fungibility by default (more than BTC, at least).</p><p>Its value is designed to track the real energy cost of producing it. There is no pre-mine and no fiat collateral (like dollar-pegged stablecoins). Every new QI enters circulation only through mining or conversion from QUAI.</p><p>Because the two tokens serve different roles, miners and users can express different preferences. Someone who wants programmable money and long-term scarcity can hold QUAI. Someone who wants everyday payments with better privacy can prefer QI. This is the design.</p><p>Conversions between the two exist on-chain (with a current two-week lock) so the system can rebalance.</p><p>On the tech side, the infrastructure operates similar to Bitcoin. Miners point their computers to the network and generate proof of computational work (hashrate).</p><p>However, instead of basing its consensus on a minimum difficulty threshold alone (as Bitcoin does), it requires precise entropy scores. The <a href="https://docs.qu.ai/learn/advanced-introduction/poem/fork-choice/intrinsic-block-weight#the-problem-with-good-enough">official documentation example</a> is perfect to easily understand this difference:</p><blockquote><p>Traditional Proof-of-Work asks a simple question: &#8220;Does this block meet the minimum difficulty requirement?&#8221; If yes, the block is considered valid. If no, it&#8217;s rejected.<strong>The Issue</strong>: This ignores the actual work done. Imagine two students taking a test:</p><ul><li><p>Student A scores 85%</p></li><li><p>Student B scores 95%</p></li><li><p>Both pass the 80% requirement, but Student B clearly did more work</p></li></ul><p>Traditional PoW treats both blocks as &#8220;equally valid&#8221; once they pass the threshold. PoEM recognizes that one block always represents more work than another.</p><p><strong>Intrinsic block weight</strong> is like a &#8220;work certificate&#8221; - it measures exactly how much computational work went into creating a specific block.Think of it as the difference between:</p><ul><li><p><strong>Pass/Fail grading</strong> (traditional PoW): &#8220;Did you meet the minimum?&#8221;</p></li><li><p><strong>Precise scoring</strong> (PoEM): &#8220;Exactly how well did you do?&#8221;</p></li></ul><p>This precision allows PoEM to make instant, objective decisions about which block represents the most work and should be accepted by the network.</p></blockquote><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.qu.ai/&quot;,&quot;text&quot;:&quot;READ MORE ABOUT QUAI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.qu.ai/"><span>READ MORE ABOUT QUAI</span></a></p><div><hr></div><h2>PoEM, SOAP, Merged-Mining and Related Mechanisms</h2><h3>Proof-of-Entropy-Minima</h3><p>Classic Proof-of-Work orders competing chains by the highest cumulative difficulty (the &#8220;heaviest chain&#8221;). Every block that meets the difficulty target is treated as equal. PoEM changes that.</p><p>Instead of adding difficulty thresholds, PoEM measures the intrinsic entropy removed by each block &#8212; how much randomness the hash actually eliminated from the genesis state. The more leading zeros (or more precisely, the higher the intrinsic block weight), the more entropy was removed.</p><pre><code><code>Single-block entropy &#8776; 1 / 2^leading_zeros

Example:
&#8226; 16 leading zeros &#8594; removes 1 in 65,536 possible states
&#8226; 17 leading zeros &#8594; removes 1 in 131,072 possible states
</code></code></pre><p>Total chain entropy is the product of every block&#8217;s entropy (stored in practice as the sum of bits for efficiency). Because multiplication is strictly ordered, two honest nodes that see the same set of blocks will always pick the exact same tip. There is no temporary split that later needs resolution.</p><p>This produces two concrete advantages:</p><ol><li><p>Statistical finality arrives faster: a short sequence of high-entropy blocks quickly becomes astronomically expensive to rewrite, meaning more resistance against forks.</p></li><li><p>All valid work contributes. There is no &#8220;orphan tax&#8221; on near-misses the way classic PoW has. Miners are always contributing and being rewarded according to their workshares.</p></li></ol><h3>Workshares and Proportional Reward Splitting (PRS)</h3><p>Workshares are lower-difficulty proofs of work. They do not create a full Quai block, but they still remove entropy and get included in the next valid block.</p><p>The protocol runs a soft economic target of 8 workshares per block (<strong><span data-color="#ffd966" style="color: rgb(255, 217, 102);">params.ExpectedWorksharesPerBlock = 8</span></strong>). This value sets both the share difficulty and the denominator used for proportional payout. There is also a hard protocol-enforced cap of <strong>32 workshares</strong> that can be included in any single block (raised from 16 at the Singularity fork).</p><p>Because workshares are generated far more frequently than full blocks, they give the protocol a much more accurate real-time sample of who is actually contributing work. Quai uses this sample for Proportional Reward Splitting: the block reward at each height is divided among the block producer and every included workshare, proportional to the work each one proved.</p><p>Solo miners therefore receive direct payouts for their shares without needing a centralized pool &#8212; something most PoW ecosystems have failed to achieve in a decentralized way. At the same time, research on PRS shows that the threshold for profitable selfish mining rises (an attacker needs &gt;38 % hashrate under realistic parameters before the strategy becomes rational).</p><p>In short: workshares turn near-misses into paid, entropy-contributing objects and make reward distribution fairer than any traditional pool approximation.</p><h3>SOAP and Multi-Algorithm Merged Mining</h3><p>SOAP (Subsidized Open-market Acquisition Protocol) inverts the economics of other merge-mining systems we are used to in crypto.</p><p>Miners can point existing SHA-256 (BCH) or Scrypt (LTC/DOGE) hardware at Quai if they want -- and only if the mining pool they are using supports this feature.</p><p>When a parent-chain block is found, 100% of its coinbase is forced to a protocol-controlled address (QADDR). That address sells the parent coins (BCH, LTC, DOGE) on the open market, buys QUAI, and burns every token purchased. The miner is compensated in QUAI through the workshares that were included in the KawPoW block.</p><p>The best part: miners have full autonomy into deciding and adjusting their workshare pointed to each algorithm (and chain). The market sets the pace and drives the incentives.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!A1l5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!A1l5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130617,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/210118280?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!A1l5!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb8c52e3-99fd-4d59-967b-2892b1a3b463_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Nevertheless, <strong>only KawPoW miners produce Quai blocks.</strong></p><p>The other algorithms contribute pure external hashrate and continuous buy-and-burn pressure on QUAI. The net effect is external security budget that might even contribute to the deflationary elements of the token.</p><p>As of early August 2026 the mechanism is live and the cumulative parent-chain revenue routed through SOAP already sits in the millions of dollars, with more than 165 million QUAI permanently burned.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!i5w-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!i5w-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99898,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/210118280?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i5w-!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8168823-4bc9-4d82-8d82-c069213dc7d1_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>QI: The Cypherpunk Energy Cash</h2><p>QI&#8217;s value proposition is straightforward: it is money whose issuance is tied to real energy expenditure and whose privacy model tries to recreate the properties of physical cash.</p><p><strong>Cypherpunk enough?</strong> I think so.</p><p>Let&#8217;s see what privacy properties it has.</p><p>QI uses four structural rules that aim for privacy, rather than zero-knowledge proofs (Zcash) or FMCP++ (Monero):</p><ol><li><p><strong>Enforced non-address reuse</strong> &#8212; every output address in a transaction must be unique.</p></li><li><p><strong>Payment codes (BIP-47 style)</strong> &#8212; a reusable identifier that lets the sender derive a unique one-time address via Diffie-Hellman. The payment code itself never appears on-chain <strong><span data-color="#ffd966" style="color: rgb(255, 217, 102);">(I&#8217;ve tested it!)</span></strong><span data-color="#ffd966" style="color: rgb(255, 217, 102);">.</span></p></li><li><p><strong>Fixed denominations</strong> &#8212; only 16 rounded allowed values (0.001 QI up to 1,000,000 QI). Arbitrary amounts are impossible; every payment looks like a collection of standard &#8220;bills.&#8221;</p></li><li><p><strong>Incentivized cooperative reaggregation</strong> &#8212; consolidating many small UTXOs into larger ones requires interaction with other users and is restricted, increasing mixing.</p></li></ol><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;go&quot;,&quot;nodeId&quot;:&quot;ae5fc99e-635e-4185-a535-ce37a3e1d774&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-go">// TxOut defines a Qi transaction output.
type TxOut struct {
    Denomination uint8     // Fixed denomination index (0&#8211;16)
    Address      []byte
    Lock         *big.Int  // Block height the entry unlocks. 0 or nil = unlocked
}</code></pre></div><p>The result is described by the team as &#8220;transparent but untraceable.&#8221; In a private chat, this design decision was described to me as a focus on &#8220;scalable privacy&#8221;.</p><p>Full nodes see the complete UTXO set, but linking payments to a long-term identity becomes very expensive, especially at scale.</p><p>There are currently no plans to add native shielded or zero-knowledge features to the QI ledger or to the base protocol, primarily because of the latency and state-storage costs that would come with them on a high-throughput sharded PoW chain.</p><p>That said, the EVM-compatible QUAI side can already host existing privacy applications (Railgun-style, TornadoCash-style, or any other ZK circuit deployed as a smart contract). Native QI privacy remains structural by design.</p><h3>Privacy comparison (tech wise)</h3><ul><li><p>Stronger than plain Bitcoin UTXOs.</p></li><li><p>Slightly weaker to Zcash Orchard/Ironwood (Halo 2 proofs) and Monero (FCMP++)</p></li><li><p>Intentionally chosen for scalability over absolute cryptographic privacy, but good enough for most use cases.</p></li><li><p>Focused on increasing its anonymity set through scale (having more users using the privacy feature, which strengthens the overall privacy experience for everyone)</p></li></ul><h3>My concerns on the two-token design</h3><p>Separating the three classic properties of money (medium of exchange, unit of account, store of value) creates real economic challenges.</p><p>First, because liquidity is already hard enough to bootstrap and maintain for single-token systems. This challenge is already seen in many other crypto projects with good tech but low adoption and liquidity. Splitting the design risks splitting liquidity as well, which could slow down adoption.</p><p>Constant mining sell pressure on QUAI, the current two-week lock on conversions, and the need to grow two separate markets all increase the coordination problem. SOAP and the Singularity burn help offset some of the sell pressure, but the dual-token experiment is still young and liquidity remains thin.</p><p>Second, because all three properties are desirable for a monetary system that people can really use at scale and trust, in my opinion. Remove one pillar and the system weakens significantly.</p><p>Matthew Poletiek (<a href="https://x.com/mattman">@mattman</a>), disagree with my second take, offering a clear counter-view in private conversation:</p><blockquote><p>&#8220;Most people with a fundamental understanding of economics wouldn&#8217;t consider the USD a store of value. TradFi has gold and mutual funds for this very reason. So if we agree USD isn&#8217;t a store of value we can understand why it might not be a good idea to force 1 token to be both a store of value, medium of exchange, and unit of account.&#8221;</p></blockquote><p>Alan (<a href="https://x.com/0xalank">@0xalank</a>) made a related point: crypto has never actually produced a true network-native unit of account &#8212; only hypothecated ones.</p><p>Both observations are fair.</p><p>Whether Quai&#8217;s deliberate separation of roles will prove more robust than forcing a single token to do everything remains an open empirical question. The experiment is worth running, as long as all participants are aware of its experimentation nature and stay clear-eyed about liquidity and coordination risks involved.</p><div><hr></div><h2>Closing Thoughts</h2><p>I believe Quai is one of the most technically ambitious PoW projects of the current cycle, with a super interesting tech stack.</p><p>PoEM, workshares, hierarchical sharding, and SOAP form a coherent attempt to keep energy-based security competitive at high throughput, scale, and performance.</p><p>QI&#8217;s cash-like privacy model is a thoughtful, scalable alternative to heavy zero-knowledge or ring signature systems and provides a very satisfactory level of privacy and confidentiality to its users. It&#8217;s a true cypherpunk project in my opinion.</p><p>The open questions are mostly theoretical, economic and operational:</p><ul><li><p>can the dual-token system maintain balanced liquidity, foment adoption, and generate demand?</p></li><li><p>how far the sharding architecture can lead the chain to meet real demand?</p></li><li><p>will the structural privacy of QI prove itself in adversarial environments?</p></li></ul><p>I will be watching closely from now on, while trying to have these questions answered.</p><p>Drop your thoughts or questions in the comments &#8212; I&#8217;ll answer everything I can, or point you to the right person if I don&#8217;t know the answer myself.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/quai-network-entropy-energy-cash/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/quai-network-entropy-energy-cash/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><strong>Thanks for reading &#12300;thecoding&#12301;!</strong></p><p style="text-align: center;">Follow me on X at <strong><a href="https://x.com/vinibarbosabr">vinibarbosabr</a></strong> and subscribe for free to [en] <a href="/__u/thecoding.substack.com/">thecoding.substack.com</a> or [pt-br] <a href="/__u/codigoaberto.substack.com/">codigoaberto.substack.com</a> for more pieces like this.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[ERC-4337 smart accounts: when backing up your private key is not enough]]></title><description><![CDATA[Sometimes, backing up the private key is not enough for immediate access to funds. Many ERC-4337 smart accounts break the usual self-custody mental model. I built erc4337-driver to help with that.]]></description><link>https://thecoding.substack.com/p/erc-4337-smart-accounts-when-backing</link><guid isPermaLink="false">https://thecoding.substack.com/p/erc-4337-smart-accounts-when-backing</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 31 Jul 2026 18:16:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mA4v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mA4v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mA4v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160550,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/209103338?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mA4v!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce36383-605b-473a-a91a-b67dba7fe991_1250x833.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Sometimes, backing up the private key is not enough for immediate access to funds. Many ERC-4337 smart accounts break the usual self-custody mental model. I built erc4337-driver to help with that.</figcaption></figure></div><p>I suddenly hit a wall while trying to access my smart account powered by <strong>ERC-4337</strong> account abstraction. So, I built a tool (<strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">erc4337-driver</span></strong>) to help others facing the same issue I faced there.</p><p><strong>The issue:</strong> The private key I correctly exported and backed up from an app was not returning the same <strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">0x</span></strong> address holding my funds on that app when imported into any of the most popular EVM wallets (Rabby, Phantom, MetaMask).</p><p>This, I discovered, is an intentional behavior. Nevertheless, explicit and intuitive documentation and warnings were lacking in the app &#8212; leading to confusion and even a brief fear of having lost my funds. Proper education, documentation, and tools are very much needed to improve the user experience and self-custody assumptions, which is what this article will address.</p><p>Let&#8217;s talk about that!</p><div><hr></div><p style="text-align: center;"><strong>Subscribe for free to &#12300;thecoding&#12301;</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>How account abstraction breaks old self-custody assumptions</h2><p>In blockchain, we learned that exporting and backing up a private key equals self-custody and immediate, full access to our funds. However, tech is evolving and different wallet implementations sometimes break this mental model.</p><p>Account abstraction via ERC-4337 smart accounts is one of these models where a simple private key export + import may not work the way most OG crypto-native people (without this specific knowledge) would expect. I was a victim of that myself, despite having over six years of experience producing technical content for blockchain.</p><p>The usual self-custody assumption is really intuitive:</p><ol><li><p><strong>User creates a wallet account</strong> by generating a private key and a public key derived from it.</p></li><li><p><strong>User receives and stores funds in this address</strong> (the public key) that can later be spent by signing transactions with the private key.</p></li><li><p><strong>User can export the private key </strong>(or a seed) and back it up to guarantee permanent access to the funds even when the wallet app they were using stops working or clears the login data.</p></li><li><p><strong>All the user needs to do is to import this seed </strong>(or private key) into a wallet that supports the same derivation/recovery path.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Zeda!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Zeda!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163234,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/209103338?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Zeda!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa03869-d7fd-4d8e-a99b-e37499c7d92e_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Easy, right?</p><p>However, it wasn&#8217;t easy enough for most Web2 users. So, blockchain devs started building account abstraction solutions like the ERC-4337 smart accounts to improve the user experience.</p><p>Now, apps like <strong>p2pdotme</strong> can implement solutions like <strong>thirdweb</strong> that allows users to create wallets with abstracted logins via Google, email, phone number, or other passkeys.</p><div class="callout-block" data-callout="true"><p><em>I&#8217;m using p2pdotme and thirdweb as examples, because these were the app and the implementation I was using when stumbled into the issue I&#8217;m describing here.</em></p></div><p><strong>Sounds great, right?</strong> Users can now easily login into their wallets with digital credentials they are already used to, but with a problem: what happens if the user loses access to their Google account, email, phone (this may happen more often than most people realize &#8212; see post below)&#8230;</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/the_smart_ape/status/2055943973714424170&quot;,&quot;full_text&quot;:&quot;&amp;gt; use a google account for 15+ years\n&amp;gt; do everything with it: youtube: google, drive, playstore\n&amp;gt; launch a saas\n&amp;gt; stripe, slack, notion, vercel, ....: sign in with google\n&amp;gt; wake up and see: \&quot;your account has been suspended for ...\&quot;\n&amp;gt; can't open notion &#8594; 3 years of client files&quot;,&quot;username&quot;:&quot;the_smart_ape&quot;,&quot;name&quot;:&quot;The Smart Ape &#128293;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1997469349955727360/xLnz_tJN_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-17T09:30:15.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!GQlv!,w_1028,c_limit,f_auto,q_auto:best,fl_progressive:steep/l_play_button_usfui2,w_88,e_colorize:0/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F__ss-rehost__tw-video-preview-13_2055943924150308864.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/uAv1zvYkuz&quot;}],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;&quot;,&quot;username&quot;:&quot;the_smart_ape&quot;,&quot;name&quot;:&quot;The Smart Ape &#128293;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1997469349955727360/xLnz_tJN_normal.jpg&quot;},&quot;reply_count&quot;:245,&quot;retweet_count&quot;:1042,&quot;like_count&quot;:14950,&quot;impression_count&quot;:2329262,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2055943924150308864/vid/avc1/480x360/-zJrrmAre18OXIuL.mp4?tag=14&quot;,&quot;video_preview_media_key&quot;:&quot;13_2055943924150308864&quot;,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>&#8230;Or if the app (p2pdotme) and/or the wallet provider (thirdweb) stop working or close?</p><p><strong>Not that great anymore, right?</strong> This, however, is not a today&#8217;s issue. Crypto and blockchain emerged and gained popularity exactly as solution to this very problem by introducing self-custody and ownership primitives. <strong>Are we going backwards, then?</strong> Not really (technically speaking), but education (and proper documentation) is needed.</p><p>When presented this issue, many account abstraction enthusiasts will say: &#8220;actually, these are still self-custody wallets. you can still export and backup your private key. see? easy!&#8221;</p><p>They are not wrong, but they are not entirely right neither. The fact is that most of them have probably never really tried to recover their ERC-4337 smart account via the in-app exported private key. ACTUALLY, most of them would have had the same surprise I had a while ago when doing it for the first time: <strong>the address is not the same and no popular wallet app can easily find this addres</strong>s.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!e6oz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!e6oz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:164757,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/209103338?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!e6oz!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b9fb8b1-27b3-42cf-9e98-de3e3e579e64_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p><strong>F*! Did I just lose my funds??!!</strong></p></div><p><strong>No, you did not</strong>. I&#8217;ll explain.</p><h2>How ERC-4337 smart accounts work under the hood</h2><p>In a classic externally owned account (<strong>EOA</strong>), the relationship is simple and direct:</p><ul><li><p>One private key</p></li><li><p>One public address derived from it</p></li><li><p>That address holds the funds</p></li><li><p>Whoever controls the private key controls the funds</p></li></ul><p>When you export the key and import it into another wallet, you get the same address. No surprises.</p><p>ERC-4337 smart accounts (especially the ones created by in-app wallet providers such as thirdweb) work differently. There are <strong>two</strong> addresses involved:</p><ol><li><p><strong>The admin (or &#8220;personal&#8221;) account</strong><br>This is a regular EOA. Its private key is what the app lets you export. This key is the <em>owner</em> of the smart account.</p></li><li><p><strong>The smart account itself</strong><br>This is a smart contract. It is the address the user actually sees in the app and the address that holds the funds, tokens, reputation points, etc.</p></li></ol><p>When you log in with email, Google, or a passkey, the provider creates (or recovers) the admin EOA behind the scenes and uses it to control the smart account. The smart account is usually deployed through a factory contract using a deterministic address (<strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">CREATE2</span></strong>). The salt for that address is typically derived from the admin key (and sometimes some extra data).</p><p><mark data-color="#5ce7ff" style="background-color: rgb(92, 231, 255); color: rgb(0, 0, 0);"><span data-color="#042f2e" style="color: rgb(4, 47, 46);"> thirdweb-dev/contracts/BaseAccountFactory.sol </span></mark></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;csharp&quot;,&quot;nodeId&quot;:&quot;588b82ad-cd54-4455-8d96-c987b1dfe1d3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-csharp">/// @notice Deploys a new Account for admin.
function createAccount(address _admin, bytes calldata _data) external virtual override returns (address) {
    address impl = accountImplementation;
    bytes32 salt = _generateSalt(_admin, _data);
    address account = Clones.predictDeterministicAddress(impl, salt);

    if (account.code.length &gt; 0) {
        return account;
    }

    account = Clones.cloneDeterministic(impl, salt);
    // ... registration ...
    _initializeAccount(account, _admin, _data);

    emit AccountCreated(account, _admin);
    return account;
}

/// @notice Returns the address of an Account that would be deployed with the given admin signer.
function getAddress(address _adminSigner, bytes calldata _data) public view returns (address) {
    bytes32 salt = _generateSalt(_adminSigner, _data);
    return Clones.predictDeterministicAddress(accountImplementation, salt);
}

/// @dev Returns the salt used when deploying an Account.
function _generateSalt(address _admin, bytes memory _data) internal view virtual returns (bytes32) {
    return keccak256(abi.encode(_admin, _data));
}</code></pre></div><p>This is the precise mechanism:</p><ul><li><p>The <strong>admin</strong> (the EOA whose private key you can export) is passed in.</p></li><li><p>The salt is <strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">keccak256(abi.encode(admin, data))</span></strong>.</p></li><li><p>The smart account address is deterministically predicted / deployed via Clones (CREATE2-style).</p></li><li><p>The admin is then set as the owner of that smart account.</p></li></ul><p>When data is empty (<strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">0x</span></strong>), which is the common case for standard thirdweb accounts, the address depends only on the admin key + the factory.</p><p>So the real ownership chain looks like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!2jSs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2jSs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png" width="1250" height="833" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:833,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:162931,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/209103338?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 424w, /__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 848w, /__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2jSs!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F433d9051-853d-455a-9a01-d8f37124ac74_1250x833.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When you export the private key from the app and import it into Rabby, MetaMask, Phantom, or any other standard wallet, those wallets correctly show you the <strong>admin EOA</strong> address. They have no knowledge that this key also controls a completely different smart-account contract. That is why the address is different and why the funds appear to be missing.</p><p>The funds were never lost. You simply recovered the <em>key</em> that owns the smart account, not the smart account interface itself.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;20ed3d87-e250-46af-acdb-79613a1050d7&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">import { inAppWallet } from "thirdweb/wallets";
import { smartWallet } from "thirdweb/wallets";

// 1. User logs in &#8594; this creates/recovers the admin EOA behind the scenes
const adminWallet = inAppWallet();
const personalAccount = await adminWallet.connect({
  client,
  strategy: "google", // or "email", "passkey", etc.
});

// 2. That admin EOA is used to control the smart account
const wallet = smartWallet({
  chain: sepolia,
  sponsorGas: true,
  // factoryAddress can be passed or uses thirdweb&#8217;s default
});

const smartAccount = await wallet.connect({
  client,
  personalAccount, // &#8592; the admin EOA
});
</code></pre></div><p>The <span data-color="#f1c232" style="color: rgb(241, 194, 50);">personalAccount</span> is the admin whose address is fed into the factory&#8217;s <span data-color="#f1c232" style="color: rgb(241, 194, 50);">getAddress</span> / <span data-color="#f1c232" style="color: rgb(241, 194, 50);">createAccount</span> under the hood.</p><p>This design is intentional. It allows gasless transactions, social login, session keys, and other UX improvements. But it breaks the mental model most people carry from years of using normal wallets: &#8220;I exported the private key &#8594; I should see my funds.&#8221;</p><p>In the next section I&#8217;ll show exactly how to reconnect to the smart account using the exported admin key &#8212; and why I ended up building a small open-source tool for it.</p><div><hr></div><h2>Reconnecting with the exported admin key</h2><p>Once you understand the two-address model, the recovery path becomes clearer, but still not super intuitive.</p><p>You exported the private key of the <strong>admin EOA</strong>. That key controls the smart account. To use it you have two main options:</p><h3>Option 1 &#8212; Reconnect through the thirdweb SDK</h3><p>You can take the exported private key and feed it back into thirdweb&#8217;s own stack:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;0012aca3-94e3-4cdd-b21d-9fdffb5facb3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">import { privateKeyToAccount } from "thirdweb/wallets";
import { smartWallet } from "thirdweb/wallets";

const personalAccount = privateKeyToAccount({
  client,
  privateKey: "0x...", // the key you exported
});

const wallet = smartWallet({
  chain: base,
  sponsorGas: true,
  // factoryAddress if you need a specific one
});

const smartAccount = await wallet.connect({
  client,
  personalAccount,
});

// Now smartAccount.address is the real smart account that holds the funds
</code></pre></div><blockquote><p><em>note that the exact import path can vary slightly between thirdweb SDK versions</em></p></blockquote><p>This works. It is the official path. But it still requires:</p><ul><li><p>the thirdweb SDK</p></li><li><p>a valid <span data-color="#f1c232" style="color: rgb(241, 194, 50);">clientId</span></p></li><li><p>knowledge of the correct factory / configuration</p></li></ul><p>Most users who just exported a private key and opened Rabby or MetaMask will never do this. They expect the key itself to be enough.</p><h3>Option 2 &#8212; Drive the smart account directly</h3><p>Because the admin is allowed to call <span data-color="#f1c232" style="color: rgb(241, 194, 50);">execute</span> / <span data-color="#f1c232" style="color: rgb(241, 194, 50);">executeBatch</span> on the account contract (the <span data-color="#f1c232" style="color: rgb(241, 194, 50);">onlyAdminOrEntrypoint</span> path), you don&#8217;t actually need the full thirdweb stack. You only need:</p><ol><li><p>The admin private key (or the key loaded in Rabby)</p></li><li><p>The factory address (or the already-known smart account address)</p></li><li><p>A way to call the account contract</p></li></ol><p>That is the exact wall I kept hitting. There was no small, focused tool that would let me take an exported admin key, open it in a normal wallet, and immediately act as the smart account &#8212; without going back through the original provider&#8217;s SDK.</p><p>So I built one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Jbxi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 424w, /__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 848w, /__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Jbxi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png" width="1079" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1079,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154336,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/209103338?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 424w, /__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 848w, /__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Jbxi!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0521221-853c-43fa-ac4a-b65409ee972e_1079x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Introducing erc4337-driver</h2><p><strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">erc4337-driver</span></strong> is a thin TypeScript library (MIT) that does exactly what I needed:</p><ul><li><p>Predict the smart account address from factory + admin</p></li><li><p>Verify the connected key is actually an admin (<span data-color="#f1c232" style="color: rgb(241, 194, 50);">isAdmin</span> &#8212; fail-closed)</p></li><li><p>Attach via any EIP-1193 provider (wallets like Rabby, MetaMask, etc.)</p></li><li><p>Call <span data-color="#f1c232" style="color: rgb(241, 194, 50);">execute</span> / <span data-color="#f1c232" style="color: rgb(241, 194, 50);">executeBatch</span> directly on the smart account</p></li></ul><p>No thirdweb <span data-color="#f1c232" style="color: rgb(241, 194, 50);">clientId</span> required for the core path. No bundler required for the basic admin-driven flow.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;6a6b7fe8-f39e-4229-8be6-e47bc6a5778e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">import { attach } from "erc4337-driver";
import { base } from "viem/chains";

const session = await attach({
  provider: window.ethereum, // Rabby
  factory: "0xfactoryaddress", // factory placeholder
  chain: base,
});

console.log(session.address); // the real smart account
await session.execute({
  to: target,
  data: calldata,
});</code></pre></div><p>The library is intentionally narrow. It is not a full wallet. It is a recovery/driver tool for an already-deployed ERC-4337 account whose admin key you control.</p><p>It&#8217;s also still in the version <strong>v0.1.0</strong> and only tested against the thirdweb SDK and the p2pdotme implementation. I plan to build integrations with other ERC-4337 providers, cover edge cases from different apps, and add more functionalities that could be useful for devs and advanced users.</p><p>You can find it here:</p><p><a href="https://github.com/vinibarbosabr/erc4337-driver">github.com/vinibarbosabr/erc4337-driver</a><br><a href="https://www.npmjs.com/package/erc4337-driver">npmjs.com/package/erc4337-driver</a></p><p><strong>Open for contributions!</strong></p><p>This library is also being implemented in production by a project I&#8217;m building with Michael2xl: <strong><span data-color="#f1c232" style="color: rgb(241, 194, 50);">0xramp</span></strong>. It is an on-ramp &amp; off-ramp app built on top of NEAR Intents and the p2pdotme-sdk. You can follow our work at <a href="https://x.com/0xramplabs">x.com/0xramplabs</a>.</p><p>Ah, I recently made a contribution to <a href="https://github.com/p2pdotme/docs/pull/79">p2pdotme/docs</a> clarifying the self-custody and recovery path. This will help avoiding confusion from other users (like me), as the information (and FAQ) will now be properly documented.</p><h2>Closing thoughts</h2><p>Account abstraction improves onboarding. Social logins and gas sponsorship are real wins that we can&#8217;t ignore. But they also quietly change what &#8220;I backed up my private key&#8221; means.</p><p>The key is still sufficient on-chain. The recovery <em>path</em>, however, is not obvious enough to most users. When documentation and tooling lag behind the architecture, people experience that gap as lost funds &#8212; even when nothing is lost.</p><p>Better education, clearer warnings at export time, proper documentation, and small focused tools help close that gap. Self-custody only works when people can really exercise it.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Dash Orchard: Zcash Privacy, Rebuilt for Speed and Scale on Evolution]]></title><description><![CDATA[Dash integrates Zcash&#8217;s Orchard shielded pool into its Evolution chain, bringing strong zero-knowledge privacy with fast sync, quick finality, and scalable performance powered by GroveDB. Learn how.]]></description><link>https://thecoding.substack.com/p/dash-orchard-zcash-privacy-rebuilt</link><guid isPermaLink="false">https://thecoding.substack.com/p/dash-orchard-zcash-privacy-rebuilt</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 24 Jul 2026 13:44:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PxL4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!PxL4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PxL4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:791272,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/207162121?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!PxL4!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae82df2-5816-4da5-a6f4-7463fce0d4d6_1200x630.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Dash integrates Zcash&#8217;s Orchard shielded pool into its Evolution chain, bringing strong zero-knowledge privacy with fast sync, quick finality, and scalable performance powered by GroveDB. Learn how.</figcaption></figure></div><p>Privacy has never been more important as in this era of pervasive digital surveillance and escalating data breaches.</p><p><strong><span data-color="#fff2cc" style="color: rgb(255, 242, 204);">Financial privacy</span></strong> is a very important extension of that and the usual on-ramp to other privacy tools that need to be paid for and maintained. There is no real privacy without financial privacy and Dash is one fantastic project I like that is building with that in mind.</p><p><strong>This article is a Dash special with some privacy advocacy</strong>. We will understand Dash&#8217;s orchard implementation on Evo, how it can keep high performance thanks to GroveDB and what the heck GroveDB is. As usual, it will have a technical outlook, an easier explanation, and some utility- and security-focused perspectives.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>Introduction: Privacy on Dash</h2><p>According to the IBM Cost of a Data Breach Report 2025 (covering 2026 data), the global average cost of a data breach reached $4.44 million, with the United States hitting an all-time record of $10.22 million per incident. Breaches often involve human elements and take an average of 241 days to identify and contain, <strong>leaving sensitive financial and personal data exposed for extended periods</strong>.</p><p>In the cryptocurrency space, compromised account data frequently appears on dark web markets, with values ranging from $20 to over $2,650 per record, underscoring the real-world risks of traceable transactions on public ledgers, often leading to kidnapping or other threats in the meat world.</p><p>Dash has built privacy solutions since its early days. In 2014, it introduced <strong><span data-color="#fff2cc" style="color: rgb(255, 242, 204);">PrivateSend</span></strong> (a CoinJoin-based mixing feature), making it one of the longest-running blockchains with built-in protocol-level privacy tools. This foundation positioned Dash as a valuable payment network that balanced usability with confidentiality long before many competitors entered the space.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://x.com/Dashpay&quot;,&quot;text&quot;:&quot;FOLLOW DASHPAY ON X&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://x.com/Dashpay"><span>FOLLOW DASHPAY ON X</span></a></p><p>In February 2026, Dash announced plans to integrate <a href="https://github.com/zcash/orchard">Zcash&#8217;s Orchard</a> shielded pool technology into its Evolution chain (also known as <a href="https://github.com/dashpay/platform/">Dash Platform</a>). With that, Dash brings advanced zero-knowledge privacy features to it&#8217;s application-focused layer.</p><div><hr></div><p>I wrote about that when it happened:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f80550f9-e98f-4708-b573-0b349497fa90&quot;,&quot;caption&quot;:&quot;A recent announcement and open-source development revealed that Dash Evolution has forked Zcash&#8217;s Orchard Pool architecture to enable higher privacy for and future Evo-based tokens and applications.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;[Report] Dash Evo to implement Zcash-like Orchard Pool for privacy&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B&quot;,&quot;bio&quot;:&quot;Writing about crypto, security, blockchain, tech, privacy, open-source, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41354f9-10c4-451d-b3d2-d355b5653e1e_1159x1159.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-19T15:31:42.464Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bec99c43-b588-408f-a6c0-15d1112a09bb_1200x630.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/report-dash-evo-to-implement-zcash&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:188426829,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>The implementation stands out for combining Orchard-level cryptographic privacy with <a href="https://github.com/dashpay/grovedb">GroveDB</a>-powered performance advantages and a fully on-chain design that avoids new third-party dependencies. We will dive more into that later.</p><p>Platform 4.0, which includes this Shielded Pool, was released earlier this month (July 2026). This timing makes now an ideal moment to understand how Dash is delivering shielded privacy with high performance and scalability.</p><div class="callout-block" data-callout="true"><p><em>This article is sponsored by DashPay. Their support made it possible for me to spend the time researching, understanding, writing, and editing this piece. The content remains fully authentic and didn&#8217;t suffer any direct influence from the team, who respected its independent creation.</em></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://vinib.carrd.co/&quot;,&quot;text&quot;:&quot;LEARN HOW TO SPONSOR&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://vinib.carrd.co/"><span>LEARN HOW TO SPONSOR</span></a></p></div><div><hr></div><h2>Evolution Chain: The Foundation</h2><p>Dash operates on two interconnected layers. The original Core chain handles the primary payment functionality and has long relied on its masternode network for governance and features like <strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">PrivateSend</span></strong>.</p><p>Evolution, also called Dash Platform, is the newer application-focused layer built on top of it &#8212; and the one that now has its own version of the Zcash-forked Orchard.</p><p>Evolution runs as a fully Proof-of-Stake system and is loosely based on Cosmos-style architecture. This gives some very practical advantages:</p><ul><li><p>blocks are produced roughly every second (<strong>one-second block time</strong>)</p></li><li><p>and <strong>finality is deterministic</strong>, not probabilistic (as in Proof-of-Work chains)</p></li></ul><p>Meaning that once a block is validated, it&#8217;s deterministically final. There is no need to wait for multiple confirmations like happens with Bitcoin, Zcash, Monero, and Litecoin, for example. This speed and certainty matter a lot when you&#8217;re dealing with private transactions that involve zero-knowledge proofs.</p><p>The real secret sauce here is GroveDB, Dash&#8217;s custom structured database layer that powers the entire Evolution chain. I have to say I didn&#8217;t know about GroveDB before and it is a fantastic open-source tool for storing and querying large chunks of data efficiently.</p><p>Instead of a simple key-value store, GroveDB organizes data as a hierarchical forest of Merkle AVL trees. It supports secondary indexes, cryptographic proofs for queries, sum trees for aggregates, and efficient append-only structures.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!9Ll4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!9Ll4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183124,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/207162121?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9Ll4!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43370a74-bb1c-4087-abb2-b4d230d232f4_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><span>This design is what makes advanced privacy features practical at scale. Without a database layer built for structured, provable, and fast access, running something as computationally heavy as an Orchard shielded pool on-chain would likely come with major performance trade-offs.</span></p><p><span>We&#8217;ll take a closer look at how GroveDB works later.</span></p><div><hr></div><h2>Understanding Zcash Orchard</h2><p>First of all, it&#8217;s super important to say I&#8217;m a HUGE FAN of Zcash. It is, easily, one of my favorite crypto projects for many reasons.</p><p>Zcash introduced shielded transactions back in 2026 with its original Sprout shielded pool. It was groudbreaking at the time because it allowed users to send and receive funds without revealing the sender, receiver, or amount on the public blockchain. However, Sprout came with a trusted setup ceremony and relatively heavy computational requirements.</p><p>In 2018, Zcash upgraded to Sapling. This version made shielded transactions much more practical by significantly reducing proof generation time and improving overall efficiency. Sapling removed most of the trusted setup concerns from everyday use and became the standard for private Zcash transactions for several years.</p><p><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">Orchard</span></strong>, activated in 2022, represents the current state of the art. It was built from the gound up using the Halo 2 zero-knowledge proof system. Unlike earlier versions, Orchard requires no trusted setup at all. This removes a long-standing point of criticism and potential attack surface.</p><p>It&#8217;s worth noting that Zcash is now migrating to another shielded pool: Ironwood. The design logic is the same of Orchard and the migration is happening only to verify the total shielded ZEC supply, following an already-fixed bug found in the old code base &#8212; but that&#8217;s a topic for another article.</p><p>At a high level, shielded pools work by using special &#8220;notes&#8221; instead of regular transaction outputs. When you receive funds in a shielded pool, you get a <strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">note</span></strong> that contains the amount and is encrypted to your viewing key. To spend it later, you create a zero-knowledge proof that proves you own a valid unspent note and that the total value is conserved &#8212; without ever revealing which specific note you are spending or who you are sending it to.</p><p>Think of it like putting money inside a sealed envelope. Anyone can verify that the envelope contains exactly the right amount and that it hasn&#8217;t been tampered with, but nobody can see who put the money in or who is allowed to open it. The <strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">nullifier</span></strong> acts like a unique serial number that gets publicly marked as spent once the envelope is used, preventing double-spending without linking it back to the original note. Brilliant!</p><p>Orchard&#8217;s strength include strong privacy guarantees, better performance than previous generations, and support for future scalability improvements through recursive proofs. In practice, millions of ZEC now sit in the Orchard pool (and will soon migrate to Ironwood), showing real adoption.</p><p>That said, Orchard on Zcash still has noticeable limitations. Wallets must scan and trial-decrypt large portions of the blockchain to find incoming notes, which makes initial sync slow. The growing set of commitments and nullifiers also contribute to increasing state size over time, which affects both node operation and long-term scalability (Tachyon is is an ongoing development that aims to address some of these trade-offs).</p><p>This is exactly where Dash&#8217;s approach starts to diverge in interesting ways.</p><div><hr></div><h2>Dash&#8217;s Implementation of Orchard</h2><p><span>Dash didn&#8217;t just copy Zcash&#8217;s Orchard code and released this copy with a different name. They took the mature cryptographic foundation and adapted it specifically for the Evolution chain and GroveDB&#8217;s unique storage model. It&#8217;s a well-thought Dash-specific implementation of what talented cryptographers built for Zcash, but the Dash adjustments are equally important (and very exciting).</span></p><p><span>The core cryptography is the same as Zcash&#8217;s Orchard. It uses the Pallas and Vesta elliptic curves, Sinsemilla for the note commitment tree, RedPallas signatures for spend authorization, Halo 2 for the zero-knowledge proofs, and ChaCha20-Poly1305 for encrypting notes.</span></p><p><span>Key derivation also follows the ZIP-32 standard. This means Dash benefits from years of security review and real-world testing that Zcash&#8217;s Orchard has already undergone.</span></p><p><span>Where Dash diverges is in how it integrates and optimizes the system. Instead of using Zcash&#8217;s full orchard crate directly, they maintain a Dash-parameterized fork inside the </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">grovedb-commitment-tree</span></strong><span> crate (part of the GroveDB repository). This fork lives comfortably inside GroveDB, which is the structured database layer that powers the entire Evolution chain.</span></p><p><span>The shielded pool is stored under a dedicated </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">ShieldedBalances</span></strong><span> root tree in GroveDB. This root is itself a SumTree, which automatically maintains aggregate balance checks across the pool. Inside it sits a single credit pool (keyed as &#8220;M&#8221;) that contains five carefully positioned subtrees. The most important ones are:</span></p><ul><li><p><span>A </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">CommitmentTree</span></strong><span> (using Sinsemilla) that stores note commitments and encrypted payloads in chunks.</span></p></li><li><p><span>A </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">ProvableCountTree</span></strong><span> for nullifiers that prevents double-spends with strong atomic guarantees.</span></p></li><li><p><span>Additional trees for anchors and running totals.</span></p></li></ul><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;777f5523-0055-4240-9ddb-5e34d79f0edd&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">// Shielded pool storage layout in GroveDB (Platform 4.0)

ShieldedBalances (SumTree root)
&#9492;&#9472;&#9472; "M" (Credit Pool)
    &#9500;&#9472;&#9472; 128 &#8594; Notes          (CommitmentTree, chunk_power=11)
    &#9500;&#9472;&#9472; 64  &#8594; Nullifiers     (ProvableCountTree)
    &#9500;&#9472;&#9472; 192 &#8594; AnchorsInPool  (NormalTree)
    &#9500;&#9472;&#9472; 96  &#8594; AnchorsByHeight (NormalTree)
    &#9492;&#9472;&#9472; 32  &#8594; TotalBalance   (SumItem&lt;i64&gt;)</code></pre></div><p><span>This design lets the network efficiently verify balances and spent notes without scanning everything from scratch every time. It leverages a smart mapping architecture and GroveDB&#8217;s efficient querying for that.</span></p><p><span>Dash also made several practical modifications. Memos are much more compact (</span><strong><span>36 bytes</span></strong><span> instead of Zcash&#8217;s 512-byte memos). Addresses use a clean Bech32m format with the </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">dash1z</span></strong><span> prefix for easy identification.</span></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;70aabe45-5fa1-47ae-943b-324ce5afdf94&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">// Dash-specific modifications in the Orchard fork

// 1. Much smaller memos (36 bytes vs Zcash's 512 bytes)
pub struct DashMemo {
    pub kind: u32,           // 4 bytes
    pub payload: [u8; 32],   // 32 bytes
}

// 2. Custom Platform sighash (binds Dash-specific fields)
fn platform_sighash(
    bundle_commitment: &amp;[u8],
    extra_data: &amp;[u8], // identity keys, withdrawal scripts, etc.
) -&gt; [u8; 32] {
    let mut hasher = Sha256::new();
    hasher.update(b"DashPlatformSighash");
    hasher.update(bundle_commitment);
    hasher.update(extra_data);
    hasher.finalize().into()
}

// 3. Address format (no Unified Addresses / F4Jumble)
let address = "dash1z..."; // Bech32m with HRP "dash1z"</code></pre></div><p><span>One very interesting aspect: there&#8217;s no fee bidding mechanism. Fees are flat for a given transaction size, which reduces fingerprinting based on different fee patterns that could be used for profiling and chain analysis. The sighash is also customized to bind Dash-specific fields like identity keys and withdrawal scripts.</span></p><p><span>On the functionality side, Platform 4.0 introduces six new state transition types that make the shielded pool usable in real applications:</span></p><ul><li><p><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">Shield</span></strong><span> and </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">Unshield</span></strong><span> (move credit funds in and out of the pool)</span></p></li><li><p><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">ShieldedTransfer</span></strong><span> (credit private transfers inside the pool)</span></p></li><li><p><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">ShieldFromAssetLock</span></strong><span> and </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">ShieldedWithdrawal</span></strong><span> (bridge with the Core payment chain)</span></p></li><li><p><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">IdentityCreateFromShieldedPool</span></strong><span> &#8212; a particularly interesting one that lets users create new identities funded entirely from shielded credits, using fixed denominations to strengthen the anonymity set.</span></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!oRvf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!oRvf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:195148,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/207162121?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!oRvf!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6216b7b4-54d6-4d70-b939-6d82415e8d60_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Perhaps the biggest practical advantage comes from how GroveDB handles network synchronization. Because the shielded state is stored in well-structured, append-only trees with efficient chunking, wallets can sync from scratch very quickly.</span></p><p><span>Dash calls this fast sync capability BLAST sync, and early testing shows it can complete in around 21 seconds on a fresh wallet &#8212; a massive improvement over traditional shielded implementations that often take hours or days.</span></p><p><span>The team also put serious effort into hardening the implementation before release. Platform 4.0 included extensive testing and stability work (with help from newer AI-assisted tooling) to make sure the shielded pool would be reliable once activated.</span></p><p><span>Finally, the known counterfeiting vulnerability that affected Zcash&#8217;s Orchard has been addressed in Dash&#8217;s version before the pool goes live on mainnet.</span></p><div><hr></div><h2>Alpha Insight!</h2><p>Talking to &#8296;Jo&#235;l Valenzuela&#8297;, he revelead some alpha from internal discussions. These are not confirmed directions yet, but some insights worth considering while studying Dash&#8217;s Orchard implementation.</p><p>He expanded on the plans about the shielded token implementation, which comes with a different flavor than the plans for Zcash Shielded Assets (in research by Zooko&#8217;s <a href="https://github.com/ShieldedLabs">Shielded Labs</a>).</p><p>In Zcash, the idea is to combine all tokens and regular ZEC value transfer in the same pool for maximum anonymity set.</p><p>In Dash, the idea is to have a separate pool for tokens as fr regular DASH credit transfers.</p><blockquote><p><em>&#8220;This splits the anon set, but makes it more efficient. It&#8217;s seen as an acceptable trade-off,&#8221;</em> Jo&#235;l said. <em>&#8220;I&#8217;ve heard plans of allowing token users to create a shielded pool for just their token for maximum cost-effectiveness, but I&#8217;m not sure.&#8221;</em></p></blockquote><p>Personally, I prefer a larger anonymity set, considering Dash already has many performance optimizations. But it&#8217;s a valid approach.</p><div><hr></div><h2>Utility: Practical Use Cases &amp; Benefits</h2><p>Now that the shielded pool is built into Platform 4.0, what can people actually do with it?</p><p>The most immediate use case is private credit transfers on the Evolution chain. Users can convert their DASH (from the core, payment chain) into credits (in the evo, platform chain) and then move funds into the shielded pool.</p><p>Once shielded, they can send these funds privately to others, and pull them back out when needed, all while keeping the amounts and counterparties hidden from the public ledger. Private fee payment is also supported, so even the cost of using the network can stay confidential.</p><p><span>A particularly interesting feature is </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">IdentityCreateFromShieldedPool</span></strong><span>. This allows someone to create a new Dash identity on Evolution using only shielded credits. The system uses fixed denominations for these identity-creation transactions, which helps strengthen the anonymity set: every transaction of the same denomination looks identical from the outside. This opens the door to creating private identities and profiles without linking them to transparent on-chain activity.</span></p><p>In the near future, Dash plans to extend shielded functionality to tokens. While the initial release focuses on credits, the team has already signaled that shielded token transfers are coming next. This would let users move tokenized assets (including RWAs) with the same level of privacy currently available for regular credits.</p><p>Privacy is the utility. Both for users and for builders who will be able to ship more privacy-focused solutions built around Dash and the Evolution ecosystem.</p><div><hr></div><h2><span>Developer &amp; Ecosystem Perspective</span></h2><p><span>For developers, the shielded pool is now part of the core Platform 4.0 state machine, which means it can be used directly through the existing Dash Platform tooling once wallets and SDKs add support.</span></p><p><span>The main places to explore the implementation are:</span></p><ul><li><p><a href="https://github.com/dashpay/platform"><span>dashpay/platform</span></a><span> &#8212; the primary repository containing the state transitions and shielded pool logic.</span></p></li><li><p><a href="https://github.com/dashpay/grovedb"><span>dashpay/grovedb</span></a><span> &#8212; where the actual cryptographic storage lives (specifically the </span><strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">grovedb-commitment-tree</span></strong><span> crate).</span></p></li><li><p><a href="https://github.com/dashpay/orchard"><span>dashpay/orchard</span></a><span> &#8212; Dash&#8217;s parameterized fork of the original Zcash Orchard code.</span></p></li></ul><p>Most developers won&#8217;t need to work directly with the low-level cryptography. Instead, they&#8217;ll interact with the shielded pool through higher-level Platform SDKs (JavaScript, Rust, etc.) and updated wallet libraries. Wallets will need to add support for the new shielded state transitions and the specialized sync endpoints that GroveDB exposes for fast note retrieval.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;b347b7c8-6321-4591-804a-33ad944fd3e3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">// Example: IdentityCreateFromShieldedPool state transition

pub enum StateTransition {
    // ... other transitions

    IdentityCreateFromShieldedPool {
        identity_id: Identifier,
        public_keys: BTreeMap&lt;KeyID, IdentityPublicKey&gt;,
        shielded_proof: OrchardBundle,           // Halo 2 proof + notes
        value: u64,                              // Must be in allowed denominations
    },
}</code></pre></div><p>This opens up interesting possibilities for builders. You can now create applications that use private identities, confidential document handling, or shielded credit flows without having to build privacy from scratch. Once shielded tokens are added in future upgrades, the design space expands further: private token transfers, confidential DeFi primitives, and more.</p><p>If you&#8217;re building on Evolution and care about privacy, this is worth keeping an eye on. A deeper technical follow-up on how to actually integrate shielded functionality into applications could be valuable once more wallets and SDKs have mature support.</p><div><hr></div><h2>My Opinion on Dash&#8217;s Orchard Implementation</h2><p>Dash&#8217;s Orchard implementation stands out because it brings mature zero-knowledge privacy to a chain that prioritizes speed and usability, supported by an OG community of <strong><span data-color="#ffe599" style="color: rgb(255, 229, 153);">users</span></strong>.</p><p>By integrating it directly into GroveDB, Dash avoids the slow sync issues common in other shielded systems while keeping everything fully on-chain and recoverable with a standard seed phrase. Security + efficiency and scalability already built in the system.</p><p>One caveat: I expect this implementation to slowly start differing more and more from Zcash&#8217;s orchard implementation as time goes by and updates are shipped into each code base. It&#8217;s the natural expected path for a fork, which has pros and cons.</p><p><strong>Cons:</strong> Dash&#8217;s implementation doesn&#8217;t have the native dev-capital that built the original solution they&#8217;ve forked and are now using. Zcash-related improvements may not be added in the future, either due to compatibility issues with the moving code base, or due to the lack of specialized contributors, who are focused on Zcash. The same goes for bug fixes and security audits.</p><p><strong>Pros:</strong> At the same time, Dash&#8217;s Orchard can move faster for Dash-specific needs and adjustments. Becoming more and more unique, requiring a different set of skills and source code knowledge, meaning it may see performance and scalability benefits sooner, given Dashpay&#8217;s focus on these attributes.</p><p>Overall, both ecosystems can benefit from this fork.</p><p>Zcash developers can watch what Dash developers are building and treat Evolution as some sort of testnet for experiments around speed, scalability, and shielded tokens, which are being researched by ShieldedLabs, for example. Meanwhile, Dash can already benefit from ZEC&#8217;s mature shielded pool and further open-source development to strengthen the privacy offerings for its users and builders.</p><p>We all win with more privacy tools built for different needs and the tech advancements that come from experimentation and deployment. These are very interesting times we are living in.</p><p><span>Drop your thoughts or questions in the comments &#8212; I&#8217;ll answer everything I can, or point you to the right person if I don&#8217;t know the answer myself.</span></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/dash-orchard-zcash-privacy-rebuilt/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/dash-orchard-zcash-privacy-rebuilt/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><strong><span>Thanks for reading &#12300;thecoding&#12301;!</span></strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><p style="text-align: center;"><span>Follow me on X at </span><strong>vinibarbosabr</strong><span> and subscribe for free to [en] thecoding.substack.com or [pt-br] codigoaberto.substack.com for more pieces like this.</span></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[Storage Cost Attacks on NEAR Easily Explained]]></title><description><![CDATA[Understanding storage cost attacks and storage staking on NEAR. This is part of an educational series covering the NEAR Protocol architecture and a security checklist for NEAR smart contracts.]]></description><link>https://thecoding.substack.com/p/storage-cost-attacks-on-near-explained</link><guid isPermaLink="false">https://thecoding.substack.com/p/storage-cost-attacks-on-near-explained</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Wed, 08 Jul 2026 17:44:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ic9F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Ic9F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Ic9F!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5361895,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/205646314?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!Ic9F!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce0c10d-507d-4746-8f6c-347921dcb892_1200x630.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Understanding storage cost attacks and storage staking on NEAR. This is part of an educational series covering the NEAR Protocol architecture and a security checklist for NEAR smart contracts.</figcaption></figure></div><p>In this article, we will take a deeper look into storage cost attacks and storage staking on NEAR smart contracts. The goal is to understand the concept of <code>storage</code> into the NEAR Protocol, the storage cost attack vector in smart contracts, and security good practices.</p><p>This article is useful for anyone who wants to increase their knowledge on NEAR:</p><ul><li><p>NEAR enthusiasts </p></li><li><p>NEAR users</p></li><li><p>NEAR builders</p></li><li><p>blockchain developers</p></li><li><p>security researchers</p></li><li><p>smart contract auditors</p></li><li><p>bug bounty hunters</p></li></ul><p>However, it&#8217;s important to note that this article aims to provide an easy explanation for a broader public. Developers and security researchers who want to dive deeper into the things discussed here may need to study NEAR docs and other sources as well.</p><div><hr></div><div class="callout-block" data-callout="true"><p style="text-align: center;"><em>Search for similar explanations under this series&#8217; tag:</em> <code>NEAR Explained</code></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>NEAR Storage Staking Easily Explained</h2><p>The blockchain is a shared and distributed database. NEAR is no different than that.</p><p>Computers run the node software (the protocol) and connect with other computers doing the same thing in a network to validate and store data (the state). Data can be financial amounts, usually represented as account balances. This is probably the most popular use for blockchains: cryptocurrencies. But it can be anything else.</p><p>One way or another, it is still data that needs to be stored by these computers&#8212;which consume physical storage space in a disk. Just like happens with our personal desktop computers or mobile smartphones for stored photos, videos, contacts, and messages.</p><p>One of the big questions for blockchain architects to answer is: <strong>who is paying for this data&#8217;s storage cost?</strong></p><p>In our personal computer and mobile, we pay for it via the built-in disk that comes with the device or by buying extra hardware like USB flash drives or microSDs. In cloud or host services, we can pay for it via subscription plans with predefined, limited available storage.</p><div class="pullquote"><p><strong>&#8220;who is paying for this data&#8217;s storage cost?&#8221;</strong></p></div><p>So, if you want to store more data, you buy more disk or upgrade your cloud/hosting plan. Blockchains work similarly, but the way to pay for it may vary.</p><h3>Storage Costs on NEAR vs. Other Blockchains</h3><p>Many legacy blockchains pass on the burden directly to validator nodes and their usual staking rewards (from fees and token emission). Validators are supposed to pay for storage with these rewards received from block production and that&#8217;s it.</p><p>NEAR addresses the problem differently.</p><p>On NEAR, validators are rewarded with token emission&#8212;<em>currently at 2.5% per year over the total circulating supply, providing ~4.5% APY with ~45% of all NEAR in circulation being staked</em>. Gas fees paid in transactions and contract calls are fully burned, creating potential deflationary economics.</p><p>Meanwhile, storage costs are paid via storage staking, also known as state staking.</p><p>For every <strong>100kb of data stored in a smart contract</strong>, <strong>the contract needs to stake 1 NEAR </strong>in storage staking. This is a hard coded protocol setup that can change via governance votes. A change can be proposed and voted, for example, If physical storage costs or NEAR/USD exchange rate change significantly.</p><div class="callout-block" data-callout="true"><p style="text-align: center;">Right now, <strong>1 NEAR = 100kb of storage</strong>, but it can change.</p></div><p>This cost is paid automatically every time a smart contract needs to store more data, staking the required amount directly from the contract&#8217;s account balance. The transaction will fail if there isn&#8217;t enough NEAR balance to cover these costs. On the bright side, the storage stake can be recovered if data is deleted&#8212;which frees space.</p><p>Smart contracts can absorb the storage cost alone or they can pass it on to the users. For that, they need to calculate and request users to add enough NEAR in the transaction to cover for the amount of data they will store.</p><p>Notably, the <strong>near-sdk-rs</strong> has environment variables to help with storage management.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;5159f4bd-c910-4677-a80a-a7fe8b44402e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">env::storage_usage() // &#8592; current storage used by this smart contract in bytes
env::storage_byte_cosy() // &#8592; current storage cost per byte in yoctoNEAR
env::attached_deposit() // &#8592; amount in yoctoNEAR attached to the call
env::account_balance() // &#8592; balance of this smart contract, including attached deposit
env::account_locked_balance() // &#8592; balance of this smart contract that is locked</code></pre></div><p>Nevertheless, smart contract developers still need to be careful while managing its storage, as storage cost attacks are a known attack vector in NEAR.</p><h3>Security Checklist: Storage Cost Attacks on NEAR Smart Contracts</h3><p>The storage cost attack vector is an important item in the security docs for NEAR smart contracts development. It has an <a href="https://docs.near.org/smart-contracts/security/storage">entire section for itself</a>, and there are three brief checklist items related to storage in the <a href="https://docs.near.org/smart-contracts/security/checklist#storage-cost-management-and-data-structures">security checklist</a>.</p><p>In summary, the checklist warns developers to make sure the contract has enough balance to cover the storage cost as it grows organically, but also to make sure it&#8217;s protected against storage drain attacks, which may try to artificially inflate it and cause harm.</p><p><strong>How to verify:</strong></p><ul><li><p>Calculate storage cost for each state change</p></li><li><p>Check contract balance before storing data</p></li><li><p>Require users to attach deposit for their storage</p></li><li><p>Monitor contract balance regularly.</p></li></ul><blockquote><p>As a critical rule: <em>&#8220;If your contract doesn&#8217;t require users to cover their own storage costs, attackers can drain your contract&#8217;s balance by creating many small storage entries.&#8221;</em></p></blockquote><h3>The Attack Vector</h3><p>Basically, if users are not paying for storage rent, there is an economic imbalance that attackers can exploit. A low-cost data spam can quickly become a high-cost storage for the contract owner.</p><p>Imagine an attacker who creates a script that sends thousands of transactions with storable arbitrary data. For each 100kb, 1 NEAR is locked from the contract&#8217;s balance. 100MB of data will cost the contract 1,000 NEAR in staked storage and this can be very easily achieved with a script and NEAR&#8217;s low gas fees.</p><p>The result is an unusable contract, huge amounts of NEAR locked. and a lot of wasted time managing this storage by depositing more stake or deleting data to free space.</p><p><strong>Common attack patterns are:</strong></p><ol><li><p>Small Deposit Attack</p></li><li><p>Data Spam Attack</p></li><li><p>Collection Growth Attack</p></li></ol><h3>The Solution</h3><p>The solution is simple: contracts must require users to cover storage cost.</p><p><strong>Here&#8217;s an example:</strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;1e0a157e-6f37-4efa-a299-73a0f4b3284b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">pub fn add_message(&amp;mut self, message: String) {
    let storage_cost = self.calculate_storage_cost(&amp;message);
    assert!(env::attached_deposit() &gt;= storage_cost, "Insufficient deposit for storage");
    
    // Store the message
    // Storage cost is covered by attached deposit
}</code></pre></div><ul><li><p>Calculate the storage cost for the data being stored</p></li><li><p>Require users to attach at least that amount as deposit</p></li><li><p>The attached deposit covers the storage cost automatically</p></li><li><p>Users who want to store data must pay for it</p></li><li><p>Implement data expiration or explicit deletion of old data to free storage</p></li><li><p>Test with attack scenarios, simulating many small storage operations</p></li></ul><p>This safe-guard should, for example, be added to the <strong>near-examples/guest-book-examples/&#8230;/lib.rs</strong>, which is vulnerable to storage cost attacks as is.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Qh1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Qh1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:207202,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/205646314?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Qh1l!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ef96841-ab14-4bc6-8ef8-ad750f74776d_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p style="text-align: center;">This is it for today! <strong>Let me know if you liked this format and topic</strong>.</p><p style="text-align: center;">Join the discussion in the comments</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/storage-cost-attacks-on-near-explained/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/storage-cost-attacks-on-near-explained/comments"><span>Leave a comment</span></a></p><p style="text-align: center;">Like and share this article with others</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/storage-cost-attacks-on-near-explained?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/storage-cost-attacks-on-near-explained?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><p style="text-align: center;">Follow me on X (<a href="https://x.com/vinibarbosabr">/vinibarbosabr</a>), LinkedIn (<a href="https://www.linkedin.com/in/viniciussb90/">/in/viniciussb90</a>), and subscribe for free for <a href="/__u/thecoding.substack.com/">thecoding.substack</a> (en) or <a href="/__u/codigoaberto.substack.com/">codigoaberto.substack</a> (pt-br).</p><div><hr></div><div class="callout-block" data-callout="true"><p style="text-align: center;">IF YOU WANT TO <strong>SUPPORT MY WORK</strong> (that is free and organic content), CONSIDER <strong>STAKING NEAR WITH MY VALIDATOR</strong></p><p style="text-align: center;">&#8212;<br><strong>thecoding.pool.near</strong></p></div><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash"># command for staking using near-cli-rs
# replace &lt;your-account.near&gt;, &lt;amount&gt;, and &lt;signature&gt; placeholders
near staking delegation &lt;your-account.near&gt; deposit-and-stake '&lt;amount&gt; NEAR' thecoding.pool.near network-config mainnet &lt;signature&gt; send</code></pre></div><div><hr></div><div class="callout-block" data-callout="true"><p style="text-align: center;">I ALSO DO <strong>SPONSORED POSTS</strong> WITH HANDPICKED OPEN-SOURCE PROJECTS (get in touch for more information)</p></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[⚡️ 200ms BLOCKS! NEAR PROTOCOL INTRODUCES 'SPICE': SEPARATION OF CONSENSUS AND EXECUTION]]></title><description><![CDATA[In this video I go through what is SPICE, why the Separation of Consensus and Execution matters for NEAR Protocol users, and give an easier explanation on what happens under the hood]]></description><link>https://thecoding.substack.com/p/200ms-blocks-near-protocol-introduces</link><guid isPermaLink="false">https://thecoding.substack.com/p/200ms-blocks-near-protocol-introduces</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Tue, 23 Jun 2026 18:00:14 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/203283119/7c070d8cd5dfc9771e14033e3f7c5875.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><span>NEAR One has introduced SPICE.<br>A huge milestone with many practical improvements for users and devs</span></p><ul><li><p><span>600ms to 200ms</span></p></li><li><p><span>parallelization</span></p></li><li><p><span>preparation for atomic transactions</span></p></li></ul><p><span>In this video I go through what is SPICE, why the Separation of Consensus and Execution matters for NEAR Protocol users, and give an easier explanation on what happens under the hood.</span></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2><span>WHAT CHANGES</span></h2><p><span>&#9889;&#65039; The first and must obvious improvement is transaction finality.<br><br>10-20x faster than VISA, as fast as physical limitations allow a network to be (lightspeed), from 600ms (today) to 200ms (post-SPICE).<br><br>&#127760; Then, parallelization improves network efficiency and scalability, as many complex transactions can execute in the background at the same time.<br><br>One big execution (tx) doesn&#8217;t delay other transactions.<br><br>&#9883;&#65039; Looking ahead, SPICE sets the ground for upcoming improvements that aim to bring atomic transactions to NEAR, solving one of the current main criticisms and security concerns for NEAR that is async cross-contract calls.<br><br>But this is a topic for another video</span></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/NEARProtocol/status/2069180409414406177&quot;,&quot;full_text&quot;:&quot;SPICE is coming to NEAR.\n\nThis major protocol upgrade is currently in development and will separate consensus from execution, unlocking 200ms blocks.\n\nThis is the speed necessary to power what comes next: agents transacting at machine speed on the open rails of NEAR Intents &#129525; &quot;,&quot;username&quot;:&quot;NEARProtocol&quot;,&quot;name&quot;:&quot;NEAR Protocol&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1970880320103985152/SAMA6Vh0_normal.jpg&quot;,&quot;date&quot;:&quot;2026-06-22T22:07:07.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HLc0ncQXAAAaCv7.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/V2hioYHblR&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:26,&quot;retweet_count&quot;:62,&quot;like_count&quot;:498,&quot;impression_count&quot;:191689,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h2><span>EASILY EXPLAINED</span></h2><p><span>I like to think of SPICE as this:<br>Imagine NEAR is a restaurant&#8217;s kitchen.<br><br>&#129489;&#8205;&#127859; The chef receives orders from the tables and add them to a list that will guide execution from his team, but he still needs to oversee every single dish and process.<br><br>The chef can only receive new orders and add them to the list after his team finishes what they are currently working on.<br><br>This is how NEAR is today (simplifying for how a single shard works).<br><br>What SPICE allows is that the chef can add new orders in the list while different teams are preparing, in parallel, different dishes or parts of previous orders.<br><br>He doesn&#8217;t need to check every single delivery.<br>Just receive the team&#8217;s confirmation that execution is done.<br><br>---<br><br>From a technical perspective, validators can continue producing blocks and agreeing in their ordering (CONSENSUS) even if a complex transaction is still executing in the background (EXECUTION).<br><br>Add that to a sharded architectures (which effectively means many kitchens working together for the same restaurant) and the possibilities are huge.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eghs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 424w, /__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 848w, /__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eghs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png" width="914" height="1074" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1074,&quot;width&quot;:914,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 424w, /__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 848w, /__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eghs!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ee6aae-d0d3-4322-a094-869839be6af2_914x1074.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span><br>---<br><br>Other blockchains already implement some sort of parallelization (solana, sui, aptos...) and monad already has something like SPICE.<br><br>But none of them are sharded.<br><br>Sharding add some real complexities to implementing these optimizations, but when it&#8217;s done right, the benefits are much bigger as well.<br><br>Study NEAR.</span></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[‼️ IF YOU USE WINDOWS FOR CRYPTO WALLETS, BE CAREFULL!]]></title><description><![CDATA[Microsoft Security Intelligence discovered the Crypto Clipper malware, that uses the windows clipboard to steal seed phrases and private keys and swap copied addresses.]]></description><link>https://thecoding.substack.com/p/if-you-use-windows-for-crypto-wallets</link><guid isPermaLink="false">https://thecoding.substack.com/p/if-you-use-windows-for-crypto-wallets</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Thu, 18 Jun 2026 20:31:20 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/202635176/eb78cac87e170afb7238cc0859dacd21.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>&#8252;&#65039; <strong>WINDOWS CRYPTO USERS, BEWARE! (MsftSecIntel)</strong></p><p>There is a malware built to steal your crypto from the clipboard ( <code>CTRL + C</code> or <code>copy</code> functions) in two ways:</p><p>1. replacing the copied address to an address controlled by the threat actor.</p><p>2. sending copied seed phrases and private keys to the threat actor&#8217;s server.</p><p>&#8212;</p><p><strong>## EXPLANATION</strong></p><p>On <strong>(1)</strong>, you can still avoid losing money even if infected by this malware -- just double-check the address you are sending to.</p><p>So, when you try to send transactions to alice by copying her <code>0x123alice...789</code> address, the script will change the data inside the windows clipboard to <code>0x123mallory...789</code> (mallory is the threat actor).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fYMg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fYMg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:350883,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/202635176?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!fYMg!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd01cf048-a514-4bd8-a2b0-3c2563593dc8_1200x630.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Double-checking protects you (and you should immediately disconnect from the internet and start scanning your device for the malware, or take it to someone who can help you getting rid of the threat).</p><p><strong>(2)</strong> is self-explanatory: you copy your seed or private key and the attacker receives it in their machine, so they can later import into a wallet and drain your funds freely.</p><p>Once you copied it, it&#8217;s done. Not much you can do here.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><p><strong>## HOW TO FIND THE MALWARE AND PROTECT YOURSELF</strong></p><p>Microsoft says one way to spot the malware is finding 4-6 random character folders in /Documents/ with .js and other unknown files and extensions</p><p>Be careful out there!</p><p>(and never, NEVER, insert unknown USB drivers and autorun USB files, as this is how you can get infected by this malware in particular).</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[A Look at RHEA Finance: NEAR Leading DeFi Hub]]></title><description><![CDATA[In this video and in my latest article (quoted), I take a close look at RHEA Finance, the dominant DeFi hub on NEAR, accounting for roughly 96.5% of all TVL on the NEAR ecosystem.]]></description><link>https://thecoding.substack.com/p/a-look-at-rhea-finance-near-leading</link><guid isPermaLink="false">https://thecoding.substack.com/p/a-look-at-rhea-finance-near-leading</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Tue, 16 Jun 2026 13:20:07 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/202282090/e809a4614387a7f09e7f6a4dd11e12da.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>In this video and in my latest article (quoted), I take a close look at RHEA Finance, the dominant DeFi hub on NEAR.</p><p>Rhea was formed from the merger of two OG projects: Ref Finance and Burrow and now accounts for roughly 96.5% of all TVL on the NEAR ecosystem.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://app.rhea.finance?code=lVELvbd&quot;,&quot;text&quot;:&quot;TRY RHEA FINANCE NOW!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://app.rhea.finance?code=lVELvbd"><span>TRY RHEA FINANCE NOW!</span></a></p><div><hr></div><p>In the piece and in this video, I break down how the platform works across swaps, lending, and liquid staking (rNEAR).</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;11189d46-8774-4457-80e3-d5c835a93cdb&quot;,&quot;caption&quot;:&quot;The NEAR network has been growing and drawing a lot of attention from the market. Industry leaders have shown genuine interest in the ecosystem thanks to it&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Rhea Finance Q2 2026: NEAR DeFi Hub&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B&quot;,&quot;bio&quot;:&quot;Writing about crypto, blockchain, tech, privacy, open-source, cybersecurity, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5253cea-3de8-4426-88ce-a2fde398573f_1024x1024.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-11T11:53:54.595Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!uwAa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/rhea-finance-q2-2026-near-defi-hub&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:201441558,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>I also go over the tokenomics of RHEA, including the xRHEA and oRHEA system, current stablecoin yields, and the latest numbers as of Q2 2026.</p><p>Despite being sponsored, you will find my authentic and honest take on where things stand (including the temporary closed-source decision) and why I believe Rhea Finance is well positioned to benefit from any renewed momentum in NEAR.</p><p>If you&#8217;re following NEAR or looking at DeFi opportunities in the ecosystem, this article and video gives a clear picture of the current state of its largest player.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Rhea Finance Q2 2026: NEAR DeFi Hub]]></title><description><![CDATA[Rhea FInance is NEAR Protocol's leading DeFi hub and the ecosystem project that may benefit the most from NEAR's growth. A look at the app, products, RHEA token, lending APY and some data in Q2 2026.]]></description><link>https://thecoding.substack.com/p/rhea-finance-q2-2026-near-defi-hub</link><guid isPermaLink="false">https://thecoding.substack.com/p/rhea-finance-q2-2026-near-defi-hub</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Thu, 11 Jun 2026 11:53:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uwAa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!uwAa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uwAa!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5449198,&quot;alt&quot;:&quot;Rhea Finance Q2 2026: NEAR DeFi Huib | Article Cover | Rhea FInance is NEAR Protocol's leading DeFi hub and the ecosystem project that may benefit the most from NEAR's growth. A look at the app, products, RHEA token, lending APY and some data in Q2 2026.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/201441558?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Rhea Finance Q2 2026: NEAR DeFi Huib | Article Cover | Rhea FInance is NEAR Protocol's leading DeFi hub and the ecosystem project that may benefit the most from NEAR's growth. A look at the app, products, RHEA token, lending APY and some data in Q2 2026." title="Rhea Finance Q2 2026: NEAR DeFi Huib | Article Cover | Rhea FInance is NEAR Protocol's leading DeFi hub and the ecosystem project that may benefit the most from NEAR's growth. A look at the app, products, RHEA token, lending APY and some data in Q2 2026." srcset="/__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!uwAa!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff17e3dd5-7df0-40fa-ab9b-cd9d029ddec5_1200x630.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Rhea FInance is NEAR Protocol&#8217;s leading DeFi hub and the ecosystem project that may benefit the most from NEAR&#8217;s growth. A look at the app, products, RHEA token, lending APY and some data in Q2 2026.</figcaption></figure></div><p>The NEAR network has been growing and drawing a lot of attention from the market. Industry leaders have shown genuine interest in the ecosystem thanks to its efficiency, security, privacy, scalability, and technological edge.<br><br>Amid all of this, the NEAR token has been performing exceptionally well, with solid price gains and higher on-chain and off-chain trading volumes. In this context, a good chunk of on-chain transactions are happening on a DeFi protocol that&#8217;s still relatively unknown to anyone outside the community.<br><br>Rhea Finance is the leading decentralized finance platform on the NEAR network. It&#8217;s already fully integrated with NEAR Intents and offers fast cross-chain operations with low fees across more than 35 blockchains in addition to the native network. Built-in perpetuals and Zcash DeFi are also part of its stack.<br><br>In this article, we&#8217;ll check out the current state of the protocol, the RHEA token, and the DeFi opportunities available on the platform.</p><div class="callout-block" data-callout="true"><p>This article is sponsored by Rhea Finance, which made the time invested in researching, understanding, writing, and editing this material possible. The content remains completely authentic and received very little direct influence from the team&#8212;they respected the independent creation.</p><div><hr></div><p>Check out the Carrd below to learn about my services and sponsorship options.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://vinib.carrd.co/&quot;,&quot;text&quot;:&quot;MEET MY SERVICES&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://vinib.carrd.co/"><span>MEET MY SERVICES</span></a></p></div><h2>A Quick (and Honest) Introduction to Rhea Finance</h2><p>Rhea Finance is a name that popped up recently in the NEAR ecosystem (July 2025), but its roots go back further. The app is the result of a merger between <a href="https://github.com/ref-finance">Ref Finance</a> (DEX) and <a href="https://github.com/NearDeFi/burrowland">Burrow</a> (lending), with smart contracts live on mainnet since 2021.<br><br>Today, the platform is a unified cross-chain DeFi hub thanks to its implementation of NEAR Intents.<br><br>Users can swap tokens from the NEAR ecosystem or from over 35+ other blockchains and interact with liquidity pools using the traditional automated market maker (AMM) model you&#8217;d find on DEXes like Uniswap.</p><p>On top of that, there&#8217;s also a system similar to Aave. Users can interact with deposit and loan contracts (lending and borrowing) that automatically pay or charge interest (APY) based on the law of supply and demand&#8212;total borrowed versus total available to borrow.</p><p>Moreover, the hub has recently launched (June 3) Hyperliquid perps built-in in its platform, allowing Rhea users to fund Hyperliquid accounts and open positions with ease.<br><br>The source code for the contracts used by Rhea was open-source until recently (April). The team decided to close it temporarily over security concerns, following AI developments and a wave of attacks against DeFi protocols.<br><br>If you know me, you know <strong>I&#8217;m not a fan of this decision</strong>. I criticized the same move from the CalCom team and even published an article on HackenProof addressing exactly this point.</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e890a917-3424-4a01-9577-bf1561e056d1&quot;,&quot;caption&quot;:&quot;I spent three years learning to hack and in this article I explain what I think is coming and give the roadmap for security research. The article was published as a guest post published on HackenProof&#8217;s blog, exploring my journey as a technical writer diving in security research.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;[HackenProof] Get Ready for this Decade's Biggest Opportunity: Bug Bounty Hunting&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B&quot;,&quot;bio&quot;:&quot;Writing about crypto, blockchain, tech, privacy, open-source, cybersecurity, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5253cea-3de8-4426-88ce-a2fde398573f_1024x1024.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-08T17:49:30.396Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!6UwM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/hackenproof-get-ready-for-this-decades&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:201181786,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>My opinion hasn&#8217;t changed when it comes to Rhea&#8217;s decision either, and I hope to see the smart contracts open-sourced again as soon as possible. That said, the solution RHEA implemented isn&#8217;t one of the worst. In fact, I think they pulled off the code closure in the best way possible, which leaves me pretty optimistic.<br><br>In an <a href="https://x.com/rhea_finance/status/2048913360629137856">article published on April 27</a>, the team explained their intention to return to open-source, along with plans to strengthen the contract layer, grant source code access to trusted institutions, and create proofs that users are actually interacting with secure, audited contracts&#8212;validated by community members.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://x.com/rhea_finance&quot;,&quot;text&quot;:&quot;FOLLOW RHEA ON X!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://x.com/rhea_finance"><span>FOLLOW RHEA ON X!</span></a></p><div><hr></div><p>In short, the contract will be used as input to generate an encrypted hash. Private audits will attach that hash to their reports to confirm the current state. The community can then verify the input using the same cryptography algorithms and get the exact same hash as output&#8212;creating a verification layer that doesn&#8217;t replace open-source but can still be really useful.<br><br>I myself was promised access to the source code for an independent audit and I&#8217;m waiting my turn. I plan to publish something about it when it happens, so follow me on X (@vinibarbosabr) and subscribe to my two free Substack newsletters (thecoding.substack.com and codigoaberto.substack.com) to stay in the loop!</p><h2>How Liquidity Pools, Swaps, and Lending Contracts Work on Rhea Finance?</h2><p>Rhea Finance&#8217;s core primitives&#8212;liquidity pools + swaps for DEX and lending/borrowing&#8212;run via smart contracts. Primarily written in Rust compiled to WebAssembly on NEAR, with key contract references like v2.ref-finance.near.</p><p>It supports permissionless pools, advanced AMM variants, multi-pool routing, over-collateralized lending with dynamic rates, LP tokens as collateral, and a NEAR liquidity staking protocol and derivative token (rNEAR). Cross-chain access uses NEAR Chain Signatures and Intents for native interactions from other chains without wrapping.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h3>Rhea Finance Easily Explained</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;1b7b0db7-f1a0-4510-8fa1-33ee9237dc6e&quot;,&quot;duration&quot;:null}"></div><h4><strong>Liquidity Pools &amp; Swaps (the DEX part)</strong></h4><p>The liquidity pools are a shared digital &#8220;pot&#8221; (smart contract) holding two tokens, say NEAR and USDC, deposited by everyday users and professional market makers called Liquidity Providers (LPs).</p><p>Instead of traditional stock exchange where buyers and sellers must find each other via order books, the pot itself act as the automatic counterparty using math to set prices.</p><ul><li><p>Want to swap NEAR for USDC? The contract calculates the exchange rate based on how much of each token in currently in the pot (literally the rate between their liquidity supply) and executes instantly.</p></li><li><p>LPs earn a small fee on every swap (like a commission for providing the &#8220;market&#8221;). They receive LP tokens representing their share of the pot, which can be staked for extra rewards.</p></li><li><p>Different &#8220;flavors&#8221; of pots exist: normal ones for any tokens, stable ones for similar assets (like USDT/USDC) with less price variation, and advanced &#8220;concentrated&#8221; ones that focus liquidity in popular price ranger for better efficiency.</p></li></ul><p>Anyone can create a new pot for any token pair (the permissionless part). Prices adjust automatically. If lots of people buy one token, it gets more expensive in the pot.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://app.rhea.finance?code=lVELvbd&quot;,&quot;text&quot;:&quot;SWAP NEAR on RHEA!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://app.rhea.finance?code=lVELvbd"><span>SWAP NEAR on RHEA!</span></a></p><div><hr></div><h4>Lending &amp; Borrowing</h4><p>Think of it as a decentralized bank run by code.</p><ul><li><p>The user deposits (supply) tokens into the lending pool and earn interest automatically from the protocol itself (like a savings accounts).</p></li><li><p>Others borrow those tokens but must first lock up more value in collateral than they borrow (e.g., borrow $100 worth of USDC but lock $150+ of other assets, like NEAR). This over-collateralization protects the system against bad debt.</p></li><li><p>If the collateral value drops too much (e.g., NEAR crashes), the position gets automatically, partially liquidated (sold off) by anyone to repay the loan and protect lenders.</p></li><li><p>Borrowers will see their loan amount increase overtime (borrow APY) and they need to repay the updated amount to unlock their collateral. This repayment adds to the pot and is what guarantees lenders&#8217; interest accrual.</p></li></ul><p>Everything is self-custodial, meaning users keep control via their crypto wallets. The cross-chain implementation allows deposits or interactions from Bitcoin, Ethereum, Solana, Zcash, or other major networks using a NEAR account.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://app.rhea.finance?code=lVELvbd&quot;,&quot;text&quot;:&quot;TRY LENDING ON RHEA!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://app.rhea.finance?code=lVELvbd"><span>TRY LENDING ON RHEA!</span></a></p><div><hr></div><h4>Liquid Staking (rNEAR)</h4><p>Staking NEAR natively via the protocol is probably the most secure, self-custodial, and decentralized way to get a 3.5%-4.5% APY over your NEAR holdings but has some trade-offs.</p><p>NEAR is locked and has a 48-72 hours unbounding period and becomes illiquid, meaning you can&#8217;t use it to pay, swap, or supply as collateral. That&#8217;s why liquid staking was invented for and Rhea offers its own liquid staking protocol and derivative token. I&#8217;ll explain.</p><p>Instead of staking their NEAR token to a validator like myself (thecoding.pool.near), holders may opt to stake it in Rhea&#8217;s liquid staking contract. Rhea will them distribute it all to a list of handpicked validators, managing the staking rewards itself.</p><div class="callout-block" data-callout="true"><p>If you want to support my work, you can delegate your staked NEAR to <strong>thecoding.pool.near</strong> using any of the most popular NEAR wallets.</p></div><p>The user receives some sort of an IOU called LST (Liquid Staking Token). Rhea&#8217;s is rNEAR. This can be exchanged for NEAR, wNEAR, or any other ecosystem token at any time, used as collateral on Rhea Finance&#8217;s lending or transferred to other NEAR accounts (e.g., for payments).</p><p>Interestingly, rNEAR has an automated system that makes it increase in value against NEAR, according to the staking rewards the protocol&#8217;s contract is receiving&#8212;proportional to the network&#8217;s staking APY minus protocol fees.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://app.rhea.finance?code=lVELvbd&quot;,&quot;text&quot;:&quot;LIQUID STAKE NEAR ON RHEA!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://app.rhea.finance?code=lVELvbd"><span>LIQUID STAKE NEAR ON RHEA!</span></a></p><div><hr></div><h2>RHEA Tokenomics</h2><p>The RHEA token launched via TGE (Token Generation Event) in July 2025, right alongside the platform. There were seasonal airdrops rewarding REF and BRRR holders (the tokens from Ref and Burrow, respectively) plus active users of the app.<br><br>RHEA has a maximum supply of 1,000,000,000 RHEA (1 billion), with roughly 400 million currently in circulation.<br><br>The project&#8217;s tokenomics revolve around a three-token system: RHEA, xRHEA, and oRHEA.<br><br>RHEA is the exposure token and the project&#8217;s core asset that unlocks the functionality of the other two. It can be staked and used to pay for RHEA fees in some cases. This asset captures protocol growth and revenue generated from trading fees, lending, and treasury activity.<br><br>Every staked RHEA earns the holder a corresponding amount of xRHEA&#8212;like a liquid staking derivative that appreciates in price relative to the base asset over time.<br><br>Holding or depositing xRHEA into lending contracts or liquidity pools also unlocks benefits in the form of higher APY, multipliers, or oRHEA airdrops. It serves as valid collateral to increase borrowing power on the platform.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!FDx9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!FDx9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7178325c-9305-4199-842a-172223b9b1fe_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225269,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/201441558?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!FDx9!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178325c-9305-4199-842a-172223b9b1fe_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">RHEA Tokenomics: Triple token system | Source: Vini B for thecoding.substack</figcaption></figure></div><p>oRHEA is the reputation and points system for Rhea Finance users. It&#8217;s non-transferable (soul-bound) and can be converted into RHEA or xRHEA under certain condidtions. Distribution is seasonal and based on the points generated from using the platform.</p><p>Right now, staking RHEA is yielding around 3.5% APY and depositing xRHEA into lending is yielding around 0.1% APY&#8212;with a total of 124,000 RHEA borrowed from a pool of 75M RHEA deposited.</p><p>Lending USDC and USDT can pay up to 10% interest to lenders with a boosted APY powered by xRHEA. Lending ZEC is paying up to 4% under these conditions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Fgpr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Fgpr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:186188,&quot;alt&quot;:&quot;USDC/USDT -> 8.14% to 9.67% Boost APY \\\\ Zcash ZEC -> 2.79% to 4.18% Boost APY&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/201441558?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="USDC/USDT -> 8.14% to 9.67% Boost APY \\ Zcash ZEC -> 2.79% to 4.18% Boost APY" title="USDC/USDT -> 8.14% to 9.67% Boost APY \\ Zcash ZEC -> 2.79% to 4.18% Boost APY" srcset="/__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fgpr!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf468f24-b82a-44e6-8600-7114ca7d65fc_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Rhea Finance Lending APYs as of June 10, 2026 | Source: Rhea Finance (app.rhea.finance/lending)</figcaption></figure></div><p>1 RHEA is currently costing $0.015 at the time of publication of this article. Some voices on X see RHEA as the best &#8220;beta&#8221; play in the NEAR ecosystem&#8212;one that should ride and amplify the performance of the native NEAR token.<br><br>For example, <a href="https://x.com/onlyzhynx/status/2058298183726530658">zhynx describes</a> the project as a $2.5 million mcap monopoly inside a network with a $3 billion market cap, responsible for ~95% of the entire ecosystem&#8217;s TVL.</p><h2>The DeFi State of Rhea in Q2 2026</h2><p>Data from DefiLlama paints a positive picture for Rhea Finance as the leading DeFi hub in the NEAR ecosystem.<br><br>As of this writing, NEAR has $150.25 million in total value locked (TVL). Out of which,  $145.08 million (96.5%) come from Rhea smart contracts. It&#8217;s a clear dominance and highlights the project&#8217;s importance for the chain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UmWV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UmWV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220710,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/201441558?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!UmWV!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb4e188-821c-4cee-97b1-56e7846b662a_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">NEAR chain TVL and DEX Volume on June 10, 2026 | Source: Defillama (defillama.com/chain/near)</figcaption></figure></div><p>LiNEAR Protocol and Meta Pool Near have the second and third positions respectively, with $59.14M and $52.29M in TVL. Both are NEAR&#8217;s leading liquid staking protocols.</p><p>Notably, they have more than double of Rhea&#8217;s liquid staking TVL ($25.87M), which accrues for only 17.8% of Rhea Finance&#8217;s total TVL and 19% of NEAR LSTs&#8212;at a total of $137.3M staked in these protocols.</p><div class="callout-block" data-callout="true"><p><strong>IMPORTANT!</strong></p><p>Liquid Staking TVL may included double counts from lending and DEX, as the LSTs may be locked in these contracts.</p></div><p>Rhea&#8217;s lending has the highest TVL, with $91.38 million, while Rhea&#8217;s Dex has $27.83 million.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!C1Ml!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!C1Ml!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176731,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/201441558?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!C1Ml!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42897436-8c2e-43c3-88e9-4847ca4cff7a_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">TVL rank on NEAR chain as of June 10, 2026 | Source: Defillama (defillama.com/chain/near)</figcaption></figure></div><p>Overall, the ecosystem&#8217;s total value locked has been growing overtime when measured in NEAR, but faces temporary challenges when measured against the US Dollar. As the massively dominating protocol, RHEA&#8217;s history is similar&#8212;with ups and downs, but growing when measured in the network&#8217;s native token, weighted by NEAR&#8217;s price performance when measured in USD.</p><p>I honestly believe RHEA may benefit a lot from the current momentum, as soon as macro conditions improve. With an increased market interest and demand for NEAR, Rhea is very likely the first ecosystem project to see direct benefits, which may impact its own token&#8217;s performance.</p><p>I&#8217;m cautiously optimistic. &#8220;Cautiously&#8221; because of macroeconomics and the temporary closed source code. Optimistic because NEAR is gathering momentum, Rhea Finance&#8217;s team has been shipping and demonstrating solid work even under adversarial conditions, and because much of the ecosystem&#8217;s DeFi volume will inevitably rotate through the platform.</p><p>Let me know your thoughts in the comments and make sure to try using RHEA! I would also love to know your experience there.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/rhea-finance-q2-2026-near-defi-hub/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/rhea-finance-q2-2026-near-defi-hub/comments"><span>Leave a comment</span></a></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[[HackenProof] Get Ready for this Decade's Biggest Opportunity: Bug Bounty Hunting]]></title><description><![CDATA[I spent three years learning to hack and here's what I think is coming. Article published on HackenProof's blog, exploring my journey as a technical writer going security research.]]></description><link>https://thecoding.substack.com/p/hackenproof-get-ready-for-this-decades</link><guid isPermaLink="false">https://thecoding.substack.com/p/hackenproof-get-ready-for-this-decades</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Mon, 08 Jun 2026 17:49:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6UwM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6UwM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6UwM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg" width="680" height="357" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:357,&quot;width&quot;:680,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55299,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/201181786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!6UwM!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1bf4fdb-2eba-46d0-bd84-6e92c755a714_680x357.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I spent three years learning to hack and in this article I explain what I think is coming and give the roadmap for security research. The article was published as a guest post published on HackenProof&#8217;s blog, exploring my journey as a technical writer diving in security research.</p><p><a href="https://hackenproof.com/blog/how-to-become-a-bug-bounty-hunter">https://hackenproof.com/blog/how-to-become-a-bug-bounty-hunter</a></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hackenproof.com/blog/how-to-become-a-bug-bounty-hunter&quot;,&quot;text&quot;:&quot;READ THE ARTICLE ON HACKENPROOF&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hackenproof.com/blog/how-to-become-a-bug-bounty-hunter"><span>READ THE ARTICLE ON HACKENPROOF</span></a></p><div><hr></div><p>You will find:</p><p>- How AI is changing security research<br>- Why open-source is not dead<br>- How new hunters can start building real skills</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Sui Outage: Gas and Accumulator Underflow Bugs]]></title><description><![CDATA[Github activity on MystenLabs/sui repository hint to the potential cause of today's mainnet outage that brought the network to a halt. Here some speculation on the root cause and fixes being worked on]]></description><link>https://thecoding.substack.com/p/sui-outage-gas-and-accumulator-underflow</link><guid isPermaLink="false">https://thecoding.substack.com/p/sui-outage-gas-and-accumulator-underflow</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Thu, 28 May 2026 20:54:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!voVC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!voVC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!voVC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:335034,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/199656261?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!voVC!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3277eea-9f00-46c5-9aea-a8d4e840e441_1200x630.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Github activity on MystenLabs/sui repository hint to the potential cause of today&#8217;s mainnet outage that brought the network to a halt. Below some speculation on the root cause and fixes the team is working on.</em></figcaption></figure></div><p>Today, Sui Mainnet experienced a significant network stall triggered by what looks like a failure in its settlement process.</p><p>The root cause, seems to center on <strong>gas underflow</strong> combined with <strong>accumulator underflow</strong> during address-balance gas payments.</p><p>As of this writing, the network had been halted for approximately 7 hours based on on-chain data from the last confirmed checkpoint &#8594; <a href="https://suiscan.xyz/mainnet/checkpoint/JADcW9fZqJRf6khgBsagfxSx8xpq6EfbK7FDvySxuy3L">JADcW9fZqJRf6khgBsagfxSx8xpq6EfbK7FDvySxuy3L</a></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/SuiNetwork/status/2060097006610305368&quot;,&quot;full_text&quot;:&quot;Activity on Sui mainnet has resumed after a halt due to a crash bug in the gas charging logic introduced by the 1.72 release. A full incident review will be shared in the coming days.&quot;,&quot;username&quot;:&quot;SuiNetwork&quot;,&quot;name&quot;:&quot;Sui&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2031771773897740289/j21cXusg_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-28T20:32:55.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:32,&quot;retweet_count&quot;:30,&quot;like_count&quot;:139,&quot;impression_count&quot;:4379,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>Validators across the network hit a <strong>fatal assertion</strong>, stopping consensus and checkpoint production while the core team worked on a fix. User funds remain completely safe&#8212;this was an accounting invariant violation, not a loss of assets.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>TL;DR Easily Explained</h2><p>Todays problem was a technical mix-up in how the system handles gas fees and an internal account balance tracker called the accumulator.</p><ul><li><p>Some users paid gas using a newer &#8220;pay from your address balance&#8221; feature.</p></li><li><p>One (or more) of those transactions ran into an error early and tried to cancel.</p></li><li><p>Because of a bug, the system still recorded a small withdrawal from the user&#8217;s balance &#8212; even though the transaction was failing.</p></li><li><p>This made the internal balance tracker go negative for some accounts (which is never allowed).</p></li><li><p>When Sui tried to &#8220;settle&#8221; everything at the end of the checkpoint, it hit a hard stop and crashed all the validators.</p></li></ul><div><hr></div><h2><strong>What Happened: A Technical Breakdown Based on GitHub Activity</strong></h2><p>Sui&#8217;s architecture relies on a sophisticated gas and settlement system to handle high-throughput execution. Two key internal components are at the center of today&#8217;s incident:</p><ul><li><p><strong>The Accumulator:</strong> Implemented in the Sui framework (`accumulator.move`), it tracks net balance changes for addresses/accounts during transaction execution and final settlement at checkpoint boundaries. It aggregates merges (deposits/credits) and splits (withdrawals/debits) in a base value.</p><ul><li><p>The thing is: `value + merge - split` must never go negative. Any violation during settlement triggers a failure in the `construct_and_execute_settlement` path, which is designed to never fail&#8212;leading to a <strong>node-fatal panic</strong>.</p></li></ul></li><li><p><strong>Gas Underflow:</strong> This occurs in the gas metering and charging logic (primarily in `gas_charger` and `deduct_gas` paths). When a transaction aborts early&#8212;such as with `InsufficientFundsForWithdraw` (IFFW)&#8212;an &#8220;AB-filter&#8221; (address-balance filter) drops invalid payment entries. In certain edge cases involving the newer address-balance gas payment flow (which can use `FundsWithdrawal` arguments or coin smashing), the system could still attempt to deduct more gas than remained available, causing a <strong>u64 arithmetic underflow in Rust</strong>.</p></li></ul><p>I spotted a bunch of emergency PRs (26811&#8211;26819) on Sui&#8217;s repo today, providing a forensic trail we can use to speculate on what&#8217;s going one while we wait for the official postmortem. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bwXs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bwXs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/443caaac-8619-4704-8f72-344bf1dee971_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220301,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/199656261?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bwXs!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F443caaac-8619-4704-8f72-344bf1dee971_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These changes directly address the failure path involving address-balance gas payments, early aborts, accumulator underflow, and settlement diagnostics. While the exact triggering transaction has not been publicly confirmed, the PRs allow us to reconstruct the most likely sequence of events:</p><ol><li><p>A user transaction (or batch) paid gas using the address-balance / `FundsWithdrawal` method and hit `InsufficientFundsForWithdraw` during execution.</p></li><li><p>The AB-filter correctly dropped some invalid payment entries, but the pre-fix gas-smashing/withdrawal logic still performed (or recorded) a withdrawal from the address balance even though the transaction was aborting early.</p></li><li><p>This produced an invalid net funds change that fed into the accumulator (`value + merge - split` underflowed for one or more accounts).</p></li><li><p>At checkpoint settlement time, the `construct_and_execute_settlement` transaction (supposed to never fail) hit the accumulator underflow. This triggered a `fx.status().is_ok()` assert &#8594; node-fatal panic across validators &#8594; full network halt.</p></li></ol><h2><strong>The Fixes: Key Code Changes Explained</strong></h2><p>Here are the most relevant code changes from the emergency PRs, with direct explanations: \</p><p><strong>1. Core Bug Fix &#8211; Prevent withdrawal from address balance on early abort<br></strong>(PR #26818: &#8220;Do not withdrawal from address balance when transaction aborts early&#8221;; also referenced in the related #26816) </p><p>In sui-execution/latest/sui-adapter/src/execution_engine.rs:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;96a6841a-bb7c-4cf1-9970-28f3c18cf4d3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">// On an early `InsufficientFundsForWithdraw` abort we drop every address-balance
// payment except the smash target (index 0). ...
if matches!(
    execution_params,
    Err(ExecutionErrorKind::InsufficientFundsForWithdraw)
) &amp;&amp; gas_data.payment.len() &gt; 1
{
    gas_data
        .payment
        .retain(|entry| ParsedDigest::try_from(entry.2).is_err());
}</code></pre></div><p>This change ensures that on an early IFFW abort, address-balance withdrawals are not recorded in the accumulator. The prior behavior allowed a partial withdrawal to be logged even as the transaction aborted, violating the accumulator invariant downstream.</p><p><strong>2. Gas Charger Hardening &#8211; Clamp gas_budget to prevent deduct_gas underflow<br></strong>(PR #26819)</p><p>In crates/sui-types/src/gas.rs:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;8230e80d-2763-409d-91ac-2667b4d2fd69&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">/// Lower the `gas_budget` if `new_budget` is smaller...
pub(crate) fn reduce_gas_budget(&amp;mut self, new_budget: u64) {
    if new_budget &lt; self.gas_budget {
        self.gas_budget = new_budget;
    }
}</code></pre></div><p>And in GasCharger::new:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;21a93fa4-87d3-4ff3-8905-61e0ac31b6cc&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">if let PaymentMetadata::Smash(metadata) = &amp;payment
    &amp;&amp; metadata.total_smashed &lt; gas_status.gas_budget()
{
    gas_status.reduce_gas_budget(metadata.total_smashed);
}</code></pre></div><p>After the AB-filter drops entries, the signed `gas_budget` could exceed the remaining smashed coins. This clamp prevents later subtraction code from underflowing.</p><p><strong>3. Replay Safety &#8211; Gate the fix on accumulator version</strong><br>(PR #26817)A new constant was introduced:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;2dbcb3df-d431-414b-ae54-ef45b85912c2&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">const ADDRESS_BALANCE_SMASH_FIX_MIN_ACCUMULATOR_VERSION: u64 = 692949576;</code></pre></div><p>The fix is applied only for transactions whose accumulator version meets or exceeds this threshold. This prevents replay forks on already-certified history while allowing immediate safe behavior on new transactions&#8212;no epoch or protocol version change required during the live incident.</p><p><strong>4. Emergency Recovery Tools</strong><br>(PR #26811)</p><p>Hardcoded skips for specific consensus rounds:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;2891a4e5-a8f0-42c1-9ddc-ab6a9a6a1a84&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">const HARDCODED_SKIPPED_CONSENSUS_COMMIT_ROUNDS: &amp;[u64] = &amp;[824333];</code></pre></div><p>Plus a new config flag to temporarily disable address-balance payments entirely. These acted as &#8220;kill switches&#8221; to drop the problematic transactions and resume checkpoint production.</p><p><strong>5. Improved Diagnostics &#8211; Why settlement failed</strong><br>(PR #26814: &#8220;debug(settlement): diagnose accumulator underflow on settlement failure&#8221;)</p><p>New helper in crates/sui-core/src/execution_scheduler/settlement_scheduler.rs:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;rust&quot;,&quot;nodeId&quot;:&quot;944985b7-3e44-435f-b808-5952e8a7ed59&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-rust">fn log_underflowing_accounts(
    &amp;self,
    fx: &amp;TransactionEffects,
    funds_changes: &amp;BTreeMap&lt;AccumulatorObjId, i128&gt;,
) {
    // Logs each account where projected balance (balance + funds_change) &lt; 0
    // including the exact shortfall
}</code></pre></div><p>And `dump_batch_transactions` to output every transaction in the settlement batch along with its `accumulator_events().</p><p>These run right before the fatal assert, providing visibility into exactly which account underflowed and which user transactions contributed&#8212;critical because a Move abort normally clears effects.</p><div><hr></div><p><strong>Remember: </strong>this is all speculation based on code activity and not the official postmortem.</p><div><hr></div><p>Thanks for reading!</p><p>Follow me on X (vinibarbosabr) and subscribe for free to <a href="/__u/thecoding.substack.com/">thecoding.substack.com</a> for more.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Meet Ika: Multichain wallet in one Solana account]]></title><description><![CDATA[Let's dive in and understand IKA's solution and the 2PC-MPC protocol developed by dWallet Labs for native cross-chain operations on Solana and Sui, all protected by cutting-edge cryptography.]]></description><link>https://thecoding.substack.com/p/ika-multichain-wallet-on-solana</link><guid isPermaLink="false">https://thecoding.substack.com/p/ika-multichain-wallet-on-solana</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Tue, 26 May 2026 12:18:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HlTU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!HlTU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!HlTU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4423594,&quot;alt&quot;:&quot;Ika: Multichain wallet in one Solana account&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/198748555?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ika: Multichain wallet in one Solana account" title="Ika: Multichain wallet in one Solana account" srcset="/__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!HlTU!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F044c722a-2d38-4a3a-b2c7-a703f1adb5f8_1200x630.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Let&#8217;s dive in and understand IKA&#8217;s solution and the 2PC-MPC protocol developed by dWallet Labs for native cross-chain operations on Solana and Sui, all protected by cutting-edge cryptography.</figcaption></figure></div><p>I have been wanting to write about Ika for a while now.</p><p>The opportunity finally came up now that the project is migrating from Sui to Solana and conversations about security in MPC (Multi-Party Computation) solutions have heated up following the exploit against THORChain's MPC.</p><p>So, let's break down <strong>what Ika is</strong> and <strong>why it matters</strong> right now. As always, I'll cover the technical side and explain how everything works in an easy way.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><p>If you follow my content, you know I'm a big fan and active user of NEAR Intents and other cross-chain protocols (like THORChain and Maia Protocol), plus I'm a NEAR validator. None of that changes with this article, even though there's some obvious competition between these projects.<br><br>I don&#8217;t mind, really. IKA is a genuinely impressive project that deserves the highlight (just like NEAR).<br><br>As a user and researcher, I love the redundancy here. It's healthy to have strong projects competing to deliver the best solutions, <strong>each making different trade-offs</strong> &#8212; giving us the flexibility to use whichever one (or all of them) makes the most sense depending on each situation.<br><br>Enough with the intro, <strong>let's get into the IKA protocol!</strong></p><div class="callout-block" data-callout="true"><p><em>This article is sponsored by dWallet Labs, the core developer behind the Ika protocol and Encrypt. Their support made it possible for me to spend the time researching, understanding, writing, and editing this piece. The content remains fully authentic and didn&#8217;t suffer any direct influence from the team, that respected the independent creation.</em></p><div><hr></div><p><em>Check the <strong>carrd</strong> below to meet my services and how I work in sponsorships.</em></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://vinib.carrd.co&quot;,&quot;text&quot;:&quot;CHECK MY SERVICES&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://vinib.carrd.co"><span>CHECK MY SERVICES</span></a></p></div><h2>Meet IKA: Bridgeless Capital Markets</h2><p><em><strong>&#8220;Ika enables a bridge-less capital market,&#8221;</strong></em> is how the team positions the product that is now focused on Solana infrastructure, while promising to <em>&#8220;move value between any blockchain without bridges, wrapping, or centralized custody. Powered by dWallets and 2PC-MPC cryptography.&#8221;</em></p><div class="pullquote"><p><strong>&#8220;Ika enables a bridge-less capital market&#8221;</strong></p></div><p>I&#8217;ll explain.<br><br>The core idea here is to abstract away the fragmentation between different crypto networks. You get a single wallet (dWallet) running on one network (Ika), secured by strong cryptography, that can control native accounts across many other blockchains.</p><p>IKA is a decentralized network of MPC signers. It functions as a trustless cryptographic bridge between chains, but it&#8217;s not a bridge in the traditional sense we&#8217;re used to in crypto.<br><br>Think of it as a shared, programmable signature service running on its own chain (a fork of Sui).<br><br>The signers work like validators in a traditional blockchain. They stake a minimum amount of the token (40M IKA, currently) and get the right to sign transactions in the network&#8217;s behalf. We will expand on that soon.</p><p>Right now the network has 68 active operators (producing signatures) out of 115 total operators. Anyone can spin up a node and join &#8212; it costs roughly $100&#8211;200/month in rented hardware, according to David Lachmish, CPO of dWallet Labs.<br><br>There&#8217;s already 4.91 billion IKA staked, and the top five operators control about 11.5% (~567 million). However, the signing capacity is <strong>not</strong> influenced by the staking amount. Worth noting: some of these operators are controlled by the same entities. For example, dWallet Labs runs five operators under the labels &#8220;dWallet Labs 1 <em>through</em> 5.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!igZZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!igZZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:203113,&quot;alt&quot;:&quot;ika operators explorer&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/198748555?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ika operators explorer" title="ika operators explorer" srcset="/__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!igZZ!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F208b39a2-0ad0-4c4e-b8b9-52b596ce0fee_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: ikascan.xyz | May 20, 2026</figcaption></figure></div><p>Then, instead of relying on centralized custodians, traditional bridges, or small trusted committees, IKA lets smart contracts and users control native accounts on other networks (Bitcoin, Ethereum, Solana, Sui, etc.) through a decentralized network.</p><p>Even better: without ever exposing the full private key to any single party (it's not really a private key, we will get there).<br><br>This opens the door to advanced cross-chain operations while keeping solid security and decentralization standards. That&#8217;s especially relevant in a world where bridges have been responsible for the largest share of stolen funds from hacks and exploits. The &#8220;Bridgeless Capital Markets&#8221; north star makes a lot of sense and feels genuinely valuable, in my opinion.<br><br>The approach is similar to the MPC solution behind NEAR Intents and Chain Signatures (which I&#8217;ve written about before), but with some key differences, of course. The two biggest ones:</p><ol><li><p><strong>IKA is a permissionless network</strong> &#8212; anyone can participate by running a node and staking or receiving delegations.</p></li><li><p>It uses the <strong>2PC-MPC Protocol</strong> (implemented by dWallet), which enables the <strong>Zero Trust</strong> setup where the user also holds private key shares in a 2-of-2 signing threshold. More on that below.</p></li></ol><div class="pullquote"><p>&#8220;Ika was built from first principles to be the definitive infrastructure for custody and interoperability. It&#8217;s the fastest, most scalable and most decentralized infrastructure existing today, but the biggest unlock is the zero-trust setup Ika uniquely enables. For crypto&#8217;s vision of self-sovereignty without trusted 3rd parties to materialize and gain mass adoption, the future of both custody and interoperability must be zero-trust, and Ika is the only infrastructure that can make that a reality.&#8221;<br><strong>&#8212; David Lachmish, CPO of dWallet Labs</strong></p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!WpZH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!WpZH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:229395,&quot;alt&quot;:&quot;the biggest unlock is the zero-trust setup Ika uniquely enables.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/198748555?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="the biggest unlock is the zero-trust setup Ika uniquely enables." title="the biggest unlock is the zero-trust setup Ika uniquely enables." srcset="/__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!WpZH!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb7d0274-1c11-45cf-8de6-75f7e726e20a_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>dWallet and the 2PC-MPC Protocol</h2><p>Before we go further, it&#8217;s worth clarifying the solution is not built for casual retail users, but aimed at developers and advanced users who are fine with programming and the CLI (command line interface).<br><br>On that, there is no colorful, cute dWallet mobile app you can just download and tap around in your iPhone. Anyone can create and use a dWallet through the CLI (I did it myself while testing), but the target audience right now are developers building on Solana (and previously on Sui).</p><div class="callout-block" data-callout="true"><p>In practice it looks like this: <strong>a Solana dev integrates dWallet into their app&#8217;s backend</strong> <strong>&#8594;</strong> <strong>the end user interacts with it through that app</strong> running all the technology we are discussing here.</p></div><p>Nevertheless, it&#8217;s still useful to understand how the piece of software running inside your favorite wallet works, even if you&#8217;re not a developer.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://solana-pre-alpha.ika.xyz/getting-started/quick-start&quot;,&quot;text&quot;:&quot;SETUP A DWALLET ON SOLANA&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://solana-pre-alpha.ika.xyz/getting-started/quick-start"><span>SETUP A DWALLET ON SOLANA</span></a></p><div><hr></div><h3>How dWallet Works</h3><p>dWallet is the main product built on top of Ika and is basically the interface that gives meaning to it. You (the user) can use this interface for three types of wallet that dWallet allows:</p><ol><li><p><strong>Imported Key:</strong> This mode happens when the user does <strong>not</strong> generate a new key by dWallet, but imports a seed or private key generated in other traditional crypto wallets. It&#8217;s useful mostly for self-custody applications.</p></li><li><p><strong>Zero Trust Mode:</strong> This mode uses the 2PC-MPC protocol and generates two shares of the private key through a Distributed Key Generation (DKG) method. One for the user (you) and the other for the MPC network (Ika). No part can see the share of its counterpart and both are needed to sign valid transactions (2-of-2 threshold).</p></li><li><p><strong>User&#8217;s Public Share:</strong> This one follows the same premise of the second, generating two shares of the private key. The difference is on how the user share is stored. Here, it is stored publicly in the blockchain (e.g., in a smart contract) and can be called by apps or other programs to sign transactions for the user, while Ika&#8217;s MPC continues guaranteeing its safety.</p></li></ol><p>Our focus here will be to understand the Zero Trust mode because it is the project&#8217;s biggest competitive advantage and also helps to understand the third mode &#8212; which we can explore in a future article.</p><h3>Ika&#8217;s Zero Trust Mode</h3><p>I like to think of it as a safe vault that requires two combinations to open. One by the vault&#8217;s owner (you) and the other by a company specialized in vault security (Ika).</p><p>When the safe was first configured using a system developed by this company, you entered a dark room, alone, and generated your combination. The other share was generated the same way by an automated system in the company&#8217;s database and immediately encrypted before being stored.</p><p>Therefore, what the company stores is actually the encrypted version of their combination share and not the combination itself (in plain text). The signing happens using something called homomorphic encryption &#8212; performing signing operations on encrypted data without ever decrypting the company&#8217;s combination. The MPC network share <strong>never</strong> gets exposed.</p><p>To open the safe, you first need to insert you combination and call the company to do the same. After receiving your request, Ika will call a council made by its operators, where each one has the right to one vote. With two-thirds of the votes, the signing is done and the second combination is inserted, opening the safe.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pwt7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pwt7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:172847,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/198748555?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pwt7!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22b4da5-aa0c-4511-8258-efe3f6ed7e57_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The full combination is never reconstructed in one place. Everything is encrypted with strong cryptography, and each part&#8217;s share is protected from the other part, creating mutual, zero-trust relationship. Beautiful!<br><br>Interestingly, you can also store the user share with redundancy in different places with more confidence, as a leak is not as harmful as it usually is in normal crypto wallets because the network share is still needed to move funds.</p><p>David recently explained that on X.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/d3h3d_/status/2056452962411561336&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@alinush</span> <span class=\&quot;tweet-fake-link\&quot;>@NEARProtocol</span> - interesting, i will have to wait for my more knowledgeable colleagues to tell me what they think about this model lol\n\n- they can&#8217;t deal with malicious players and effectively have zero bft. when i pablicly called this out on x a year ago bowen said they trust TEEs to enforce&quot;,&quot;username&quot;:&quot;d3h3d_&quot;,&quot;name&quot;:&quot;d3h3d &#12300;&#129425;&#12301;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2014326599563317248/n1b6-vqt_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-18T19:12:47.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:1,&quot;retweet_count&quot;:0,&quot;like_count&quot;:5,&quot;impression_count&quot;:87,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Likewise, dWallet allows the user to set custom policies for its use and interactions, all programatically. This policy may enable more complex operations (in DeFi, for example), more or less security according to the user's needs, and other interesting features.<br><br>There&#8217;s one important limitation that applies to pretty much every MPC solution:<br><br><strong>The user will always need the second half of the key held by the Ika operators</strong>. That means we can&#8217;t just export a full private key and import it into a regular wallet the way we&#8217;re used to in crypto.</p><p>Unless when using the self-custody, imported key mode.<br><br>In short, dWallet controls addresses on other chains by generating valid signatures (ECDSA, EdDSA, Schnorr, etc.). DKG generates two shares (user and network) with secrecy. The wallet is also programmable and transferable &#8212; the user can transfer control to someone else with safety.</p><div class="pullquote"><p><strong>&#8220;the future of custody and interoperability needs to be zero-trust&#8221;</strong></p></div><p>Also, the public key is derived as usual and looks exact the same as public addresses from the supported networks (Bitcoin, Ethereum, Solana, Sui, etc.). No over-complication for the user while managing crypto addresses and receiving payments.<br><br>There&#8217;s more interesting detail worth covering (pre-computed MPC signatures for improved performance, wallet transfers and other functionalities, for example), but this article is already getting long. I&#8217;ll save some of that for a follow-up if there&#8217;s interest. I would also like to write about the economics around IKA&#8217;s token.<br><br>Yet, I hope this one gave you a solid first look at the project and got you curious to dive deeper.</p><div class="callout-block" data-callout="true"><p><strong>BUG BOUNTIES:</strong> dWallet Labs doesn&#8217;t have a bug bounty program live yet, but the team told me they&#8217;re planning to launch one soon. I&#8217;ll post about it on X or in Substack Notes the moment it drops &#8212; I&#8217;m planning to join the bug bounty hunt.</p></div><h2>My Take on IKA</h2><p>The project feels solid, technologically innovating, and genuinely promising. The team comes across as highly competent, with cybersecurity and engineering backgrounds, and they love to discuss and explain these and other things on X.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://x.com/ikadotxyz&quot;,&quot;text&quot;:&quot;FOLLOW IKA ON X&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://x.com/ikadotxyz"><span>FOLLOW IKA ON X</span></a></p><div><hr></div><p>IKA is easily one of the few projects I have in my radar this cycle. I&#8217;ve been studying and discussing it for a while (especially with David), and the solution feels elegant on multiple levels.<br><br>Decentralization, permissionless network, cryptographic security, and open-source development (a lot of it in Rust, btw) are all things I value a lot.<br><br>The move to Solana makes complete sense (though I&#8217;d still love to see native dWallets on NEAR someday, lol). I&#8217;m confident we&#8217;ll be hearing a lot more about IKA in the months ahead.<br><br>Drop your thoughts or questions in the comments &#8212; I&#8217;ll answer everything I can, or point you to the right person if I don&#8217;t know the answer myself.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/ika-multichain-wallet-on-solana/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/ika-multichain-wallet-on-solana/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><strong>Thanks for reading &#12300;thecoding&#12301;!<br><br></strong>Follow me on X at <strong>vinibarbosabr</strong> and subscribe for free to [en] thecoding.substack.com or [pt-br] codigoaberto.substack.com for more pieces like this.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[NEAR Dynamic Resharding: Most Exciting Development in Blockchain Infra]]></title><description><![CDATA[Everybody is talking about NEAR.]]></description><link>https://thecoding.substack.com/p/near-dynamic-resharding-most-exciting</link><guid isPermaLink="false">https://thecoding.substack.com/p/near-dynamic-resharding-most-exciting</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Sat, 23 May 2026 15:25:03 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198973142/0a00828cb95495d543cb38b2ac6c76f6.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Everybody is talking about NEAR.</p><p>+ price is going up, which is great</p><p>+ NEAR is building amazing stuff in privacy and AI</p><p>But not everybody is talking about what I believe is one of the most exciting developments in blockchain infrastructure &#8594; <strong>DYNAMIC RESHARDING.</strong></p><p>Here&#8217;s what is happening and why it matters &#8595;</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><p>A blockchain network is only useful if it can be used at scale</p><p>Price going up and influential crypto people talking about near is cool, but if all the new users and investors that will come from that can&#8217;t <strong>use it flawlessly</strong> -- it becomes meaningless.</p><p>NEAR needs to be able to continue working under high load (<em>and it has, with no downtime since mainnet launch in 2020).</em></p><p>However, <strong>NEAR is building to become the place were millions of agents will transact, make payments, call smart contracts, and do other onchain operations.</strong></p><p>So, it needs to improve how it scales.</p><p>Right now, new shards are added mannually (as was done in April 2025, adding the 9th shard after splitting shard 0).</p><p>Manual resharding takes a lot of time, coordination efforts, and solid code writing and reviewing to prevent bugs.</p><p>By the end of Q2 2026, NEAR will start to do all that automatically.</p><ul><li><p>demand increased?</p></li><li><p>near has more users?</p></li><li><p>needs one more shard?</p></li></ul><p>done. automatically. at the protocol level. securely.</p><p>No other chain can do that (yet).</p><p>This is why it matters.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[THORChain Vault $10M Drain: Understanding the Exploit]]></title><description><![CDATA[A look at what happened to RUNE on May 15, the exploit, and the interesting timeline of another vault migration security issue discussed in THORChain's gitlab repository.]]></description><link>https://thecoding.substack.com/p/thorchain-vault-10m-drain-understanding</link><guid isPermaLink="false">https://thecoding.substack.com/p/thorchain-vault-10m-drain-understanding</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Fri, 15 May 2026 15:13:20 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197872178/7c4e0de0617df779349084a1f6d62d76.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>UPDATE!</strong></p><p>The video and post below were made before THORChain&#8217;s official report and are based on independent community investigations using only publicly available information. We now have more details suggesting the exploit targeted THORChain&#8217;s MPC infrastructure, which became possible because they never updated a TSS library (the MPC signature scheme) in the THORChain source code&#8212;even though the vulnerabilities in it had already been fixed earlier.</p></div><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/THORChain/status/2055376254514196749&quot;,&quot;full_text&quot;:&quot;THORChain incident update #1\nTHORChain contributors shared a new update in the dev discord regarding the ongoing incident. \n\nTLDR\n- Current evidence points toward a newly churned node linked to the attack, likely operated by a single malicious actor\n\n- The leading theory is an&quot;,&quot;username&quot;:&quot;THORChain&quot;,&quot;name&quot;:&quot;THORChain&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1882828603018088448/_s0MEEpK_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-15T19:54:20.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:41,&quot;retweet_count&quot;:43,&quot;like_count&quot;:270,&quot;impression_count&quot;:75828,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p><strong>THORChain had ~$10M drained from one of its vaults.</strong><br><br>Let's take a look at what happened, the exploit, and the interesting timeline of another vault churn/migration security issue discussed in THORChain's gitlab repository that I discovered earlier today and posted on X:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/vinibarbosabr/status/2055286338614612239?s=20)&quot;,&quot;full_text&quot;:&quot;interesting timeline here in THORChain's repo\n\nan old issue related to vault churn/migrations has been reactivated in the context of a vault `transferAllowance()` exploit on <span class=\&quot;tweet-fake-link\&quot;>@THORChain</span> \n\n+ security issue raised in Jan 2023 by Mr. Smith\n+ Son of Odin closes the issue in Jul 2023\n+ &quot;,&quot;username&quot;:&quot;vinibarbosabr&quot;,&quot;name&quot;:&quot;Vini B |&#12300; thecoding &#12301;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2023820898403340288/grvNPpKx_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-15T13:57:03.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HIXVRe7XkAAEttG.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/iCzubVWXj9&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:1,&quot;retweet_count&quot;:1,&quot;like_count&quot;:13,&quot;impression_count&quot;:357,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>THORChain is one of the most used decentralized cross-chain networks, which makes these events super relevant to the entire ecosystem!<br><br>According to /theoblivionsage's analysis, the attacker was able to get <strong>_vaultAllowance</strong> over a THORChain vault during what looked like a legit ERC20 vault migration.<br><br>Allowance was given via an Ethereum transaction caling the <strong>transferAllowance() </strong>function, allowing the attacker to sign outbound transactions from this THORChain vault they now control.<br><br>Think of it like a company that has a bank account.</p><div class="callout-block" data-callout="true"><p>This account has a password that allows to move the money out of the account, according to the company's needs.<br><br>The password is owned by one manager at a time, but it might change hands from time to time for security reasons or the company's protocol.<br><br>What happened here is that a thief managed to convince the company to make him the manager, getting access to the password during a routine migration -- and VUSH! they drained the account.</p></div><p>Interestingly, the attacker operated the vault as a legit validator for 2 days before executing the drain.<br><br>/banteg points the exploit to a commit (af46db22) from 6 days ago in the thornode repository by THORChain on gitlab: fix(common): sign full ObservedTx wrapper to prevent proposer forgery.<br><br>The rest is history.<br><br>I really hope the THORChain devs can come out stronger from this hack (and I believe they will) as the chain and RUNE are really important to crypto's decentralization as a living ecosystem, in general.<br><br>I'll keep monitoring the situation and posting about it.<br><br>Make sure to follow me on X and subscribe for free to [en] thecoding.substack or [pt-br] codigoaberto.substack.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Fixing Android's (intentional?) VPN Backdoor]]></title><description><![CDATA[Diving in and fixing the Android bug, ignored by Google, that allows a malicious app to see the user's IP even when using high-level VPN protections.]]></description><link>https://thecoding.substack.com/p/fixing-androids-intentional-vpn-backdoor</link><guid isPermaLink="false">https://thecoding.substack.com/p/fixing-androids-intentional-vpn-backdoor</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Tue, 12 May 2026 15:18:36 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197361761/07633b01c92e77bfc22b37d2712d69ef.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>In this video we dive in the Android bug discovered and reported by cybaqkebm from lowlevel-fun that looks like an intention VPN backdoor. I also show how to deploy a local, temporary fix to your device if, like me, you want to keep safely using VPN on your Android.</p><p>By the way, I only got to know about this bug thanks to Mullvad VPN&#8217;s post on X earlier today, which is a strong reason to keep sharing and educating others on what&#8217;s going on.</p><p>So, Mullvad <a href="https://mullvad.net/en/blog/any-app-on-recent-android-versions-can-leak-certain-traffic">posted</a> about the issue on May 12, but the original report has been live since April 30 on lowlevel-fun as &#8220;<a href="https://lowlevel.fun/posts/tiny-udp-cannon-android-vpn-bypass/">The Tiny UDP Cannon: An Android VPN Bypass.</a>&#8221;</p><p>Interestingly, the reported issue [<a href="https://issuetracker.google.com/issues/510393733?pli=1">510393733</a>] on issuetracker.google now has an &#8220;Access is denied to this issue&#8221; message, meaning Android Security Team has deliberately hidden it from the public. This happened after the team closed the issue as &#8220;Won&#8217;t Fix (infeasible)&#8221;. GrapheneOS has already released a patch that fixes it, though.</p><p>Anyone can reproduce the exploit using cybaqkebm&#8217;s open-source PoC at <a href="https://github.com/0x33c0unt/quic-vpn-bypass">0x33c0unt/quic-vpn-bypass</a> on GitHub.</p><h2>How to Fix Android&#8217;s VPN Bypass</h2><p>To fix it you will need to debug your Android via terminal and you should only do it if you understand the implications of changing device config files. Follow the steps below (on Linux only, as I don&#8217;t know how to access it via WIndows or MacOS):</p><ol><li><p>Install android-tools or other Android debugging tools. On Arch Linux I ran:</p></li></ol><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sudo pacman -S android-tools</code></pre></div><ol start="2"><li><p>Go to your device &#8594; Settings &#8594; About Phone &#8594; Software Information</p></li><li><p>Look for the &#8220;Build Number&#8221; field and click seven times on it to enable &#8220;Developer Options&#8221;</p></li><li><p>If using Samsung, go to Security and Privacy and disable &#8220;Auto Blocker&#8221;</p></li><li><p>Back to Developer Options, enable USB Debugging</p></li><li><p>Connect the device via USB cable to your Linux and authorize access (trusted device)</p></li><li><p>On your Linux terminal, check if the device is connected using Android Debug Bridge&#8217;s command:</p></li></ol><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">adb devices</code></pre></div><ol start="8"><li><p>Still on terminal, execute the code that will disable Android&#8217;s close_quic_connection feature with the <code>-1</code> flag and reboot the device:</p></li></ol><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">adb shell device_config put tethering close_quic_connection -1
adb reboot</code></pre></div><ol start="9"><li><p>To check if the new config was applied, look for a <code>false</code> boolean to &#8220;Close QUIC Connection&#8221;:</p></li></ol><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">adb shell dumpsys connectivity | grep "Close QUIC"
## Close QUIC connection: false</code></pre></div><ol start="10"><li><p>You can revert the config and test the other way around by force-enabling the function with the <code>1</code> flag.</p></li></ol><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">adb shell device_config put tethering close_quic_connection 1
adb reboot</code></pre></div><div><hr></div><p style="text-align: center;"><strong>Thank you for reading and watching the video!</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/fixing-androids-intentional-vpn-backdoor?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/fixing-androids-intentional-vpn-backdoor?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><p style="text-align: center;">Follow me on X at vinibarbosabr and subscribe for free to thecoding.substack [en] or codigoaberto.substack [pt-br].</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[Easily Explaining Bitcoin Core’s Memory Bug]]></title><description><![CDATA[I break down the Script Interpreter Remote Crash vulnerability (CVE-2024-52911) in simple terms and explain how it impacts the Bitcoin network. The CVE was publicly disclosed on May 5.]]></description><link>https://thecoding.substack.com/p/easily-explaining-bitcoin-cores-memory-bug</link><guid isPermaLink="false">https://thecoding.substack.com/p/easily-explaining-bitcoin-cores-memory-bug</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Wed, 06 May 2026 18:06:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i4zl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!i4zl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!i4zl!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5595779,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/196686989?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 424w, /__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 848w, /__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!i4zl!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc690e69-199d-4315-9629-43f79cf56ae9_1200x630.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I break down the Script Interpreter Remote Crash vulnerability (CVE-2024-52911) in simple terms and explain how it impacts the Bitcoin network. The CVE was publicly disclosed on May 5.</figcaption></figure></div><p>On May 5, more details were publicly disclosed about a high-severity vulnerability in Bitcoin Core code, the <a href="https://bitcoincore.org/en/2026/05/05/disclose-cve-2024-52911/">Script Interpreter Remote Crash</a> (<a href="https://www.cvedetails.com/cve/CVE-2024-52911/">CVE-2024-52911</a>).</p><p>The bug was discovered by Cory Fields (<a href="https://github.com/theuni">theuni</a> on GitHub) in November 2024, and the fix was shipped in April 2025 with Bitcoin Core version <a href="https://github.com/bitcoin/bitcoin/releases/tag/v29.0">29.0.0</a>.</p><p>However, data from <a href="https://bitref.com/nodes/">bitref.com</a> shows that over 32% of Bitcoin nodes are still running unpatched versions older than v29 &#8212; meaning they&#8217;re still exposed to the bug.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5LKm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5LKm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178958,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/196686989?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5LKm!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3a1b7f5-147c-4c03-ab92-4bbcbfa7e84a_1200x630.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>According to <a href="https://x.com/dergoegge/status/2051659168885436785">Niklas G&#246;gge</a>, this was the first memory-safety bug in Bitcoin Core&#8217;s C++ codebase. The Rust community (a language that fixes many memory-safety issues) is already using the moment to push for porting Bitcoin to Rust.</p><p>But what exactly is this bug, how does it work, and what attack vectors does it open up for the Bitcoin network?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>What Is the Script Interpreter Remote Crash (CVE-2024-52911)?</h2><p>Bitcoin nodes are basically computers (or servers) running Bitcoin software (mostly Core or Knots) connected to each other. Together, they form the Bitcoin network.</p><p>These nodes validate blocks and transactions sent by miners to make sure they&#8217;re legit. Valid blocks get stored on disk and become the permanent transaction record for the whole network &#8212; basically the ledger that tracks every BTC balance in every wallet.</p><p>When a node receives a block, it has to check every transaction against the protocol rules. To make this efficient, the validation happens as a background thread through <strong>CScriptCheck</strong>.</p><p>Think of nodes like a logistics warehouse that receives trucks (blocks) packed with packages (transactions) that all need to be inspected and stored. The warehouse manager has other duties, so he hires a team of workers to handle the package checks in the meantime (the script check).</p><p>To know what to do, the manager gives the workers an instruction sheet. That sheet is the <strong>PrecomputedTransactionData</strong> function, which stores a bunch of pre-calculated data to speed up transaction validation. Every action the CScriptCheck workers take points back to more detailed info on that precomputed data &#8220;sheet.&#8221;</p><p>On top of that, the manager also hired a supervisor to oversee the whole operation. In code terms, that&#8217;s <strong>CCheckQueueControl</strong>.</p><p>The whole system runs smoothly as long as the node only receives valid blocks with valid transactions. The problem shows up when an invalid block arrives and needs to be thrown out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!gbaQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_webp, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!gbaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6a4611c-f598-4af8-8376-515208848f47_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:223812,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thecoding.substack.com/i/196686989?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_424, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 424w, /__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_848, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 848w, /__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_1272, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 1272w, /__u/substackcdn.com/image/fetch/$s_!gbaQ!, /__u/thecoding.substack.com/w_1456, /__u/thecoding.substack.com/c_limit, /__u/thecoding.substack.com/f_auto, /__u/thecoding.substack.com/q_auto:good, /__u/thecoding.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a4611c-f598-4af8-8376-515208848f47_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This stems from how C++ handles objects that need to be removed (destroyed) from memory. Destruction happens in the reverse order the objects were created.</p><p>In our analogy, the manager first hired the supervisor (CCheckQueueControl), then the workers (CScriptCheck), and finally handed out the precomputed data sheet (PrecomputedTransactionData).</p><p>When the invalid block has to be discarded, the manager throws away the data sheet first. Now both the workers and the supervisor are left pointing at instructions that no longer exist, creating total chaos.</p><p>At the code level, the script-check pointers now point to data that&#8217;s already gone, so the node crashes and restarts. If done on purpose, exploiting this vulnerability creates a denial-of-service attack.</p><p>Some theories also suggest a skilled attacker could achieve remote code execution (RCE) on the affected server &#8212; for example, installing malware or other exploits. In theory this is possible, but the Bitcoin protocol&#8217;s handling of arbitrary data makes it much harder in practice (that&#8217;s a topic for another post).</p><p>Any node running outdated software (pre-v29) is vulnerable. Updating to a patched version fixes the issue and stops the node from crashing.</p><p><strong>Check out the video version of this article.</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9a685873-1543-4d2b-9f15-b727b1d525b9&quot;,&quot;caption&quot;:&quot;&#8252;&#65039; UPGRADE YOUR BITCOIN NODE RIGHT NOW!&quot;,&quot;cta&quot;:&quot;Watch now&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;[Podcast] Upgrade Your Bitcoin Node Right Now!&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B&quot;,&quot;bio&quot;:&quot;Writing about crypto, blockchain, tech, privacy, open-source, cybersecurity, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5253cea-3de8-4426-88ce-a2fde398573f_1024x1024.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-05-06T15:33:02.911Z&quot;,&quot;cover_image&quot;:&quot;https://substack-video.s3.amazonaws.com/video_upload/post/196671406/dec29d67-83a2-4728-b35e-dedd62547a4c/transcoded-00001.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/podcast-upgrade-your-bitcoin-node&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:&quot;dec29d67-83a2-4728-b35e-dedd62547a4c&quot;,&quot;id&quot;:196671406,&quot;type&quot;:&quot;podcast&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I hope this made the situation with Bitcoin crystal clear. If it helped, drop a like, leave a comment, and share it with your friends so more people understand the bug.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/easily-explaining-bitcoin-cores-memory-bug?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/easily-explaining-bitcoin-cores-memory-bug?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><p style="text-align: center;"><strong>Thanks for reading &#12300; thecoding &#12301;!</strong></p><div class="callout-block" data-callout="true"><p style="text-align: center;"><strong>You can already use BTC and other cryptocurrencies to pay for AI!</strong></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://nano-gpt.com/r/LBm7JQYL&quot;,&quot;text&quot;:&quot;5% DISCOUNT ON NANOGPT&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://nano-gpt.com/r/LBm7JQYL"><span>5% DISCOUNT ON NANOGPT</span></a></p><div><hr></div><p style="text-align: justify;"><em>NanoGPT is a pay-per-prompt AI aggregator with native crypto payments accepted and a privacy-friendly setup. You can make micro deposits to the app (even $1) and pick from dozens of models. I&#8217;ve been using it for years, since its alpha release.</em></p><p style="text-align: justify;"><em>Registering through my link below gives you lifetime 5% discount in all your queries. Try with small amounts first!</em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading &#12300; thecoding &#12301;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[[Podcast] Upgrade Your Bitcoin Node Right Now!]]></title><description><![CDATA[The Script Interpreter Remote Crash (CVE-2024-52911) was publicly disclosed on May 5 and 32% of Bitcoin nodes may still be running the unpatched version.]]></description><link>https://thecoding.substack.com/p/podcast-upgrade-your-bitcoin-node</link><guid isPermaLink="false">https://thecoding.substack.com/p/podcast-upgrade-your-bitcoin-node</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Wed, 06 May 2026 15:33:02 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196671406/cda30886f3b3d0073a03fbb23b4d12b8.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>&#8252;&#65039; UPGRADE YOUR BITCOIN NODE RIGHT NOW!</p><p>A high severity vulnerability was found and publicly disclosed</p><p>In this video I (try to) easily explain the bug and what&#8217;s happening with the BTC network around the Script Interpreter Remote Crash (CVE-2024-52911).</p><p>+ 32% of all Bitcoin nodes are still running an unpatched version, per bitref-com data</p><p>+ this is a memory safety issue, related to C++</p><p>+ should Bitcoin be rewritten in Rust?</p><p>Article may be published soon with the explainer on X (/vinibarbosabr) and at both thecoding.substack (en) and codigoaberto.substack (pt-br).</p>]]></content:encoded></item><item><title><![CDATA[[Podcast] Bittensor TAO or NEAR? A Look at the Crypto-AI Race]]></title><description><![CDATA[A research and opinion article, now on video, on the two leading crypto-AI projects: Bittensor TAO and NEAR, with a focus on product-market fit and economics.]]></description><link>https://thecoding.substack.com/p/podcast-bittensor-tao-or-near-a-look</link><guid isPermaLink="false">https://thecoding.substack.com/p/podcast-bittensor-tao-or-near-a-look</guid><dc:creator><![CDATA[Vini B | thecoding]]></dc:creator><pubDate>Tue, 05 May 2026 14:33:59 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196548283/ec28889c0d3de7acde80cef59a22e8b6.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Bittensor and NEAR are two very interesting projects building on top of two very interesting technologies &#8594; crypto and AI</p><p>Which one is the best one, though?</p><p>+ TAO <br>+ NEAR</p><p>It depends...</p><p>This article that I wrote in April has been one of my most read articles so far, so I decided to try this new format going through the research in a commented, no-edition video.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;538a43fd-6977-4719-be12-bfd2abb8e05b&quot;,&quot;caption&quot;:&quot;I&#8217;m often asked about comparisons between Bittensor and NEAR protocol. Are these two competitors? Is TAO or NEAR the best crypto-AI project? Which one is leading the AI race in the blockchain space?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Bittensor TAO or NEAR: a Look at the Crypto-AI Race&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:280308588,&quot;name&quot;:&quot;Vini B&quot;,&quot;bio&quot;:&quot;Writing about crypto, blockchain, tech, privacy, open-source, cybersecurity, and agorism since 2020. Subscribe to &#12300;thecoding&#12301; | Running NEAR as a validator on thecoding.pool.near | HoS Governance Delegate&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5253cea-3de8-4426-88ce-a2fde398573f_1024x1024.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-04-02T16:00:02.449Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0wB3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8b0fe0-8e4c-4b76-97ac-0c1c81df2b41_1200x630.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://thecoding.substack.com/p/bittensor-tao-or-near-crypto-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192854647,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:10,&quot;comment_count&quot;:11,&quot;publication_id&quot;:6409239,&quot;publication_name&quot;:&quot;&#12300; thecoding &#12301;&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UqcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e2c44fc-7687-4cd4-b325-dedb7a8a79f6_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Let me know if you like this new format and if I should do more of it for my other articles as well.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thecoding.substack.com/p/podcast-bittensor-tao-or-near-a-look?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/thecoding.substack.com/p/podcast-bittensor-tao-or-near-a-look?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p>]]></content:encoded></item></channel></rss>