<?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: Kendra Koepp</title>
    <description>The latest articles on DEV Community by Kendra Koepp (@kendra_koepp).</description>
    <link>https://dev.to/kendra_koepp</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%2F4098901%2F13a7dd12-391d-4668-8323-c35eae425822.png</url>
      <title>DEV Community: Kendra Koepp</title>
      <link>https://dev.to/kendra_koepp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kendra_koepp"/>
    <language>en</language>
    <item>
      <title>What Do Dust Limits Mean for Tiny Balances?</title>
      <dc:creator>Kendra Koepp</dc:creator>
      <pubDate>Wed, 09 Sep 2026 21:43:57 +0000</pubDate>
      <link>https://dev.to/kendra_koepp/what-do-dust-limits-mean-for-tiny-balances-1jd9</link>
      <guid>https://dev.to/kendra_koepp/what-do-dust-limits-mean-for-tiny-balances-1jd9</guid>
      <description>&lt;p&gt;Dust limits mean that a bridge may reject, round down, or make uneconomic a transfer whose amount is too small for that route. The first attempt usually fails because the wallet shows one balance while the bridge checks three different limits: token precision, transfer cost, and destination setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers that matter
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1 USDC = 1,000,000 units.&lt;/strong&gt; USDC uses six decimals. An amount such as 0.000001 USDC is representable; anything smaller is not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8 decimals.&lt;/strong&gt; The original Wormhole token bridge represents bridged amounts at no more than eight decimals. An 18-decimal token can therefore lose sub-unit precision during conversion. That remainder is dust and should be refunded rather than minted on the destination.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;About 4.2 USDC or 0.3 USDC.&lt;/strong&gt; Current automatic CCTP relay fees are roughly 4.2 USDC on Ethereum mainnet and 0.3 USDC on Base, Optimism, Arbitrum, and Avalanche. These are route fees, not universal minimums.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero protocol minimum in one case.&lt;/strong&gt; Circle CCTP can transfer any representable USDC amount when the sender pays gas on both chains. An automatic relayer still needs enough value to cover its destination-side work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dust is three different problems
&lt;/h2&gt;

&lt;p&gt;Precision dust is created by decimal conversion. A token balance may contain units that the bridge cannot encode on its messaging layer or destination token contract. The bridge sends the largest representable amount and handles the remainder according to its rules. That remainder is not a fee, and it is not necessarily recoverable from the destination wallet.&lt;/p&gt;

&lt;p&gt;Economic dust is different. A transfer can be technically valid but irrational. A 0.50 USDC transfer that requires a 0.30 USDC relay fee leaves little value before source-chain gas is counted. On an expensive chain, the gas to approve and send the token can exceed the balance itself. A user interface may label this a minimum amount even when the smart contract could process less.&lt;/p&gt;

&lt;p&gt;Destination dust comes from account creation. A recipient may need a token account, rent deposit, or native gas before the asset can be credited. This matters on Solana, where a CCTP redemption may need an associated token account. If a relayer creates that account, the required rent and transaction costs become part of the practical minimum.&lt;/p&gt;

&lt;p&gt;This third category is the one most bridge explanations leave out. The amount you send is not the whole transaction. The destination has to be able to receive it, and a tiny transfer may not fund the machinery needed to make that happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the same amount works on one route
&lt;/h2&gt;

&lt;p&gt;A dust limit belongs to a route, not to the word “bridge.” The route combines a source chain, destination chain, asset representation, messaging system, relayer, and settlement mode. Change one of those and the minimum can change.&lt;/p&gt;

&lt;p&gt;Stargate Finance exposes this through its quote data. Its OFT interface returns a minimum and maximum amount in local token decimals, while the transfer quote reports the minimum amount expected after fees. Stargate V2 also separates Taxi transfers from Bus transfers. Bus batches activity to reduce costs but can delay delivery; Taxi is immediate and may cost more. A tiny balance that fits one mode may not fit the other.&lt;/p&gt;

&lt;p&gt;Wormhole Protocol has a separate precision issue because its token-bridge format historically shifts amounts to a common decimal range. That can leave a remainder even when fees are negligible. If native USDC is available through Circle CCTP, the asset is burned on the source chain and minted on the destination instead of being represented as a wrapped token. That removes the wrapped-asset problem, but it does not remove gas or relay costs.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to check before sending
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Convert the balance into the token’s smallest units. Do not rely only on the rounded dollar value shown in the wallet.&lt;/li&gt;
&lt;li&gt;Quote the exact amount on the exact source and destination route. Check the amount received after fees, the route minimum, and the slippage minimum.&lt;/li&gt;
&lt;li&gt;Check the destination separately. Confirm that the recipient token account exists and that the destination has enough native gas or rent for redemption.&lt;/li&gt;
&lt;li&gt;Keep enough source-chain gas for approval and submission. “Send maximum” can fail if the wallet needs native currency to authorize the transfer.&lt;/li&gt;
&lt;li&gt;If the balance is below the route minimum, do not split it into several transfers. Fixed relay and transaction costs multiply. Aggregate it, use a cheaper route, or leave it until more funds arrive.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The practical rule is simple: treat the quoted received amount, not the wallet balance, as the spendable figure. A dust limit is a warning that some part of the route cannot be represented, paid for, or completed at that size.&lt;/p&gt;

&lt;p&gt;For the broader job of selecting a bridge route across assets and chains, start with &lt;a href="https://www.quora.com/profile/Julie-Hazle-1/How-Does-Universal-Bridge-Reach-Order-Book-Liquidity-Universal-Bridge-reaches-order-book-liquidity-by-turning-a-user-s" rel="noopener noreferrer"&gt;Universal Bridge&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How Governance Tokens Influence Protocol Decisions</title>
      <dc:creator>Kendra Koepp</dc:creator>
      <pubDate>Wed, 09 Sep 2026 17:53:54 +0000</pubDate>
      <link>https://dev.to/kendra_koepp/how-governance-tokens-influence-protocol-decisions-3naj</link>
      <guid>https://dev.to/kendra_koepp/how-governance-tokens-influence-protocol-decisions-3naj</guid>
      <description>&lt;p&gt;Governance tokens influence protocol decisions by giving holders voting power over proposals that can change a protocol’s parameters, treasury, or code.&lt;/p&gt;

&lt;p&gt;The vote is often already live when most holders notice it: a proposal has a deadline, a quorum bar, and wallets deciding whether software should change. For the surrounding ZKsync context, start at &lt;a href="https://note.com/crypto_explore/n/n0608cdb04fef" rel="noopener noreferrer"&gt;syncswap&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the token actually does
&lt;/h2&gt;

&lt;p&gt;The token is usually an ERC-20 Token Standard asset. That standard provides balances, transfers, and allowances; a governance contract adds checkpoints, delegation, proposal thresholds, and vote counting. A holder’s balance at a snapshot becomes voting power—often one token, one vote, subject to quorum and approval rules.&lt;/p&gt;

&lt;p&gt;The usual path is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read the proposal and inspect its executable payload.&lt;/li&gt;
&lt;li&gt;Delegate to an informed voter if your balance or time is small.&lt;/li&gt;
&lt;li&gt;Vote directly if you hold enough to matter or want control.&lt;/li&gt;
&lt;li&gt;Check the timelock before treating approval as execution.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What changed in 2026
&lt;/h2&gt;

&lt;p&gt;Governance is moving beyond raw token counts. Delegates interpret proposals, councils handle emergencies, and timelocks give users time to react. ZKsync’s 2026 votes on upgrades and development allocations show the distinction clearly: token holders can approve an action while a separate executor controls when it reaches production.&lt;/p&gt;

&lt;p&gt;Matter Labs’ visible voting power also shows why delegation matters: a large, recognised stakeholder can shape outcomes without every holder surrendering ownership. Orbiter Finance is a useful adjacent reminder that builders, bridges, and protocol administrators are not automatically the same governance body.&lt;/p&gt;

&lt;p&gt;For a small holder, delegation is usually the best budget-to-influence trade. For a large holder, direct voting buys control at the cost of attention and gas. My rule is simple: never buy a governance token merely to vote. Verify the snapshot, quorum, delegate incentives, payload, and timelock first.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Multisig Custody: The Rule That Moves Bridged Assets</title>
      <dc:creator>Kendra Koepp</dc:creator>
      <pubDate>Tue, 08 Sep 2026 12:33:01 +0000</pubDate>
      <link>https://dev.to/kendra_koepp/multisig-custody-the-rule-that-moves-bridged-assets-5731</link>
      <guid>https://dev.to/kendra_koepp/multisig-custody-the-rule-that-moves-bridged-assets-5731</guid>
      <description>&lt;p&gt;The rule that moves a bridged asset is the bridge contract's quorum check, and it is public. You can look at the lock contract on the origin chain, the mint contract on the destination chain, and the list of signer addresses that must agree before either one changes state. The custody is the contract; the multisig is the condition it requires.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a multisig move runs
&lt;/h2&gt;

&lt;p&gt;A move runs through three steps: lock, quorum signature, and mint. The bridge contract on the origin chain locks your tokens — say, USDC on the source network. A set of signers, commonly 5-of-8 or 3-of-5, signs a message that names the recipient, the amount, the destination chain, and a nonce. A relayer submits that bundle to the destination contract, which verifies the quorum and mints the bridged representation. The return trip reverses it: burn on the destination, and the source contract verifies the burn proof against its own quorum rule, then releases the original token. What you end up with is a representation of your asset on another network; the original stays locked until the return trip.&lt;/p&gt;

&lt;h2&gt;
  
  
  The common explanation gets the trust direction wrong
&lt;/h2&gt;

&lt;p&gt;The common explanation says a multisig bridge is safe when enough signer keys are spread around and unsafe when they are not. That is true, but secondary. What decides it is what the contract enforces around the quorum. If the mint contract accepts a signature without checking that the message came from the bridge's own verifier, no number of signers saves you. If the lock contract releases funds without verifying the burn proof, the quorum is a formality. The signers authorize; the contract executes.&lt;/p&gt;

&lt;p&gt;This is also the point where discussions about bridges split. One side says more signers means more security; the other says key distribution matters more. You can settle it with what is checkable: the quorum threshold, the signer list, and the bytecode guarding the mint and unlock functions. A 3-of-5 with signers in separate jurisdictions running isolated hardware will move funds more soundly than a 9-of-12 whose keys sit behind one API. Quorum size decides coordination cost; the contract's guard logic decides custody strength. You can read both for a given bridge: &lt;a href="https://ameblo.jp/defiblog/entry-12978157938.html" rel="noopener noreferrer"&gt;Paraswap&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where multisig custody does not apply
&lt;/h2&gt;

&lt;p&gt;Not every bridge uses a quorum. Light-client bridges verify execution headers on-chain and authorize movement by proof, with no signer set at all. Atomic swaps use hashed timelock contracts, where the asset moves only if a preimage is revealed before a deadline. Intent-based systems hand the movement to solvers who compete to fulfill it. In those cases there is no multisig to read, and the trust model is a different question: a proof to verify instead of a quorum to watch.&lt;/p&gt;

&lt;p&gt;The custody mechanism is what you are actually choosing when you route a swap across chains. On the destination, the bridged asset becomes usable in the venues you already know — an order on 0x Protocol, a pool on Uniswap Protocol, a position on Optimism Network — but the movement that put it there was either a multisig-gated contract action or one of the alternatives above. That difference is the thing to check before you move funds.&lt;/p&gt;

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