<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hakili Jahil</title>
    <description>The latest articles on DEV Community by Hakili Jahil (@crypto-marko).</description>
    <link>https://dev.to/crypto-marko</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4057996%2F2a433506-6a36-476c-9799-fbcdb1fdc5f4.png</url>
      <title>DEV Community: Hakili Jahil</title>
      <link>https://dev.to/crypto-marko</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crypto-marko"/>
    <language>en</language>
    <item>
      <title>AnySwap vs Native Bridges, Liquidity Networks, and CEXs</title>
      <dc:creator>Hakili Jahil</dc:creator>
      <pubDate>Sat, 01 Aug 2026 12:52:08 +0000</pubDate>
      <link>https://dev.to/crypto-marko/anyswap-vs-native-bridges-liquidity-networks-and-cexs-18fi</link>
      <guid>https://dev.to/crypto-marko/anyswap-vs-native-bridges-liquidity-networks-and-cexs-18fi</guid>
      <description>&lt;h1&gt;
  
  
  AnySwap vs Native Bridges, Liquidity Networks, and CEXs
&lt;/h1&gt;

&lt;p&gt;AnySwap is best understood as the former name of Multichain, not as a live bridge to select for a new transfer. The supplied website for &lt;a href="https://anyswap.dev/" rel="noopener noreferrer"&gt;AnySwap&lt;/a&gt; is a reference point for that name, but it does not alter the decision: a current route should be chosen by security model, required asset, custody, total cost, and recovery path.&lt;/p&gt;

&lt;h2&gt;
  
  
  2021, then 2023: the history that decides the comparison
&lt;/h2&gt;

&lt;p&gt;AnySwap began as a cross-chain decentralized exchange and was officially renamed Multichain on 16 December 2021; the stated focus shifted from a DEX toward cross-chain infrastructure. The contemporary &lt;a href="https://www.prnewswire.com/news-releases/anyswap-to-officially-rebrand-as-multichain-301446381.html" rel="noopener noreferrer"&gt;rebrand announcement&lt;/a&gt; is the useful historical record, because it explains why searches for AnySwap, ANY, Multichain, routers, and bridges lead to the same project history.&lt;/p&gt;

&lt;p&gt;The more important fact is what followed. On 6 July 2023, Multichain suffered abnormal withdrawals; Chainalysis reported more than $125 million involved and said the team later announced that operations had ceased. That &lt;a href="https://www.chainalysis.com/blog/multichain-exploit-july-2023" rel="noopener noreferrer"&gt;post-incident report&lt;/a&gt; makes an old feature comparison incomplete if it treats AnySwap as an ordinary, current bridge option.&lt;/p&gt;

&lt;p&gt;That settles the narrow question. AnySwap’s old architecture is worth understanding because it solved a real interoperability problem. It is not a reason to route a fresh transfer through an old brand or an interface merely because the name is familiar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AnySwap existed: moving value without the old detour
&lt;/h2&gt;

&lt;p&gt;Separate blockchains do not natively share balances or state. A &lt;a href="https://ethereum.org/bridges" rel="noopener noreferrer"&gt;bridge&lt;/a&gt; is the mechanism that carries assets or messages between those otherwise separate ecosystems. Before cross-chain protocols became routine, a user commonly had to sell an asset, send funds to a centralized exchange, withdraw the desired asset to another network, then make another swap. The process added custody, withdrawal rules, address-format mistakes, and several fee events.&lt;/p&gt;

&lt;p&gt;AnySwap’s proposition was simpler: lock an asset on one chain and make a corresponding representation available on another, while a cross-chain signer network authorized the movement. In practice, that removed the exchange detour for many routes and put bridging inside a wallet-led DeFi flow.&lt;/p&gt;

&lt;p&gt;Its model still illustrates the central bridge trade-off. Blockchain networks are siloed, and bridge designs differ in who verifies a transfer, how much connectivity they offer, and how they balance cost, speed, and security. Ethereum’s &lt;a href="https://ethereum.org/developers/docs/bridges" rel="noopener noreferrer"&gt;technical overview of bridge designs&lt;/a&gt; classifies Multichain among external-validator bridges rather than native bridges secured directly by the connected chains.&lt;/p&gt;

&lt;h2&gt;
  
  
  AnySwap and the alternatives, compared on the criteria that matter
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Best use&lt;/th&gt;
&lt;th&gt;What verifies the move&lt;/th&gt;
&lt;th&gt;Cost and timing mechanics&lt;/th&gt;
&lt;th&gt;What to inspect first&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Historic AnySwap / Multichain model&lt;/td&gt;
&lt;td&gt;Understanding legacy wrapped assets and old integrations&lt;/td&gt;
&lt;td&gt;External signer network using threshold-style authorization&lt;/td&gt;
&lt;td&gt;Source-chain gas, destination execution, and route liquidity or protocol fees&lt;/td&gt;
&lt;td&gt;Whether the service and the exact contracts are operational&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Native bridge&lt;/td&gt;
&lt;td&gt;Moving the same asset between a specific chain pair&lt;/td&gt;
&lt;td&gt;The chain’s own bridge and its defined verification path&lt;/td&gt;
&lt;td&gt;Often direct, but withdrawals can have protocol-set finality delays&lt;/td&gt;
&lt;td&gt;Official bridge URL, token representation, withdrawal timing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liquidity network or intent protocol&lt;/td&gt;
&lt;td&gt;Fast same-asset movement or a specified destination outcome&lt;/td&gt;
&lt;td&gt;Liquidity providers, relayers, and the protocol’s settlement design&lt;/td&gt;
&lt;td&gt;Quoted output reflects gas, relayer compensation, and liquidity conditions&lt;/td&gt;
&lt;td&gt;Exact token, minimum received, route availability, settlement model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Centralized exchange withdrawal&lt;/td&gt;
&lt;td&gt;When funds are already held on an exchange or a supported withdrawal is simplest&lt;/td&gt;
&lt;td&gt;The exchange’s custody and withdrawal operations&lt;/td&gt;
&lt;td&gt;Trading spread or fee plus a network withdrawal fee&lt;/td&gt;
&lt;td&gt;Supported network, deposit memo rules, withdrawal status, custody exposure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Native bridges are the cleanest comparison point when the objective is the same canonical asset on a defined pair, such as Ethereum and OP Mainnet. They are not automatically faster: Optimism documents a one-to-three-minute L1-to-L2 transfer but a seven-day L2-to-L1 withdrawal challenge period. That is a concrete example of why a bridge’s direction matters more than its marketing label.&lt;/p&gt;

&lt;p&gt;Liquidity networks and intent protocols attack a different part of the old problem: the user specifies the desired result rather than manually selecting lock, mint, and settlement steps. The &lt;a href="https://docs.across.to/guides/concepts/crosschain-intents" rel="noopener noreferrer"&gt;Across explanation of cross-chain intents&lt;/a&gt; describes the distinction clearly: conventional bridges make the user specify the path, while solvers compete to deliver the stated outcome. That can improve the interface, but it changes the trust, settlement, and fee mechanics rather than making them disappear.&lt;/p&gt;

&lt;h2&gt;
  
  
  The signer model was useful, but it was never the whole answer
&lt;/h2&gt;

&lt;p&gt;AnySwap’s design used secure multi-party computation. &lt;a href="https://csrc.nist.gov/Projects/pec/threshold" rel="noopener noreferrer"&gt;Multi-party computation&lt;/a&gt; means several parties can jointly perform a computation without sharing their private inputs outright. In a bridge context, the practical aim is to avoid one operator holding a complete signing key.&lt;/p&gt;

&lt;p&gt;That is an improvement over a single hot wallet, not a blanket verdict on a bridge. The decisive question is still who can authorize a transfer, what threshold is required, how key shares and signers are governed, and what happens if the service stops. A polished front end cannot answer any of those questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose by transfer type, not by the AnySwap name
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Same asset, one official chain pair:&lt;/strong&gt; compare the native bridge first. Confirm the native versus bridged token contract before approving anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;USDC, ETH, or another liquid asset needed quickly on a different network:&lt;/strong&gt; compare live quotes from intent or liquidity networks. The amount received after every fee is the number that matters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Different asset required on the destination:&lt;/strong&gt; distinguish a bridge from a cross-chain swap. A route that promises a new asset has both a transfer leg and pricing or liquidity exposure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Funds already on an exchange:&lt;/strong&gt; a supported network withdrawal can be operationally simpler, but it replaces protocol trust with exchange custody and withdrawal controls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Old anyAsset, ANY, or Multichain-related balance:&lt;/strong&gt; treat it as a legacy-asset investigation, not a normal bridge transaction. Identify the contract, chain, and current redemption path before signing an approval.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What deserves checking before any approval is signed
&lt;/h2&gt;

&lt;p&gt;The exact asset contract comes first. A bridged representation is not automatically interchangeable with the native token, even if ticker symbols match. The recipient network and its gas token come next, followed by the quoted output amount, route status, and the approval requested by the contract.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://anyswap.dev/" rel="noopener noreferrer"&gt;AnySwap project page&lt;/a&gt; is where a reader can inspect the specific destination supplied with this article. A current transfer, however, should proceed only after the official route, contract addresses, operational status, and recovery procedure have been independently verified. The useful legacy of AnySwap is the problem it exposed: cross-chain movement needed fewer manual detours. The durable lesson is to compare the verification model before the interface.&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>crypto</category>
      <category>web3</category>
    </item>
    <item>
      <title>AnySwap Must Be Verified Before Any Commitment</title>
      <dc:creator>Hakili Jahil</dc:creator>
      <pubDate>Sat, 01 Aug 2026 12:51:38 +0000</pubDate>
      <link>https://dev.to/crypto-marko/anyswap-must-be-verified-before-any-commitment-8f7</link>
      <guid>https://dev.to/crypto-marko/anyswap-must-be-verified-before-any-commitment-8f7</guid>
      <description>&lt;h1&gt;
  
  
  AnySwap Must Be Verified Before Any Commitment
&lt;/h1&gt;

&lt;p&gt;The correct decision is to give &lt;a href="https://anyswap.dev/" rel="noopener noreferrer"&gt;AnySwap&lt;/a&gt; no new approval, signature, or bridge deposit until the live interface, exact contract address, transaction simulation, and destination asset all match independently verified records. The name is historical: Anyswap announced its rebrand to Multichain in December 2021. This answer holds whenever a site using the AnySwap name asks a wallet to commit assets or permissions.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technical fact&lt;/th&gt;
&lt;th&gt;What must match before action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Protocol identity&lt;/td&gt;
&lt;td&gt;The displayed name, official domain, contract publisher, and current operating status.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Origin network&lt;/td&gt;
&lt;td&gt;The wallet’s selected chain, token contract, amount, and available gas token.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Destination asset&lt;/td&gt;
&lt;td&gt;The destination chain and the exact token contract—not just its ticker, icon, or displayed balance.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wallet request&lt;/td&gt;
&lt;td&gt;Whether it is a transaction, an ERC-20 &lt;code&gt;approve&lt;/code&gt;, or an EIP-2612 &lt;code&gt;permit&lt;/code&gt; signature.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spender and recipient&lt;/td&gt;
&lt;td&gt;The contract receiving permission and the address receiving the resulting asset.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Route economics&lt;/td&gt;
&lt;td&gt;Protocol fee, swap fee, network gas on both sides, minimum received, and any route expiry.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What must be true before AnySwap receives a commitment?
&lt;/h2&gt;

&lt;p&gt;Four checks must pass together. First, the name must resolve to a documented protocol history and a current operator; a familiar brand label is not identity. Second, the wallet must show the intended network before anything is signed. Third, the contract address must match an authoritative record for that chain. Fourth, the transaction preview must state an amount, recipient, and permission scope that make sense for the intended transfer.&lt;/p&gt;

&lt;p&gt;A bridge is not merely a payment form. It is an interoperability system that moves an asset or its representation between separate networks; Ethereum’s bridge guide describes bridges as a way to move assets across blockchains for different applications and ecosystems. &lt;a href="https://ethereum.org/bridges" rel="noopener noreferrer"&gt;That basic bridge model&lt;/a&gt; is why the origin chain, destination chain, and resulting token contract are all part of the decision, not background details.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which technical facts should be read before the wallet popup appears?
&lt;/h2&gt;

&lt;p&gt;Read the route before connecting the wallet. A usable route names the source token contract, the destination token contract, the networks, the expected output, and each fee category. “USDC to USDC” is incomplete: the same ticker can represent different contracts, issuers, bridged versions, or wrappers. The contract address is the identifier that settles the question.&lt;/p&gt;

&lt;p&gt;Then separate a transfer from a permission. An &lt;a href="https://eips.ethereum.org/EIPS/eip-20" rel="noopener noreferrer"&gt;ERC-20 allowance&lt;/a&gt; is the amount a token holder authorizes a spender to withdraw through &lt;code&gt;transferFrom&lt;/code&gt;; it can outlive the bridge transaction. If the interface requests an unlimited amount when a limited amount would complete the stated task, the efficient response is to stop, not to rationalize the difference.&lt;/p&gt;

&lt;p&gt;Also inspect chain IDs in the wallet and the block explorer. A legitimate-looking contract address on the wrong network is still the wrong destination. The same applies to a native token versus an ERC-20 representation: a route can complete exactly as coded while delivering an asset that cannot be used where the user intended.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does the AnySwap name change the first check?
&lt;/h2&gt;

&lt;p&gt;The historical identity must be resolved before technical convenience matters. The project’s December 16, 2021 announcement states that &lt;a href="https://www.prnewswire.com/news-releases/anyswap-to-officially-rebrand-as-multichain-301446381.html" rel="noopener noreferrer"&gt;Anyswap rebranded to Multichain&lt;/a&gt;. It also said that the original Anyswap site would no longer be updated.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Anyswap is pleased to announce that from now on, Anyswap shall be known as Multichain.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;— Multichain, December 16, 2021&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That history makes “official-looking” an inadequate test. A user should seek a current, independently corroborated statement of who operates the interface, what contracts it uses, and whether the route is active. A domain, search result, social post, or old tutorial cannot supply those facts by itself. Before any signature, the reader can inspect the displayed networks, contract details, and route information in the &lt;a href="https://anyswap.dev/" rel="noopener noreferrer"&gt;AnySwap interface&lt;/a&gt;; if those details cannot be verified elsewhere, no commitment is justified.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does an approval or permit actually allow?
&lt;/h2&gt;

&lt;p&gt;An approval is not a harmless preparatory click. Under ERC-20, &lt;code&gt;approve&lt;/code&gt; lets a specified spender withdraw up to the approved amount, while &lt;code&gt;allowance&lt;/code&gt; reports what remains available to that spender. The shortest safe path is to approve only the amount required for the transaction, then confirm that the spender address is the contract expected for that route.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is a typed signature still a commitment?
&lt;/h3&gt;

&lt;p&gt;A &lt;a href="https://eips.ethereum.org/EIPS/eip-2612" rel="noopener noreferrer"&gt;permit&lt;/a&gt; is a signed authorization that changes an ERC-20 allowance without the usual on-chain &lt;code&gt;approve&lt;/code&gt; transaction. It can feel like a login because it is signed off-chain, but the signed fields still matter: owner, spender, token, value, deadline, chain ID, and verifying contract. The signing screen should be read as carefully as a transaction screen. A vague request, an unexpected spender, an excessive value, or a distant deadline is enough reason to decline it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can a low fee quote outweigh the bridge’s trust model?
&lt;/h2&gt;

&lt;p&gt;No. Fees answer the cost question; the bridge design answers the custody and execution question. Trusted bridges depend on an operator or external system, while other designs rely more directly on smart contracts and underlying-chain verification. Ethereum’s overview notes that bridge designs carry smart-contract, operational, custody, and user-error risks, and that trusted designs introduce additional trust assumptions. &lt;a href="https://ethereum.org/bridges" rel="noopener noreferrer"&gt;Those bridge trade-offs&lt;/a&gt; should be evaluated before comparing a few dollars of gas.&lt;/p&gt;

&lt;p&gt;History reinforces the point. Chainalysis reported that Multichain experienced unauthorized withdrawals exceeding $125 million in July 2023 and that the team later announced it had ceased operations. &lt;a href="https://www.chainalysis.com/blog/multichain-exploit-july-2023" rel="noopener noreferrer"&gt;The reported cessation and withdrawals&lt;/a&gt; are facts to weigh before treating an AnySwap-branded route as routine infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  How should the user verify the thing that actually moves funds?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open a trusted block explorer for the selected origin chain and confirm the token and spender contracts character by character.&lt;/li&gt;
&lt;li&gt;Run the smallest practical test only after the route, allowance, and destination token have been verified; record the transaction hash and confirm the received asset on the destination chain.&lt;/li&gt;
&lt;li&gt;Revoke or reduce any allowance that is no longer needed, then repeat the check before a larger transfer because contracts, interfaces, and route conditions can change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A test transaction is not proof that a later transaction is identical. It proves only the precise route, contracts, amounts, and wallet state used in that test. The next transaction still deserves a new preview.&lt;/p&gt;

&lt;h2&gt;
  
  
  When is the decision settled?
&lt;/h2&gt;

&lt;p&gt;The decision is settled when identity, current status, contract addresses, wallet request, destination asset, and full fee path agree—and when a small verified route behaves as expected. If any one of those checks is missing, the efficient choice is to keep the wallet disconnected and commit nothing.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
