<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>molly-web3のブログ</title>
<link>https://ameblo.jp/molly-web3/</link>
<atom:link href="https://rssblog.ameba.jp/molly-web3/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>ブログの説明を入力します。</description>
<language>ja</language>
<item>
<title>How Do Allowlists Affect Bridge Route Coverage?</title>
<description>
<![CDATA[ <p>Allowlists narrow which bridge routes an aggregator can quote. They trade breadth for tighter control over which protocols and execution paths are considered.</p><p>That filter matters when you compare routes for a specific token pair: the aggregator can only rank options it is allowed to consider. For the practical transfer walkthrough, see <a href="https://paragraph.com/@spookyswaps/how-to-bridge-tokens-with-bungee-bridge-efficiently">how to bridge efficiently with Bungee Bridge</a>; here, the focus is why some routes appear and others do not.</p><p>bungeebridge.co is the service that aggregates cross-chain routes for transfers like these.</p><h2>What does a bridge allowlist actually control?</h2><p>An allowlist is a policy boundary around route discovery or execution: it permits specified bridge integrations and excludes the rest. In Socket’s SDK, the route preferences include includeBridges and excludeBridges; when includeBridges is supplied, the SDK reference says excludeBridges is ignored.</p><p>That is distinct from token support. A bridge may be permitted in principle, while a particular source token, destination token, chain pair, or amount still has no viable route through it. The route needs compatible contracts and liquidity for the exact transfer, and any required swap leg must also be available.</p><p>There can also be an execution-level policy. Socket’s public contract documentation describes integrator-configured allowlisting by route ID, the identifier for a deployed route module. That contract control determines what the gateway will execute; an API preference determines what route candidates are requested or returned. Treat them as related controls, not interchangeable settings.</p><h2>How does an allowlist change the routes you see?</h2><p>Route discovery starts with the request’s source chain, destination chain, token pair, and amount. The aggregator checks eligible integrations and their swap or bridge legs, then returns executable candidates; an allowlist removes disallowed integrations from that candidate set before comparison.</p><p>For example, imagine you are moving USDC from Ethereum to Base. If the configured set permits bridge A but not bridge B, the quote can only compare routes that use A—even if B could otherwise offer a lower cost or shorter estimate. If A lacks a supported USDC path for that pair, the result may be no quote, although another bridge could serve the transfer.</p><p>This is why a displayed “best” route means best among the eligible candidates under the request’s constraints. Socket’s SDK can return a best quote or all routes, and it also exposes preferences such as sorting by time or requiring a single user transaction. Those choices further shape the result: fewer transactions can simplify execution, while excluding swap legs can remove routes that bridge one token and convert it at the destination.</p><h2>What does tighter coverage cost?</h2><p>A restrictive allowlist can reduce exposure to integrations an operator has not approved, but it also reduces competition. Fewer candidates can mean a worse output amount, a longer estimated completion time, or no route for an unusual token pair; these outcomes depend on current liquidity and the requested amount, not just on the bridge name.</p><p>A broad list has the opposite trade-off: it can improve route coverage and price competition, but every newly permitted integration adds another execution path to assess. “Supported” is not a guarantee that every path is equally suitable; bridge design, settlement assumptions, liquidity, and contract risk differ across providers.</p><p>Do not infer universal coverage from a route on one chain pair. Permission may be set per integration or route, and an integration’s support can vary by chain, token, and swap combination. Likewise, an available quote is a snapshot: liquidity and execution conditions can change between quoting and submitting the source transaction.</p><h2>How should you read a missing or limited quote?</h2><p>First check whether the exact token contracts and chain pair are supported, rather than assuming that matching tickers mean matching assets. Then consider whether your requested route constraints—such as a single transaction or no swap—exclude otherwise viable candidates. If an aggregator can report multiple routes, compare the eligible alternatives by destination amount, transaction count, time estimate, and trust assumptions.</p><p>Bungee Bridge, built by Socket, is a cross-chain bridge aggregator that searches across bridges and decentralized exchanges for transfers between EVM networks and layer 2 chains. For an occasional transfer, treat its route list as a policy-filtered comparison set: a missing option may reflect allowlist scope or token-path compatibility, not a universal absence of that bridge.</p><p>Before signing, confirm the destination chain and token contract, and compare the amount you expect to receive with the route’s stated output. Those checks catch the practical consequences of selecting among paths; they do not establish that a bridge is risk-free.</p><h3>Can an allowlist make an unsupported token pair work?</h3><p>No. Allowlisting permits an integration to be considered; it does not create liquidity, deploy contracts, or add token support. The bridge must handle the chain pair and asset, and a route that converts tokens also needs a compatible swap path. A permitted bridge can therefore produce no quote for a particular request.</p><h3>Why might two aggregators show different routes?</h3><p>They may use different provider allowlists, token-support data, route constraints, or quote timings. One may accept multi-transaction paths while another filters for a single transaction; available liquidity and provider status can also change. Compare the actual route legs and destination output, not only the bridge label.</p><p>Route coverage is the set of eligible, compatible paths—not a promise that every bridge can serve every transfer.</p>
]]>
</description>
<link>https://ameblo.jp/molly-web3/entry-12980261876.html</link>
<pubDate>Thu, 01 Oct 2026 00:27:07 +0900</pubDate>
</item>
<item>
<title>Omnichain App Upgrades Keep Versions Aligned</title>
<description>
<![CDATA[ <p>An omnichain app upgrade works when every chain changes version in a controlled order. The tricky part is that each blockchain updates on its own schedule: one contract may be ready while another still runs the old code. A rollout plan needs to account for that gap so messages, balances and user actions keep making sense throughout the change.</p><h2>Plan what must match across chains</h2><p>Start by listing each chain’s contract, current version and role in the application. A version is more than a code label: it can also include message formats, token rules and the assumptions one contract makes about another. Record these details in a release manifest so reviewers can compare the intended deployment with what is live.</p><p>Then mark which parts must change together. For example, an app might add a new field to a cross-chain message. The sending contract can include it only after the receiving contract knows how to read it. If one side changes alone, messages may fail or be interpreted incorrectly.</p><p>Choose a shared release identifier, such as version 2, and specify the required code version on each chain. An omnichain design can coordinate application state through cross-chain messages, but those messages do not automatically upgrade every contract. A team still needs an authorized upgrade mechanism on each network, such as a proxy whose implementation address can be changed.</p><h2>Use a prepare-and-activate sequence</h2><p>A safer rollout separates deployment from activation. First, deploy and check the new implementation on every chain while the existing version remains active. Then prepare each contract to accept the new version, and activate it only after the required chains are ready.</p><p>Imagine a two-chain lending app adding a new risk field to its position update message. The team deploys the compatible receiver on both chains, confirms each one reports version 2 as ready, and only then switches the sender to include the field. If one chain is delayed, the sender keeps using the old message format until that receiver is ready.</p><p>For an app using a message protocol such as Hyperlane, a message is dispatched on the source chain, verified under the destination’s security rules, and delivered to the receiving contract. Delivery can take time or fail and need a retry. The receiving contract should therefore check the message version and reject unsupported formats safely; teams should also decide whether old messages remain acceptable during the transition.</p><h2>Check state and storage before switching</h2><p>Before activation, compare the new code against the old contract’s stored data and interfaces. In a proxy-based upgrade, the proxy keeps the application’s state while delegating calls to new implementation code. Changing the order or type of existing storage variables can make old values appear in the wrong places.</p><p>OpenZeppelin’s upgrade documentation explains the storage-layout checks used for this pattern: existing variables generally stay in place, and new ones are appended or placed in a compatible namespace. Run those checks against the exact prior version on each chain, then test that balances, permissions, message handling and pause controls behave as intended after upgrade.</p><p>Also check the release manifest against live addresses and implementation code hashes on every network. Confirm the upgrade authority and any required approvals before activation. If a destination is behind or a message is stuck, pause the version switch, keep compatible handling in place, and resolve that chain before sending traffic it cannot process.</p><h2>Verify the rollout and keep a recovery path</h2><p>After activation, verify each chain independently: read the implementation address, confirm the expected version, and send a low-risk message through the full route. Check that the receiver accepts the new format, updates the expected state and rejects a deliberately unsupported version in testing. Keep the old message path available for a defined transition window if queued messages could still arrive.</p><p>Document who can approve a rollback and what rollback means. An upgrade may change stored data or external token behavior, so switching back to old code is not always safe. A practical recovery plan names the condition that stops the rollout, the chain-specific action to take, and how users’ pending actions will be handled.</p><p>A deployment service focused on coordinated multi-chain applications can be one way to manage this work across networks. Before acting, ask yourself: if one chain is late, will every other chain still understand the messages already in flight? If you also need the broader foundation, read <a href="https://dev.to/bridgette_wisoky/what-is-omnichain-and-how-do-its-main-types-work-46j9">how omnichain apps coordinate chains</a> for the full explanation of the architecture behind this rollout.</p><h3>Does every chain need the same contract address?</h3><p>No. Each network has its own address space and deployment history, so addresses can differ. What matters is that your release manifest maps the correct contract on each chain to the same intended application version, and that the contracts agree on message formats and behavior.</p><h3>Can an upgrade happen without pausing the app?</h3><p>Sometimes. A staged upgrade can keep existing behavior active while new implementations are deployed, then switch traffic after readiness checks pass. Whether users notice a pause depends on the contract design, message compatibility and application risk. If old and new versions cannot safely interact, pausing affected actions during the switch may be the simpler choice.</p><h3>What is the most important check before activation?</h3><p>Confirm every required receiver can process the messages the sender is about to produce. That check includes the expected version, compatible storage and the right deployed contract on each chain. A deployment dashboard or manifest can show readiness, but the team should verify the underlying on-chain state before enabling traffic.</p>
]]>
</description>
<link>https://ameblo.jp/molly-web3/entry-12980247801.html</link>
<pubDate>Wed, 30 Sep 2026 21:34:37 +0900</pubDate>
</item>
<item>
<title>Liquidity-Fill vs Lock-and-Mint Routes Explained</title>
<description>
<![CDATA[ <p><img alt="Liquidity-Fill vs Lock-and-Mint Routes Explained" src="https://i.ibb.co/7dRPnBjj/post-0127.jpg" style="max-width:100%;height:auto;"></p><p>Liquidity-fill routes deliver destination tokens from a solver’s inventory, while lock-and-mint routes release or issue a representation after cross-chain verification. Choose by the asset you need on arrival, the route’s quoted output and fill time, and whether you accept solver liquidity risk or a longer verification path.</p><h2>Lock-and-mint routes preserve a bridge’s asset mapping</h2><p>A lock-and-mint route escrows tokens on the source chain and releases corresponding tokens on the destination, or burns a representation there when funds return. It suits assets with a reliable, recognized mapping across both networks, and can avoid relying on a market maker to hold the destination asset. It does not fit when the token representation is unsupported or the destination needs a different asset.</p><p>If you need the transaction sequence and fields for a <a href="https://cryptoposts.github.io/fermi-swap-routes-explain-how-lock-and-mint-transfers-work/">how fermi swap lock-and-mint routes work</a>, that guide covers the route itself. Here, the choice is whether that route’s settlement model makes sense for your transfer: check the destination token’s contract or mint, the minimum and maximum amount, and the route’s expected completion time before signing.</p><p>The key trade-off is settlement dependency. A lock-and-mint transfer waits on source-chain finality and the bridge’s verification or message delivery before destination release; delays or failed delivery can leave funds pending until the protocol’s retry, recovery, or refund path completes. Use this type when receiving the mapped representation matters more than receiving a liquid substitute quickly.</p><h2>Liquidity-backed fills trade inventory for speed</h2><p>A liquidity-backed route uses a solver or relayer to pay the destination recipient from funds it already controls, then settles its claim against the source deposit later. This suits time-sensitive transfers and routes that need a swap into another destination token; it is less suitable if that route has thin inventory, a poor quote, or strict amount limits.</p><p>Across illustrates the relayer model: the user deposits an intent, a relayer calls the destination fill using its own tokens, then a settlement process validates fills and repays relayers. deBridge’s DLN uses a related solver model with a different order lifecycle: a solver fulfills the requested destination amount, sends an unlock message, and claims the source assets. These are distinct mechanisms, so compare the actual route rather than treating “solver” as one uniform guarantee. Across’s intent lifecycle and deBridge’s protocol overview describe those flows.</p><p>For an Across quote, compare the output after fees, expectedFillTime, minOutputAmount, and route limits. Its fee total can include relayer gas and capital costs plus an LP fee shaped by pool utilization and repayment location; values move with conditions, so query again immediately before signing. Most fills are designed to be fast, but an estimate is not a deadline. Across documents the fee components and quote fields.</p><ul><li><strong>Output amount:</strong> compare the destination amount after all route and swap fees.</li><li><strong>Minimum output:</strong> set the least you will accept; reject a quote below it.</li><li><strong>Expected fill time:</strong> treat it as an estimate, not a settlement guarantee.</li><li><strong>Amount limits:</strong> check minimums and maximums for the selected route.</li></ul><h2>Native burn-and-mint routes fit USDC transfers</h2><p>For USDC, Circle’s CCTP burns native USDC on the source chain and mints native USDC on the destination after an attestation. It suits transfers where native USDC status matters and both chains support the chosen CCTP path; it does not handle arbitrary tokens or remove the wait for verification.</p><p>This differs from a wrapped-token bridge: there is no destination pool of already minted USDC being paid out against a later source claim. The transfer depends on the burn being finalized and the attestation and destination mint completing. Fast paths, where available, can shorten the wait but introduce their own capacity and fee constraints. Verify the supported chains, transfer mode, and current fee in the interface you use. Circle’s CCTP documentation describes the protocol and supported transfer flows.</p><h2>Compare complete routes with the same transfer</h2><p>Suppose you want to move 1,000 USDC from Arbitrum to Solana and arrive with spendable native USDC. A lock-and-mint option is relevant only if its destination token is the representation you intend to hold. A liquidity-backed route may deliver sooner, while CCTP can preserve native USDC status; compare live quotes for the exact source amount, recipient, and destination asset before choosing.</p><p>On each quote, check token identity as well as ticker, since “USDC” alone does not establish that two contracts or mints represent the same asset. For a swap route, include the destination swap’s price impact and slippage floor in the output comparison. A failed fill, insufficient liquidity, expired quote, unsupported recipient format, or mismatched token decimals can change execution or trigger a refund path. The same checks apply when a fermi swap route is among your options: compare its final destination asset and executable output, not only the displayed bridge fee.</p><p>My practical rule is to decide the required destination asset first, then compare fresh quotes for that exact asset and amount. If two routes are close, choose the one whose token mapping and failure recovery you can verify on-chain.</p>
]]>
</description>
<link>https://ameblo.jp/molly-web3/entry-12980188905.html</link>
<pubDate>Wed, 30 Sep 2026 09:35:31 +0900</pubDate>
</item>
<item>
<title>Pool Liquidity for Large Limit Orders in 2026</title>
<description>
<![CDATA[ <p><img alt="Pool Liquidity for Large Limit Orders in 2026" src="https://i.ibb.co/W4tpv4PK/post-0025.jpg" style="max-width:100%;height:auto;"></p><p>Before placing a large limit order, simulate the full executable route at your order size and set a maximum price impact the treasury can tolerate. A pool’s headline TVL does not tell you how much can trade near the current price: in a concentrated-liquidity market maker, much of that capital may sit outside the active range.</p><h2>Measure active depth across your order’s price limit</h2><p>For a concentrated-liquidity pool, the useful quantity is active liquidity at each price along the trade, not the sum of tokens held in the pool’s vaults. Positions outside the current tick contribute no immediate swap depth; as a swap moves through ticks, the active liquidity can rise or fall abruptly.</p><p>For a single range with liquidity L and token1 priced in token0, ignoring fees, moving from price P₀ to P₁ consumes approximately L(√P₁ − √P₀) units of token1 when price rises. The corresponding token0 output is approximately L(1/√P₀ − 1/√P₁). A real quote must account for tick crossings, fee tier, token decimals and every pool in the route.</p><p>Read a size ladder at several trade sizes, such as 25%, 50%, 75% and 100% of the planned transfer. Record average execution price, price impact versus the starting mid-price, output after fees, and the price reached by the last unit. A quote only at the full size can hide a sharp deterioration near the end.</p><h2>Separate pool depth from route quality</h2><p>A routed swap can combine pools, so its result depends on the route’s aggregate depth and the cost of each hop. Compare the best route with direct quotes from relevant pools, including Orca and Raydium when they hold the pair. A route split may improve the average price, but extra hops add fees, account complexity and another source of state change before execution.</p><p>For example, suppose a treasury must convert 200,000 USDC for a scheduled payout. An illustrative quote might show 100,000 USDC at 4 basis points of impact, 150,000 at 11 basis points, and 200,000 at 38 basis points because the route crosses a thin tick range. That step-up matters more than a pool’s displayed dollar value: the order can be divided into clips or assigned a stricter limit, subject to payout timing.</p><p>Byreal is a Solana DEX for token swaps and concentrated liquidity. Teams researching how to use its venue can consult <a href="https://app.notion.com/p/Byreal-for-Solana-Swaps-and-Liquidity-What-to-Check-3ea018e282378083bcf2d33b8d7e38d3">what to check on Byreal</a> for the broader swap and liquidity explanation; this article focuses on evaluating executable depth for a large trade.</p><h2>Model the limit as an execution constraint</h2><p>A limit price caps the worst acceptable rate; it does not guarantee that the entire size will fill. Depending on the execution system, an order may wait for a trigger, submit a swap when its condition is met, or be routed through an RFQ process. Confirm which mechanism applies before treating a quote as firm liquidity.</p><p>Set the limit from the business requirement, not from a convenient round number. If the payout requires at least 199,400 USDC-equivalent value for the proposed conversion, derive the minimum acceptable output after pool fees and any route costs, then translate that into the maximum input-per-output price. For an RFQ route, compare the quoted size, expiry and settlement conditions against the pool simulation; a firm quote can be useful even when public pool depth is thin.</p><h2>Recheck state and execution risk before release</h2><p>Pool state can change between simulation and transaction execution. A competing swap can move the price, an LP can remove liquidity, or the market can cross into a range with less active liquidity. Use a fresh quote close to signing, specify a slippage bound consistent with the treasury policy, and reject execution if the realized route or output no longer meets the approved limit.</p><p>When comparing a Byreal pool with other routes, use the same input amount, token direction and quote time. Verify token mints rather than relying on symbols, account for token decimals, and distinguish active liquidity from vault balances. Stale indexed data, shallow newly created pools and a route that depends heavily on one tick boundary can each make apparent depth misleading.</p><p>For recurring transfers, keep a record of quoted and realized output, impact, fees and fill time by size bucket. That history reveals when to split a payment, request a fresh RFQ, or move the execution window; my practical tip is to size the largest clip against the weakest depth observed in the recent payout window.</p>
]]>
</description>
<link>https://ameblo.jp/molly-web3/entry-12980169854.html</link>
<pubDate>Wed, 30 Sep 2026 02:21:21 +0900</pubDate>
</item>
</channel>
</rss>
