<?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: Tom Wang</title>
    <description>The latest articles on DEV Community by Tom Wang (@tomwangcn).</description>
    <link>https://dev.to/tomwangcn</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%2F3850103%2F8fa92041-b06f-4727-9b1f-4b9b304d4c8e.png</url>
      <title>DEV Community: Tom Wang</title>
      <link>https://dev.to/tomwangcn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tomwangcn"/>
    <language>en</language>
    <item>
      <title>Sanctions Screening API: OFAC vs UK vs EU Lists</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Thu, 29 Oct 2026 08:55:41 +0000</pubDate>
      <link>https://dev.to/tomwangcn/sanctions-screening-api-ofac-vs-uk-vs-eu-lists-5737</link>
      <guid>https://dev.to/tomwangcn/sanctions-screening-api-ofac-vs-uk-vs-eu-lists-5737</guid>
      <description>&lt;p&gt;In August 2026 OFSI fined Citibank's London branch £4,732,830.58, and part of the case came down to three letters. The bank's screening system did not treat "PAO Sovcomflot" in its customer records as a match for "Sovcomflot" on the sanctions list, so 32 accounts stayed unrestricted and 328 transactions worth about £5.4 million went through.&lt;/p&gt;

&lt;p&gt;Most screening failures look like that: a legal-form prefix, a transliteration, a list update that arrived nearly fourteen hours late. The pages ranking for "sanctions screening API" are mostly vendor product pages that skip the official download URLs, the thresholds open-source engines ship with and the licence terms on the data. The counts below come from the OFAC, UK, EU and UN files as I downloaded and parsed them on 29 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does Sanctions Screening Work in Payments?
&lt;/h2&gt;

&lt;p&gt;A screening system keeps a local copy of one or more government lists, compares names (and ideally dates of birth, passport or IMO numbers) against it, and sends anything above a score threshold to an analyst who decides whether the hit is real.&lt;/p&gt;

&lt;p&gt;Most firms screen at two points. Customer screening runs at onboarding and again whenever a list changes, because a customer who was clean on Monday can be designated on Tuesday. Payment screening checks every party in a transfer, intermediary banks and free text included, before the money moves. The hard part is the comparison: names are not identifiers, and every list writes them differently.&lt;/p&gt;

&lt;h2&gt;
  
  
  OFAC SDN List vs UK Sanctions List vs EU Consolidated List
&lt;/h2&gt;

&lt;p&gt;The four lists a UK or EU payment firm usually screens differ in size, in scope and in what counts as an entry.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;OFAC SDN&lt;/th&gt;
&lt;th&gt;UK Sanctions List&lt;/th&gt;
&lt;th&gt;EU consolidated (FSF)&lt;/th&gt;
&lt;th&gt;UN consolidated&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Entries, Oct 2026&lt;/td&gt;
&lt;td&gt;19,484&lt;/td&gt;
&lt;td&gt;6,420&lt;/td&gt;
&lt;td&gt;6,269&lt;/td&gt;
&lt;td&gt;1,007&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Individuals&lt;/td&gt;
&lt;td&gt;7,529&lt;/td&gt;
&lt;td&gt;4,070&lt;/td&gt;
&lt;td&gt;4,490&lt;/td&gt;
&lt;td&gt;733&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ships and aircraft&lt;/td&gt;
&lt;td&gt;1,568 vessels, 342 aircraft&lt;/td&gt;
&lt;td&gt;683 ships&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Formats&lt;/td&gt;
&lt;td&gt;XML, advanced XML, CSV, fixed-width, PDF&lt;/td&gt;
&lt;td&gt;XML, CSV, ODS, ODT, HTML, TXT, PDF&lt;/td&gt;
&lt;td&gt;XML, CSV, PDF&lt;/td&gt;
&lt;td&gt;XML&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access&lt;/td&gt;
&lt;td&gt;Public, User-Agent required&lt;/td&gt;
&lt;td&gt;Public&lt;/td&gt;
&lt;td&gt;Public token in the URL&lt;/td&gt;
&lt;td&gt;Public, one-hour signed redirect&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entry ID&lt;/td&gt;
&lt;td&gt;integer &lt;code&gt;uid&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;UniqueID&lt;/code&gt;, e.g. &lt;code&gt;RUS1653&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;logicalId&lt;/code&gt;, &lt;code&gt;euReferenceNumber&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;REFERENCE_NUMBER&lt;/code&gt;, &lt;code&gt;DATAID&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;OFAC's list is the largest because it spans 72 programmes, with 6,346 entries under Russia EO 14024 alone, and carries 1,075 digital currency addresses. Only 5,743 UK entries impose an asset freeze: 668 of the 683 ships are under shipping sanctions only. Alert on every UK entry and your payments queue fills with vessels that freeze no funds. The EU file has no ship type at all.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-29-sanctions-screening-api-ofac-uk-eu-lists-guide" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
    <item>
      <title>Merchant Category Codes (MCC): Visa vs Mastercard</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Wed, 28 Oct 2026 08:32:39 +0000</pubDate>
      <link>https://dev.to/tomwangcn/merchant-category-codes-mcc-visa-vs-mastercard-3eap</link>
      <guid>https://dev.to/tomwangcn/merchant-category-codes-mcc-visa-vs-mastercard-3eap</guid>
      <description>&lt;p&gt;MCC 5967 tells a Visa issuer that the merchant sells adult content. In Mastercard's latest public code booklet, dated April 2024, the same four digits still mean inbound telemarketing. Visa renamed the code between its April 2024 and April 2025 manuals, and this month it moved escort services into it too.&lt;/p&gt;

&lt;p&gt;The merchant category code rides on every card authorisation. It sets US interchange, decides whether a UK credit card prices the payment as a cash advance and whether a bank's gambling block fires, and can leave an acquirer owing Visa USD 100,000 a month. The pages ranking for "merchant category code" are code lists and glossaries. Most get wrong who assigns the code, and none maps it to the API fields that carry it. Rules here were checked against Visa's Merchant Data Standards Manual (October 2026), the Visa Core Rules (18 April 2026) and PSP OpenAPI specs on 28 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a Merchant Category Code (MCC)?
&lt;/h2&gt;

&lt;p&gt;An MCC is a four-digit number that classifies a merchant outlet by what it mainly sells: 5411 for grocery stores, 5812 for restaurants, 4511 for airlines. It travels with every card transaction. In the authorisation request it sits in ISO 8583 data element 18 (Merchant Type). In Mastercard's clearing file it goes in DE 26 (Card Acceptor Business Code), and an invalid value gets the presentment rejected with error 0531. The ISO 20022 card messages carry it as &lt;code&gt;MrchntCtgyCd&lt;/code&gt; in cain.001, typed &lt;code&gt;ISO18245MerchantCategoryCode&lt;/code&gt; with the pattern &lt;code&gt;[0-9]{4}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Of the few merchant fields an issuer sees on an authorisation, the MCC is the only one built for software to reason about. Fraud models, spend controls and rewards engines all lean on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Assigns a Merchant Category Code?
&lt;/h2&gt;

&lt;p&gt;The acquirer. Not the merchant, not the card issuer and not the scheme. Visa Core Rules section 1.5.1.11 says an acquirer "must assign to a Merchant Outlet the MCC that most accurately describes its business". Mastercard Rules 5.8.1 requires the code to reflect the primary business and gives Mastercard the final word in a dispute.&lt;/p&gt;

&lt;p&gt;Public explanations drift here, including from banks. Nationwide's gambling-support page says gambling companies assign their own codes. A Financial Ombudsman decision describes the code as applied by the merchant. Santander's cashback terms say Mastercard assigns them. What actually happens: the merchant describes its business at onboarding, and the acquirer, or a payment facilitator acting for it, picks the code and answers for it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-28-merchant-category-codes-mcc-visa-vs-mastercard" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
    <item>
      <title>CCTP V2 vs USDT0: Moving Stablecoins Cross-Chain</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Tue, 27 Oct 2026 08:23:40 +0000</pubDate>
      <link>https://dev.to/tomwangcn/cctp-v2-vs-usdt0-moving-stablecoins-cross-chain-19ik</link>
      <guid>https://dev.to/tomwangcn/cctp-v2-vs-usdt0-moving-stablecoins-cross-chain-19ik</guid>
      <description>&lt;p&gt;Circle starts cutting CCTP V1 burn limits on 31 October 2026 and pauses the V1 contracts on 1 December. From then on, any integration still calling V1 stops moving USDC between chains. Some explainers that still rank give a July date, and one of the most complete third-party guides has the finality thresholds the wrong way round.&lt;/p&gt;

&lt;p&gt;CCTP V2 is the replacement, and it changes more than contract addresses. Nonces are assigned off-chain, a transfer can settle before finality if you pay for it, and the burn message can carry hook data that CCTP never executes. On 27 October 2026 I pulled every route's fee from Circle's API and decoded three hours of live burns on Base. The numbers below come from that, followed by a comparison with USDT0, Chainlink CCIP and Wormhole NTT.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is CCTP V2 and How Is It Different From V1?
&lt;/h2&gt;

&lt;p&gt;CCTP (Cross-Chain Transfer Protocol) burns native USDC on the source chain and mints it on the destination. There is no liquidity pool in the middle and no wrapped token at the end. Circle's attestation service, Iris, signs a message once the source chain reaches the finality you asked for, and the destination contract mints against that signature.&lt;/p&gt;

&lt;p&gt;It is less a bridge than Circle's own mint authority behind an API. The only party you trust is the one you already trust by holding USDC.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;CCTP V1&lt;/th&gt;
&lt;th&gt;CCTP V2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Nonce&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;uint64&lt;/code&gt;, in the source-chain event&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;bytes32&lt;/code&gt;, assigned off-chain by Circle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finality&lt;/td&gt;
&lt;td&gt;Hard finality only&lt;/td&gt;
&lt;td&gt;Confirmed (Fast) or finalised (Standard)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Protocol fee&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Fast 0–13 bps, Standard free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hooks&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;depositForBurnWithHook&lt;/code&gt; carries &lt;code&gt;hookData&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expiry&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Fast messages get an &lt;code&gt;expirationBlock&lt;/code&gt; about 24h out&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Status&lt;/td&gt;
&lt;td&gt;Limits cut from 31 Oct 2026, paused 1 Dec 2026&lt;/td&gt;
&lt;td&gt;Current, about 30 domains&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The nonce change is the one that breaks indexers. On the source chain, V2 emits zeros where the nonce, &lt;code&gt;finalityThresholdExecuted&lt;/code&gt;, &lt;code&gt;feeExecuted&lt;/code&gt; and &lt;code&gt;expirationBlock&lt;/code&gt; will go, and Circle fills them in when it signs. The V2 &lt;code&gt;DepositForBurn&lt;/code&gt; event has no nonce at all. If your V1 reconciliation keyed transfers on a nonce read from the burn event, there is nothing left to key on. Key on source domain plus transaction hash, which is what the attestation API takes anyway, and store &lt;code&gt;eventNonce&lt;/code&gt; once Iris returns it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-27-cctp-v2-vs-usdt0-cross-chain-stablecoin-guide" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>stablecoin</category>
      <category>usdc</category>
      <category>cryptopayments</category>
      <category>crossborder</category>
    </item>
    <item>
      <title>Web Bot Auth vs Visa TAP: How to Verify AI Agents</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Mon, 26 Oct 2026 08:39:45 +0000</pubDate>
      <link>https://dev.to/tomwangcn/web-bot-auth-vs-visa-tap-how-to-verify-ai-agents-27d4</link>
      <guid>https://dev.to/tomwangcn/web-bot-auth-vs-visa-tap-how-to-verify-ai-agents-27d4</guid>
      <description>&lt;p&gt;Copy the signed request from Visa's Trusted Agent Protocol spec into a unit test, run it through an Ed25519 verifier, and it fails. Mastercard's Agent Pay example fails too. Both reuse a signature from an IETF test vector that signs a different message, and both set a 60-minute validity window that breaks the 8-minute limit each network tells merchants to enforce.&lt;/p&gt;

&lt;p&gt;Web Bot Auth, Visa TAP and Mastercard Agent Pay are how an AI agent proves who it is to a merchant's website in 2026. All three sit on RFC 9421 HTTP Message Signatures, and they disagree on tags, windows, nonces and the syntax of a single header. This guide shows a real signed request, the signature base a verifier rebuilds, and verification code that copes with all three.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Web Bot Auth?
&lt;/h2&gt;

&lt;p&gt;Web Bot Auth gives bots and AI agents a cryptographic identity at the HTTP layer. The agent operator signs each request with a private key and publishes the public key in a directory. The site verifies the signature and knows which operator sent it, with no shared secret and no change to TLS.&lt;/p&gt;

&lt;p&gt;It is still a draft. The IETF chartered the webbotauth working group on 23 October 2025, and its only adopted document is &lt;code&gt;draft-ietf-webbotauth-httpsig-protocol-00&lt;/code&gt;, published 1 September 2026 by authors from Cloudflare and Google. Adoption was contested: the poll at IETF 126 came out 22 yes, 6 no, 5 no opinion.&lt;/p&gt;

&lt;p&gt;Deployment has run ahead of the standard anyway. Cloudflare, Akamai, AWS WAF, Vercel and HUMAN verify signatures; ChatGPT's cloud browser, Google-Agent and AWS AgentCore Browser send them. On 23 October 2026 IANA registered &lt;code&gt;ml-dsa-44&lt;/code&gt;, &lt;code&gt;ml-dsa-65&lt;/code&gt; and &lt;code&gt;ml-dsa-87&lt;/code&gt; for HTTP Message Signatures, though Cloudflare and AWS WAF still accept Ed25519 only.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does Web Bot Auth Work? A Signed Request, Line by Line
&lt;/h2&gt;

&lt;p&gt;These headers are the current draft's own example (Appendix E.2.1), with line wrapping removed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;Signature-Agent: agent2="https://signature-agent.test"
Signature-Input: sig2=("@authority" "signature-agent";key="agent2");created=1735689600;keyid="poqkLGiymh_W0uP6PZFw-dvez3QJT5SolqXBCW38r0U";alg="ed25519";expires=4889289600;nonce="n9p433xm+NJ3ph3upfBIGmsuwHw387YV7Q/F+6BSpGCVjYCqQw6rznNA8PVVLySrAWsv0hQtFioQb6E1YsauiA==";tag="web-bot-auth"
Signature: sig2=:RdNFx5Bj6au3YgAMQL/RzmUlZE8QZLIaXGRpw985hWnwPfMxT228NMk6ehRS1PSl4e8PhbNZACSanGdhEwYCCg==:
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The verifier does not check the headers directly. It rebuilds a &lt;strong&gt;signature base&lt;/strong&gt;, one line per covered component, with &lt;code&gt;@signature-params&lt;/code&gt; required as the last line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"@authority": example.com
"signature-agent";key="agent2": "https://signature-agent.test"
"@signature-params": ("@authority" "signature-agent";key="agent2");created=1735689600;keyid="poqkLGiymh_W0uP6PZFw-dvez3QJT5SolqXBCW38r0U";alg="ed25519";expires=4889289600;nonce="n9p433xm+NJ3ph3upfBIGmsuwHw387YV7Q/F+6BSpGCVjYCqQw6rznNA8PVVLySrAWsv0hQtFioQb6E1YsauiA==";tag="web-bot-auth"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Those bytes verify against the RFC 9421 Appendix B.1.4 Ed25519 test key. I checked. The key is public, so the vector is for tests only.&lt;/p&gt;

&lt;p&gt;What the draft requires of a signer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coverage&lt;/strong&gt;: at least one of &lt;code&gt;@authority&lt;/code&gt; or &lt;code&gt;@target-uri&lt;/code&gt;, plus the &lt;code&gt;Signature-Agent&lt;/code&gt; member that belongs to this signature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parameters&lt;/strong&gt;: &lt;code&gt;created&lt;/code&gt;, &lt;code&gt;expires&lt;/code&gt;, a &lt;code&gt;keyid&lt;/code&gt; that "MUST be a base64url JWK SHA-256 Thumbprint", and &lt;code&gt;tag&lt;/code&gt; set to &lt;code&gt;web-bot-auth&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expiry&lt;/strong&gt;: "RECOMMENDED that expiry be no more than 24 hours".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nonce&lt;/strong&gt;: no requirement. Earlier versions asked for a unique 64-byte nonce; the WG draft dropped it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Algorithms&lt;/strong&gt;: anything registered except shared-secret HMAC, which is banned.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keys&lt;/strong&gt;: a JWKS at &lt;code&gt;/.well-known/http-message-signatures-directory&lt;/code&gt;, media type &lt;code&gt;application/http-message-signatures-directory+json&lt;/code&gt;, HTTPS only. Failed lookups may be cached for at most five minutes. There is no revocation.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-26-web-bot-auth-vs-visa-tap-mastercard-agent-pay" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>aiagents</category>
    </item>
    <item>
      <title>AFT vs OCT: Visa Direct and Mastercard Send Rules</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Sun, 25 Oct 2026 08:35:16 +0000</pubDate>
      <link>https://dev.to/tomwangcn/aft-vs-oct-visa-direct-and-mastercard-send-rules-3ajn</link>
      <guid>https://dev.to/tomwangcn/aft-vs-oct-visa-direct-and-mastercard-send-rules-3ajn</guid>
      <description>&lt;p&gt;A US Visa issuer has 60 seconds to make a domestic Fast Funds payout spendable. Everywhere else the Fast Funds clock is 30 minutes, and for a UK credit card Fast Funds is not mandatory at all: the issuer only has to post the money by the end of the business day. If your product says "instant payout", the card's country and type decide whether that is true.&lt;/p&gt;

&lt;p&gt;Account Funding Transactions (AFTs) pull money off a card to fund something. Original Credit Transactions (OCTs) push money onto a card. The pages ranking for them are glossaries that define the terms and stop; none gives the codes, scheme rules or API fields a payout flow needs. Scheme rules here are from the Visa Rules edition of 18 April 2026, and PSP fields were checked against official docs and OpenAPI specs on 25 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an Account Funding Transaction (AFT)?
&lt;/h2&gt;

&lt;p&gt;An AFT pulls funds from a Visa card to load another account: a wallet, a prepaid card, a brokerage account, or the first leg of a person-to-person transfer. It looks like a purchase to the cardholder, but it is not one. Visa's rules (section 7.4.1.1) say an AFT must not be a payment for goods or services or the funding of a merchant account.&lt;/p&gt;

&lt;p&gt;Visa makes AFT coding compulsory for a specific list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reloading prepaid cards&lt;/li&gt;
&lt;li&gt;card-absent funding of P2P and account-to-account transfers&lt;/li&gt;
&lt;li&gt;funding disbursements from Visa corporate and business debit cards, such as payroll&lt;/li&gt;
&lt;li&gt;funding stored value and staged digital wallets, unless it is back-to-back funding&lt;/li&gt;
&lt;li&gt;buying liquid and cryptocurrency assets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The footnote is the part UK teams miss. For the card-absent condition, Visa adds "In the Europe Region: For all Merchants". In the UK and EEA, a wallet top-up at a terminal still has to be an AFT.&lt;/p&gt;

&lt;p&gt;Every AFT must carry the AFT indicator and the correct business application identifier (BAI) in both the authorisation and the clearing record. Debt repayment was split by region from 25 July 2026: it must be an AFT in Asia Pacific, CEMEA and most of Latin America, and must not be one in Canada, Europe, the US, Chile and Puerto Rico. A UK lender taking card repayments should not flag them as AFTs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an Original Credit Transaction (OCT)?
&lt;/h2&gt;

&lt;p&gt;An OCT pushes money onto a card. Visa defines it as a credit that "does not require a prior purchase", except when it is used as a Faster Refund. That is the key difference from a refund, which has to reference an original sale. Payroll, marketplace seller payouts, insurance claims and gambling winnings all travel as OCTs.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-25-aft-vs-oct-visa-direct-mastercard-send-guide" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
    <item>
      <title>8-Digit BIN Lookup: What Stripe and Adyen Return</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Sat, 24 Oct 2026 07:32:11 +0000</pubDate>
      <link>https://dev.to/tomwangcn/8-digit-bin-lookup-what-stripe-and-adyen-return-1dd5</link>
      <guid>https://dev.to/tomwangcn/8-digit-bin-lookup-what-stripe-and-adyen-return-1dd5</guid>
      <description>&lt;p&gt;In its March 2022 position paper on 8-digit BINs, Visa reported that "tables purchased off the internet are roughly 30% accurate." If your checkout decides debit or credit, consumer or commercial, UK or foreign from a downloaded list keyed on six digits, that is the quality of data behind the decision.&lt;/p&gt;

&lt;p&gt;The pages ranking for "8 digit bin" stop at the April 2022 deadline, some still in the future tense, and none maps BIN data to what payment APIs actually return. This guide does, along with the PCI limits by card length and the UK rules that depend on card type. Documentation was checked on 24 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is an 8-Digit BIN, and Is a BIN the Same as an IIN?
&lt;/h2&gt;

&lt;p&gt;In practice, yes. IIN (issuer identification number) is the term ISO/IEC 7812-1 uses, BIN (bank identification number) is the older industry name, and the schemes use both. It is the leading digits of the card number, and it identifies the issuer and, through the scheme's tables, the card product.&lt;/p&gt;

&lt;p&gt;The fifth edition of ISO/IEC 7812-1, published in January 2017, lengthened the IIN from six digits to eight. ISO's announcement gave one reason: "there is expected to be a shortage in the available supply of IINs." Every existing six-digit IIN became "a block of a hundred eight-digit IINs", and an issuer with an eight-digit IIN must issue card numbers of at least ten digits, with 19 still the maximum. The American Bankers Association is still the registration authority.&lt;/p&gt;

&lt;p&gt;Two consequences matter to engineers. The card number does not get longer: Visa's FAQ says PANs "will remain the same at 16 digits", so the issuer prefix takes two digits from the account number. And six-digit BINs did not disappear. Issuers can keep them, split them or run both, so any system that assumes one fixed length is wrong for some share of cards.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Did Visa and Mastercard Move to 8-Digit BINs?
&lt;/h2&gt;

&lt;p&gt;Visa endorsed the standard in 2017 and named 22 April 2022 "its final effective date". From then, acquirers and processors had to support eight-digit issuing BINs. Issuers never had to migrate: Visa's requirements say they "have the option to expand any or all of their current six-digit issuing BINs".&lt;/p&gt;

&lt;p&gt;According to Deloitte's 2020 readiness paper, Mastercard planned to issue eight-digit BINs after April 2022 with no end date for six-digit ones. Discover's September 2026 IIN table defines the IIN as "the first six (6) or eight (8) digits" and lists every range it carries, JCB and UnionPay included, in eight-digit form. American Express stays on 15-digit cards, which PCI still caps at first six, last four.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-24-8-digit-bin-lookup-stripe-adyen-guide" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
    <item>
      <title>OCC GENIUS Act Final Rule: 2-Day Redemption</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Fri, 23 Oct 2026 07:25:06 +0000</pubDate>
      <link>https://dev.to/tomwangcn/occ-genius-act-final-rule-2-day-redemption-319b</link>
      <guid>https://dev.to/tomwangcn/occ-genius-act-final-rule-2-day-redemption-319b</guid>
      <description>&lt;p&gt;Under US rules, a stablecoin redemption now counts as done when the issuer sends the dollars, not when it burns the token. That is one sentence in the 721-page final rule the Office of the Comptroller of the Currency released on 21 October, and for anyone building on USDC or PYUSD it matters more than the yield row that has dominated the coverage.&lt;/p&gt;

&lt;p&gt;The rule creates a new 12 CFR Part 15, "Payment Stablecoins", and it appears in the Federal Register today at 91 FR 67000. It takes effect on 18 January 2027, the date the GENIUS Act itself switches on. It is the first final rule from a primary federal stablecoin regulator. The Federal Reserve's two proposals are open for comment until 30 November, and the FDIC has not finalised anything yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Does the OCC GENIUS Act Final Rule Cover?
&lt;/h2&gt;

&lt;p&gt;Part 15 covers national banks, federal savings associations, federal branches, foreign issuers, nonbanks seeking Federal qualified issuer approval, and state issuers under OCC enforcement. The OCC's impact analysis counts 39 entities, including at least 12 it does not supervise today, and puts baseline 2027 issuance at $272.3bn. For scale, USD stablecoins stand at roughly $303bn this week on DefiLlama, with USDT at $182.5bn and USDC at about $72bn.&lt;/p&gt;

&lt;p&gt;Anti-money laundering and sanctions rules are not in it. They sit in separate proposals from the OCC and from FinCEN and OFAC, so the wallet-screening obligations developers care about most are still not final.&lt;/p&gt;

&lt;h2&gt;
  
  
  GENIUS Act Reserve Requirements: 5% Cash and a 40% Cap
&lt;/h2&gt;

&lt;p&gt;Eligible reserves are cash, Fed balances, demand deposits, Treasuries with 93 days or less to run, overnight repo against them, government money market funds, and tokenised versions of these. The OCC drew about 328 comments on its February proposal, and the changes since are where the policy shows.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Proposal (Feb 2026)&lt;/th&gt;
&lt;th&gt;Final rule (Oct 2026)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;On-demand deposits or Fed balances&lt;/td&gt;
&lt;td&gt;10% minimum&lt;/td&gt;
&lt;td&gt;5% minimum&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single counterparty&lt;/td&gt;
&lt;td&gt;40% cap&lt;/td&gt;
&lt;td&gt;40% cap, excluding US government, custodians and centrally cleared repo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liquidity safe harbour&lt;/td&gt;
&lt;td&gt;30% weekly liquidity, 20-day maturity cap&lt;/td&gt;
&lt;td&gt;Dropped&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Withdrawing surplus reserves&lt;/td&gt;
&lt;td&gt;Monthly&lt;/td&gt;
&lt;td&gt;Any time, after due diligence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capital&lt;/td&gt;
&lt;td&gt;$5m floor, bank-style CET1/AT1 tiers&lt;/td&gt;
&lt;td&gt;$5m floor, GAAP equity less intangibles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operational backstop&lt;/td&gt;
&lt;td&gt;12 months of expenses&lt;/td&gt;
&lt;td&gt;12 months of expenses, up to half in subordinated debt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Redemptions above 10% in 24 hours&lt;/td&gt;
&lt;td&gt;Automatic 7-day extension&lt;/td&gt;
&lt;td&gt;Notify OCC within 24 hours, may request extension&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-23-occ-genius-act-final-rule-stablecoin-redemption" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>stablecoin</category>
      <category>usdc</category>
    </item>
    <item>
      <title>Visa Account Updater vs Mastercard ABU Explained</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Thu, 22 Oct 2026 08:00:21 +0000</pubDate>
      <link>https://dev.to/tomwangcn/visa-account-updater-vs-mastercard-abu-explained-4i02</link>
      <guid>https://dev.to/tomwangcn/visa-account-updater-vs-mastercard-abu-explained-4i02</guid>
      <description>&lt;p&gt;Visa's own VAU FAQ puts a number on card churn: on average, 30% of the card accounts in an issuer's portfolio change or close every year. If you bill saved cards, close to a third of your card book can go stale inside twelve months, and each stale card shows up as a failed renewal that looks exactly like a customer who stopped paying.&lt;/p&gt;

&lt;p&gt;Account updaters are the scheme-run services that catch that drift: Visa Account Updater (VAU), Mastercard Automatic Billing Updater (ABU), Amex Cardrefresher and Discover's Network Account Updater. The pages that rank for them explain the concept and stop. None covers the parts that bite in production: Visa's 180-day minimum inquiry cycle, Mastercard's API returning &lt;code&gt;CONTACT&lt;/code&gt; for an account that is closed, the letter &lt;code&gt;V&lt;/code&gt; meaning different things in Visa's issuer and acquirer files, or why your PSP skips the updater entirely when a network token is on the charge. Scheme rules and PSP field names below were checked against primary documentation on 22 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a Card Account Updater?
&lt;/h2&gt;

&lt;p&gt;An account updater is a database the card scheme keeps of changes issuers make to cards: a new card number after a reissue, a new expiry date, a closed account, or an instruction to go back to the cardholder. Issuers write to it. Merchants, through their acquirer or PSP, read from it for the cards they hold on file.&lt;/p&gt;

&lt;p&gt;The issuer side is tightly ruled. Visa's Core Rules (Table 8-3, April 2026 edition) say a PAN or expiry update must be submitted "within 2 business days of Account Number activation", and only once an authorisation on the new number can be approved. Closed-account advice is allowed only where the closure is permanent. A closed response is the issuer telling you the relationship is over, not that the card is temporarily blocked.&lt;/p&gt;

&lt;p&gt;The merchant side is narrower than most teams assume. Visa lets acquirers inquire only "for accounts where the merchant has an ongoing customer relationship and the customer has authorized COF payments". The updater is for stored credentials, not for cleaning a list of cards you once saw. It is also not a validity check. A "no match" tells you the issuer had nothing to report, not that the card will approve.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Visa Account Updater Works: Batch, API, Real Time and Push
&lt;/h2&gt;

&lt;p&gt;Visa runs four channels into the same data, and which one your PSP uses changes what you see.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-22-visa-account-updater-vs-mastercard-abu-guide" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
    <item>
      <title>Stripe Connect vs Adyen for Platforms: Who Pays?</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Wed, 21 Oct 2026 07:26:27 +0000</pubDate>
      <link>https://dev.to/tomwangcn/stripe-connect-vs-adyen-for-platforms-who-pays-12k5</link>
      <guid>https://dev.to/tomwangcn/stripe-connect-vs-adyen-for-platforms-who-pays-12k5</guid>
      <description>&lt;p&gt;On a Stripe destination charge, a chargeback is debited from the platform's balance, even when the seller shipped the goods and the platform never touched them. On a direct charge, the same chargeback lands on the seller. One parameter decides who eats the loss, and most marketplace teams choose it in their first week, from a docs page that recommends it for unrelated reasons.&lt;/p&gt;

&lt;p&gt;The pages that rank for "Stripe Connect vs Adyen" compare pricing and review scores. None puts Stripe's charge types next to Adyen's &lt;code&gt;splits&lt;/code&gt; and Mangopay's wallets at API level, and none asks the UK question underneath: if your platform collects money for sellers, is that a regulated payment service? Field names below were checked against the docs on 21 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stripe Connect vs Adyen for Platforms vs Mangopay: The Short Version
&lt;/h2&gt;

&lt;p&gt;All three let a platform take a buyer's payment, keep a commission and pay the seller without the platform holding client money in its own bank account.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Stripe Connect&lt;/th&gt;
&lt;th&gt;Adyen for Platforms&lt;/th&gt;
&lt;th&gt;Mangopay&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Seller's funds sit in&lt;/td&gt;
&lt;td&gt;A connected account balance&lt;/td&gt;
&lt;td&gt;A balance account per account holder&lt;/td&gt;
&lt;td&gt;An e-money wallet per user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform takes its cut with&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;application_fee_amount&lt;/code&gt; or &lt;code&gt;transfer_data[amount]&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;A split with type &lt;code&gt;Commission&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Fees&lt;/code&gt; on a wallet-to-wallet transfer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One payment, several sellers&lt;/td&gt;
&lt;td&gt;Separate charges and transfers&lt;/td&gt;
&lt;td&gt;Several &lt;code&gt;BalanceAccount&lt;/code&gt; splits&lt;/td&gt;
&lt;td&gt;One transfer per seller wallet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Losses by default&lt;/td&gt;
&lt;td&gt;Depend on charge type and &lt;code&gt;controller.losses.payments&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;The platform's liable balance account&lt;/td&gt;
&lt;td&gt;Not stated; your fee is reversed on chargeback&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documented cap on holding seller funds (UK)&lt;/td&gt;
&lt;td&gt;90 days on manual payouts&lt;/td&gt;
&lt;td&gt;20 business days of &lt;code&gt;settlementDelayDays&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;None; payouts gated by KYC level&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Stripe makes you choose a charge type, Adyen wants a split instruction, and Mangopay hands you wallets. Each moves liability somewhere specific.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does a Marketplace Need FCA Authorisation in the UK?
&lt;/h2&gt;

&lt;p&gt;The law shapes the architecture. The Payment Services Regulations 2017 exclude payments made through a commercial agent (Schedule 1, Part 2, paragraph 2(b)), but only an agent authorised by agreement to negotiate or conclude the sale "on behalf of either the payer or the payee but not both".&lt;/p&gt;

&lt;p&gt;The FCA reads that narrowly. PERG 15.5 Q33A describes the platform that acts for both sides: it takes the buyer's money into an account it controls, that payment does not settle the buyer's debt to the seller, and the platform then pays the seller under its own agreement with the seller. The authority must be real, meaning the ability to bind the principal; supplying the technical means for placing orders does not count. Escrow-style platforms are flagged as likely to need authorisation.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-21-stripe-connect-vs-adyen-for-platforms-marketplace-payments" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
    <item>
      <title>EIP-3009 vs EIP-2612 vs Permit2: Gasless USDC</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Tue, 20 Oct 2026 09:30:22 +0000</pubDate>
      <link>https://dev.to/tomwangcn/eip-3009-vs-eip-2612-vs-permit2-gasless-usdc-34gg</link>
      <guid>https://dev.to/tomwangcn/eip-3009-vs-eip-2612-vs-permit2-gasless-usdc-34gg</guid>
      <description>&lt;p&gt;A USDC authorisation signed with the EIP-712 values your code uses on Base Sepolia will fail on Base mainnet. The domain &lt;code&gt;name&lt;/code&gt; is &lt;code&gt;"USDC"&lt;/code&gt; on the testnet and &lt;code&gt;"USD Coin"&lt;/code&gt; on mainnet, so the signature recovers to a different address and the contract reverts. Nothing in the user's wallet shows the difference.&lt;/p&gt;

&lt;p&gt;Three standards let someone move stablecoins by signing a message instead of paying gas: EIP-3009, EIP-2612 and Uniswap's Permit2. The pages that rank for them explain one at a time. None puts the three side by side on nonces, token coverage and gas, and none covers the per-chain domain values that break real integrations. This guide does, using the specs, the token source code and on-chain reads I ran on 20 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is EIP-3009 Transfer With Authorization?
&lt;/h2&gt;

&lt;p&gt;EIP-3009 lets a token holder sign a transfer that anyone else can submit and pay gas for. The signed message is the transfer itself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;TransferWithAuthorization(
  address from, address to, uint256 value,
  uint256 validAfter, uint256 validBefore, bytes32 nonce
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A relayer calls &lt;code&gt;transferWithAuthorization(from, to, value, validAfter, validBefore, nonce, v, r, s)&lt;/code&gt;. The token checks the signature, checks the time window and moves the funds in one call. No allowance is created and nothing is left behind for a spender to reuse.&lt;/p&gt;

&lt;p&gt;Three details matter in practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nonces are random 32-byte values, not a counter.&lt;/strong&gt; The spec's rationale is that sequential nonces force ordering: if a relayer submits nonce 5 before 4, it fails and wastes gas. With random nonces a payer can have many authorisations outstanding at once, and each settles independently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The time window is strict on both ends.&lt;/strong&gt; Circle's implementation requires &lt;code&gt;now &amp;gt; validAfter&lt;/code&gt; and &lt;code&gt;now &amp;lt; validBefore&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;authorizationState(authorizer, nonce)&lt;/code&gt; returns whether a nonce has been used&lt;/strong&gt;, and each use emits &lt;code&gt;AuthorizationUsed(address indexed authorizer, bytes32 indexed nonce)&lt;/code&gt;. &lt;code&gt;cancelAuthorization&lt;/code&gt; is listed as optional.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;EIP-3009 was created in September 2020 and is still a Draft. It sat as Stagnant until October 2025, when it was moved back to Draft. That revision also added a line saying the standard "does not apply to smart contract accounts". Hold that thought, because USDC disagrees.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does EIP-2612 permit Work?
&lt;/h2&gt;

&lt;p&gt;EIP-2612 is older (April 2020) and Final. The holder signs an approval, not a transfer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Permit(address owner, address spender, uint256 value, uint256 nonce, uint256 deadline)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Someone calls &lt;code&gt;permit(...)&lt;/code&gt; to set the allowance, and then the spender calls &lt;code&gt;transferFrom&lt;/code&gt;. That is two state changes, usually in one transaction from a contract that wraps both. Nonces are sequential per owner (&lt;code&gt;nonces(owner)&lt;/code&gt;), and the deadline is inclusive: the permit is valid while &lt;code&gt;block.timestamp &amp;lt;= deadline&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-20-eip-3009-vs-eip-2612-vs-permit2-gasless-usdc" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>stablecoin</category>
      <category>usdc</category>
      <category>cryptopayments</category>
      <category>x402</category>
    </item>
    <item>
      <title>Amex Intent Intelligence: Consent Agents Can Carry</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Thu, 15 Oct 2026 07:15:35 +0000</pubDate>
      <link>https://dev.to/tomwangcn/amex-intent-intelligence-consent-agents-can-carry-4iko</link>
      <guid>https://dev.to/tomwangcn/amex-intent-intelligence-consent-agents-can-carry-4iko</guid>
      <description>&lt;p&gt;American Express has published the thing EMVCo only described. On 13 October 2026 it released Intent Intelligence, a framework that turns a shopper's instructions to an AI agent into a record with its own identifier, a signed token and a lifecycle the issuer can check at authorisation and again in a dispute.&lt;/p&gt;

&lt;p&gt;The timing is pointed. EMVCo's Board of Advisors met in Hanoi on 13 and 14 October to decide what happens to its draft agentic payments framework, and as of today no readout has been published. Amex, one of EMVCo's six owners, shipped its own answer on the first morning of the meeting.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Amex Intent Intelligence?
&lt;/h2&gt;

&lt;p&gt;Amex calls it "a suite of services to create, update, and cancel a user's authenticated intent". It is delivered through the Agentic Commerce Experiences (ACE) Developer Kit, the SDK Amex launched in April alongside Agent Purchase Protection, and the press release describes it as a core ACE service.&lt;/p&gt;

&lt;p&gt;The flow has four steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The agent collects what the customer wants and submits it through the &lt;strong&gt;Create Intent API&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The customer authenticates and signs off, by passkey or through a sign-off the issuer has delegated to the agent or a wallet.&lt;/li&gt;
&lt;li&gt;Two artefacts come back: an &lt;strong&gt;Intent ID&lt;/strong&gt;, which Amex describes as the primary key for every later request against that intent, and a &lt;strong&gt;Proof of Intent Token&lt;/strong&gt;, which is a JSON Web Token carrying the high-level constraints.&lt;/li&gt;
&lt;li&gt;The token is exchanged for a scoped payment credential. The agent pays with that credential at checkout and never sees the card number.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Issuers can run risk checks and step-up after sign-off, before anything is bought. The intent then feeds authorisation and fraud decisions, and Amex says issuers can evaluate disputes against the cardholder-confirmed version.&lt;/p&gt;

&lt;p&gt;Hannah Bozian, Amex's VP of agentic partnerships, told Digital Transactions the network already sees "thousands" of agentic transactions a week across the integrations it supports. That is a small number for Amex, and an honest one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Fields Does an Amex Intent Contain?
&lt;/h2&gt;

&lt;p&gt;The technical post by Inderpreet Hundal and Gianna Rotondo lists eight fields. This is the part a press release would never print, and it is where the design decisions show.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;What it holds&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Purchase Summary&lt;/td&gt;
&lt;td&gt;What was agreed, with personal details irrelevant to the purchase removed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Max Amount&lt;/td&gt;
&lt;td&gt;The most the customer will pay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intent Expiry&lt;/td&gt;
&lt;td&gt;Last date the intent can be actioned; the token expires then too&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Merchant Data&lt;/td&gt;
&lt;td&gt;Only if the customer named a merchant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Item-Level Conditions&lt;/td&gt;
&lt;td&gt;Dependencies between items; absent means each item is fulfilled independently&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maximum Number of Transactions&lt;/td&gt;
&lt;td&gt;Expected number of purchases, mapped to the number of credentials that can be issued&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Order Context&lt;/td&gt;
&lt;td&gt;Typed &lt;code&gt;Intent&lt;/code&gt; (preferences) or &lt;code&gt;Cart&lt;/code&gt; (approved products), each item and merchant with a reference ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Purchase Criteria&lt;/td&gt;
&lt;td&gt;Conditions that must hold before the agent buys, such as a restock or a date&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-15-amex-intent-intelligence-proof-of-intent-token" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>aiagents</category>
    </item>
    <item>
      <title>Interchange++ vs Blended Pricing: A UK Guide</title>
      <dc:creator>Tom Wang</dc:creator>
      <pubDate>Sat, 10 Oct 2026 07:18:12 +0000</pubDate>
      <link>https://dev.to/tomwangcn/interchange-vs-blended-pricing-a-uk-guide-1592</link>
      <guid>https://dev.to/tomwangcn/interchange-vs-blended-pricing-a-uk-guide-1592</guid>
      <description>&lt;p&gt;A UK consumer debit card payment carries 0.2% interchange. A French-issued debit card paying the same UK merchant online carries 1.15%. On blended pricing you never see that difference, because your provider averages it into one rate. On interchange++ you see it on every line, sometimes two months after the payment.&lt;/p&gt;

&lt;p&gt;That is the real choice between the two models. The question is less "which is cheaper" and more "who carries the variance, and can your systems handle the data". The pages that rank for this query explain the definitions well and stop there. None of them shows what the fee data looks like when it arrives, which is the part I end up debugging. This guide covers both.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Interchange++ Pricing?
&lt;/h2&gt;

&lt;p&gt;Interchange++ (IC++, interchange plus plus) splits the cost of a card payment into three parts and passes each through separately:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Who sets it&lt;/th&gt;
&lt;th&gt;Who keeps it&lt;/th&gt;
&lt;th&gt;Typical UK range&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Interchange&lt;/td&gt;
&lt;td&gt;The card scheme (Visa, Mastercard), within regulatory caps&lt;/td&gt;
&lt;td&gt;The issuing bank&lt;/td&gt;
&lt;td&gt;0.2% to 1.5%+, depending on card and region&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scheme fees&lt;/td&gt;
&lt;td&gt;The card scheme&lt;/td&gt;
&lt;td&gt;Visa or Mastercard&lt;/td&gt;
&lt;td&gt;Not published as a simple rate; dozens of line items&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Acquirer markup&lt;/td&gt;
&lt;td&gt;Your PSP or acquirer&lt;/td&gt;
&lt;td&gt;Your PSP&lt;/td&gt;
&lt;td&gt;Negotiated, plus a fixed per-transaction fee&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The first "plus" is scheme fees. The second is the acquirer's margin. The acquirer only negotiates the last one. Interchange and scheme fees are passed through at cost, whatever they turn out to be.&lt;/p&gt;

&lt;p&gt;Interchange depends on the card: consumer or commercial, debit or credit, premium or standard, domestic or cross-border, card present or not, and whether the transaction qualified for a lower tier (tokenised, authenticated, enhanced data). I covered one of those levers, the token discount, in the &lt;a href="https://dev.to/news/2026-09-23-network-tokenisation-vts-mdes-developer-guide"&gt;network tokenisation guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interchange++ vs Blended Pricing: What's the Difference?
&lt;/h2&gt;

&lt;p&gt;Blended pricing (Adyen calls it "blended rates", Stripe calls it standard pricing) charges one rate per card category and absorbs the underlying costs. Stripe's UK list price, checked on 10 October 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Card type&lt;/th&gt;
&lt;th&gt;Stripe UK standard pricing&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Standard UK cards&lt;/td&gt;
&lt;td&gt;1.5% + 20p&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Premium UK cards&lt;/td&gt;
&lt;td&gt;2.8% + 20p&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EEA cards&lt;/td&gt;
&lt;td&gt;2.5% + 20p&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;International cards&lt;/td&gt;
&lt;td&gt;3.15% + 20p&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Currency conversion&lt;/td&gt;
&lt;td&gt;+2%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Stripe offers IC+ only on custom pricing, "for businesses with large payments volume or unique business models". Adyen goes the other way. Its UK price list is IC++ by default for cards: £0.11 per transaction plus interchange, scheme fees and a 0.60% markup on Visa and Mastercard.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://tomcn.uk/news/2026-10-10-interchange-plus-plus-vs-blended-pricing-uk" rel="noopener noreferrer"&gt;Read the full article on tomcn.uk →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  About the Author
&lt;/h3&gt;

&lt;p&gt;I'm &lt;strong&gt;Tom Wang&lt;/strong&gt;, an AI Developer &amp;amp; Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently open to new opportunities&lt;/strong&gt; in fintech, crypto payments, and AI agent engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tomcn.uk" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/tomwangcn/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/tomwangcn" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; | &lt;a href="mailto:hi@tomcn.uk"&gt;Email&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>fintech</category>
      <category>payments</category>
      <category>paymentdeveloper</category>
      <category>paymentinfrastructure</category>
    </item>
  </channel>
</rss>
