<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Codeislight</title>
        <link>https://paragraph.com/@codeislight</link>
        <description>Passionate and ambitious Web3 developer, always hungry for more :)</description>
        <lastBuildDate>Tue, 28 Apr 2026 05:11:52 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Gas Efficient Centralized Exchange User's Deposit Approach]]></title>
            <link>https://paragraph.com/@codeislight/gas-efficient-centralized-exchange-user-s-deposit-approach</link>
            <guid>76N6sS74UDAP4iUtqFKB</guid>
            <pubDate>Wed, 14 Jun 2023 02:48:03 GMT</pubDate>
            <description><![CDATA[INTRODUCTION: Crypto exchanges has provided an easy access to crypto for the regular users, they constitute the majority of the trading volumes happening. One of the core features they offer for its users is crypto deposit and withdrawal, which plays a role in allowing the users to freely move their assets without any hurdles, at anytime 24/7. But that comes with a cost especially for crypto deposits, since majority of CEXs provide a unique deposit address for each of its users, to allow them...]]></description>
            <content:encoded><![CDATA[<p><strong>INTRODUCTION:</strong></p><p>Crypto exchanges has provided an easy access to crypto for the regular users, they constitute the majority of the trading volumes happening. One of the core features they offer for its users is crypto deposit and withdrawal, which plays a role in allowing the users to freely move their assets without any hurdles, at anytime 24/7. But that comes with a cost especially for crypto deposits, since majority of CEXs provide a unique deposit address for each of its users, to allow them to deposit into their platform, and credit their account, once the transaction has been confirmed, to allow for the exchange to keep the liquidity easy to manage whenever they want to rebalance or process a withdrawal, the exchange has to forward the deposited native token (e.g. ETH) or an ERC20 token to the exchange main wallets, which incur a lot of cost which might be challenging especially when the exchange is new to the market.</p><p><strong>GLOSSARY:</strong></p><p>CEX: Centralized Exchange.</p><p>ETH: Ether, Ethereum native token</p><p>ERC20: Ethereum Request for Comment 20; a standard that defines fungible token.</p><p>EVM: Ethereum Virtual Machine.</p><p>EOA: External Owned Account.</p><p>Multisig: A smart contract wallet, that provides the users with additional security, because it requires multiple user’s signatures, for the transaction to take place.</p><p><strong>PROBLEM BACKGROUND:</strong></p><p>The approach being adopted by most CEXs in handling crypto deposits has multiple advantages:</p><ul><li><p><strong><em>Easy UX:</em></strong> allows users to easily and predictably deposit into their associated address, knowing that the exchange will be able to process their deposit and credit their account at all times without any issues.</p></li><li><p><strong><em>Common address across EVM-compatible blockchains:</em></strong> Most CEXs provide a unique address that can be used across EVM-compatible blockchain (e.g. Polygon, BSC…).</p></li><li><p><strong><em>No extra cost for the user:</em></strong> When the deposit is made, once the block confirmation passes, the user’s account is accredited the crypto without any extra cost on their account for any internal operational cost.</p></li></ul><p>Meanwhile, there are multiple drawbacks that this approach imposes:</p><ul><li><p><strong><em>CEX operational cost:</em></strong> Once a deposit is made into the user associated address, the latter initially will not have any native token for gas costs, once the amount to be forwarded meets a certain threshold would require the platform to send native token as the first transaction, then followed by another transaction to transfer the deposited native token or ERC20 token back to the exchange main wallet, which would at least cost the exchange 42000 gas cost on every eligible deposit. Not to mention the asymmetrical gas cost; the user would only have to pay for a single transfer, while the exchange would have to pay for 2 transactions.</p></li><li><p><strong><em>False-positive fraudulent deposits:</em></strong> Since one of the main goals of exchanges is to ensure adherence to international laws and policies, there are on-chain monitoring for illegal activities such as funds originated from Tornado Cash, which can be used by random users to send dust tokens to associated crypto deposit addresses, which would lead for the CEX account to be frozen for suspicious activities.</p><p><strong>PROPOSED SOLUTION:</strong></p><p>To tackle forementioned challenges faced by the classic approach would be by centralizing the deposits into a single crypto wallet, which the depositer’s address is able to cryptographically sign and register it to their CEX account, each address would be associated at most with a single account to limit the attack vectors.</p><p>To elaborate more, the following flowchart would elaborate more on the process flow:</p></li></ul><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2278c2703d87fb2e9ecc499b60d2761ec1ad3e84bc30d1519ff4ad1f6d64a95f.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>To remove the associated address, the user would need to login to his CEX account and remove it manually from there without the need of any approval, which would make it available to be registered by any other CEX account.</p><p><strong>LIMITATIONS AND OVERCOMES:</strong></p><p>The beforementioned solution comes with a limitation, kudos to the chad <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/pcaversaccio">Pcaversaccio</a> for pointing it out. which is that it wouldn’t work with deposits originating from smart contracts which can impose a challenge in itself. A possible solution is in the case it matches for a multisig interface, it can rely on the owner’s addresses and threshold needed to validate for the minimum signatures needed to register that multisig under that CEX account for deposits. While if it’s not a multisig, we may use the deployer address as a signer who is responsible in registering the smart contract, or defining a common ERC interface which can be implemented and used to get the EOA owner address which can register the contract under their CEX account, it can use owner() function which is used by most existing ownable contracts.</p><p><strong>CONCLUSION:</strong></p><p>The proposed solution could improve a lot on the security and hugely reduce the maintenance costs for the CEXs as it’s something that is constantly needed to be maintained and factored in the costs to ensure the platform profitability especially for small exchanges. Which also would open the door for the exchanges to spend it on development, research and other areas which can bring greater value for the end-users.</p><p>That’s a wrap!</p>]]></content:encoded>
            <author>codeislight@newsletter.paragraph.com (Codeislight)</author>
        </item>
    </channel>
</rss>