What a beautiful day in Lisbon!
Blessed to work with partners like @Nasdaq.
Thank you @HaglindMagnus @adenatfriedman and team ๐ค
Welcome aboard, sir!
๐ He scaled a core banking platform to nearly 1M transactions a day.
Now he's building @dfnsHQ in Singapore.
Please welcome Zakarya Ali, our first software engineer in APAC.
Zakarya has spent more than ten years building systems where money, data and reliability meet:
โ At Majority in Stockholm, he ran core banking engineering. He lifted payment success and designed a double-entry ledger all under PCI and SOC 2
โ At Thales in Singapore, he led data and machine learning work for SMRT, Singapore's transit operator, and later led AI implementation for 15 engineers across Paris and Singapore
โ In six months there, he architected five production AI products, including a stablecoin payment agent, and an agentic system that cut its own running cost by 41%
โ He began at Accenture in Paris, building for clients such as Orange, La Banque Postale and EDF
Few engineers have worked on both sides of what DFNS does: the core banking systems that keep an institution's books, and the modern platforms that move value at scale. Zakarya has.
In Singapore, he'll work across our core platform and alongside clients in the region, helping institutions design and deploy on DFNS, and helping us build our engineering team in Asia.
Welcome, Zak. ๐ค
๐ Read the announcement: dfns.co/article/welcome-zakaโฆ
๐ฎ See our open positions: jobs.deel.com/dfns
๐ผ Watch a transfer to an OFAC-sanctioned address get stopped.
Our CPO Chris Sutton demos the Elliptic KYT integration on @dfnsHQ, in under two minutes.
In the demo, Chris:
1๏ธโฃ Confirms the @elliptic account on the new Integrations Hub card
2๏ธโฃ Creates a wallet usage policy with the new rule: transaction prescreening with Elliptic
3๏ธโฃ Sets a risk score threshold of five, and the action to block
4๏ธโฃ Attempts a small ETH transfer to an actual OFAC-sanctioned address, signs with a passkey
๐ซ Blocked by policy. The transfer details show Elliptic's pre-screening (risk score: 10, threshold: 5)
That's the whole point of screening in the execution path rather than after settlement.
Compliance that runs after the fact is a report. Compliance that runs before the signature is a control.
And it's your risk model doing the deciding. Set the score threshold your compliance team tuned in Elliptic, name the rule categories that trigger regardless of score, choose block or request approval.
The risk appetite you defined becomes enforcement behind the API. With the Elliptic assessment attached to every decision and persisted per transfer, the proof is the record whenever the examiner asks.
That's what onchain core banking is for.
๐ Watch the demo: youtu.be/OSCyvoa0J-8
๐ Read the announcement: dfns.co/article/elliptic-intโฆ
โจ๏ธ Start building today: app.dfns.io/get-started
Done โ
Creating a million wallets used to mean a million key ceremonies.
Now it takes one API call โ๏ธ
Today, weโre launching ๐๐๐น๐ธ ๐๐ฑ๐ฑ๐ฟ๐ฒ๐๐๐ฒ๐ on @dfnsHQ.
Create up to one million custodial wallets in a single request, each with its own address, name, and tags.
Creating wallets securely with MPC takes time. Thatโs a problem when a payments platform needs deposit addresses for millions of users before launch.
Bulk Addresses solves this by running one MPC key ceremony per batch, then deriving each wallet address locally. No additional ceremony per wallet. No onchain activity until funds arrive.
Hereโs how it works:
1๏ธโฃ Create a batch with one API call.
2๏ธโฃ Track progress as wallets are created in the background.
3๏ธโฃ Retrieve the results in pages of 2,000 wallets.
Every wallet is ready to receive funds and use standard DFNS features, including webhooks and policies.
For payments, trading, and banking applications in need to swiftly create millions of deposit addresses, this makes a big difference.
Available at launch for Ethereum and its L2s, Tron, and Solana ๐ข
โ ๏ธ Bulk Addresses only works for org-controlled (โcustodialโ) wallets. Each batch shares a master key that cannot be exported, and the design prevents one walletโs key from being used to reconstruct anotherโs.
๐ Read more: dfns.co/article/bulk-addressโฆ
โจ๏ธ Start building: app.dfns.io/get-started
Creating a million wallets used to mean a million key ceremonies.
Now it takes one API call โ๏ธ
Today, weโre launching ๐๐๐น๐ธ ๐๐ฑ๐ฑ๐ฟ๐ฒ๐๐๐ฒ๐ on @dfnsHQ.
Create up to one million custodial wallets in a single request, each with its own address, name, and tags.
Creating wallets securely with MPC takes time. Thatโs a problem when a payments platform needs deposit addresses for millions of users before launch.
Bulk Addresses solves this by running one MPC key ceremony per batch, then deriving each wallet address locally. No additional ceremony per wallet. No onchain activity until funds arrive.
Hereโs how it works:
1๏ธโฃ Create a batch with one API call.
2๏ธโฃ Track progress as wallets are created in the background.
3๏ธโฃ Retrieve the results in pages of 2,000 wallets.
Every wallet is ready to receive funds and use standard DFNS features, including webhooks and policies.
For payments, trading, and banking applications in need to swiftly create millions of deposit addresses, this makes a big difference.
Available at launch for Ethereum and its L2s, Tron, and Solana ๐ข
โ ๏ธ Bulk Addresses only works for org-controlled (โcustodialโ) wallets. Each batch shares a master key that cannot be exported, and the design prevents one walletโs key from being used to reconstruct anotherโs.
๐ Read more: dfns.co/article/bulk-addressโฆ
โจ๏ธ Start building: app.dfns.io/get-started
Time to leave Fireblocks while you can ๐
streetinsider.com/dr/news.phโฆ
Now โก๏ธ dfns.co
Done โ
The largest onchain order book now has its EVM.
@dfnsHQ now supports HyperEVM, the blockchain developed by @HyperliquidX โ๏ธ
HyperEVM brings smart contracts to the Hyperliquid ecosystem. It shares the same validators, blocks and tokens as HyperCore, the order book behind one of the leading venues for decentralized perpetuals.
The key difference? Smart contracts can access live order book data, including prices and positions, and send instructions back without relying on an external oracle. This opens the door to lending markets that use live positions for liquidations and products that settle directly against order book data.
More than 170 projects were building on HyperEVM by early 2026, and Tetherโs USDT0 has brought significant stablecoin liquidity to the network.
With DFNS, institutions can:
1๏ธโฃ Create wallets and hold or transfer HYPE, USDT0 and other ERC-20 tokens.
2๏ธโฃ Interact with HyperEVM smart contracts using their ABI.
3๏ธโฃ Apply approval workflows, transaction limits and screening before signing.
4๏ธโฃ Sign securely and track transactions through webhooks and a single audit trail.
Trading firms can manage assets across HyperCore and HyperEVM. Treasury teams can put stablecoins to work with clear controls. Platforms can create and manage wallets for their users at scale.
HyperEVM joins more than 100 networks supported by DFNS ๐ข
๐ Read more: dfns.co/article/hyperevm-supโฆ
โจ๏ธ Start building: app.dfns.io/get-started
Done โ
Your own blockchain no longer needs a software release. Just an API call.
Today, weโre launching ๐๐ฟ๐ถ๐ป๐ด ๐ฌ๐ผ๐๐ฟ ๐ข๐๐ป ๐๐ต๐ฎ๐ถ๐ป on @dfnsHQ.
Banks and platforms increasingly run their own chains. Private Besu networks, consortium blockchains and appchains built on @OPLabsPBC Stack, @arbitrum Orbit, @avax, @0xPolygon, or @CantonNetwork.
Until now, adding one meant a code change and a new release, even for on-premises deployments.
Not anymore โ๏ธ
Register a network through the API, and it works like any of the 100+ networks supported by DFNS.
1๏ธโฃ Create wallets with the same key across compatible chains.
2๏ธโฃ Sign, broadcast and track transactions.
3๏ธโฃ Index blocks, decode contract events and monitor addresses.
4๏ธโฃ Add networks on-prem without waiting for a DFNS release.
Each network is isolated by organization. RPC credentials stay encrypted, and retired network names cannot be reused.
We started with EVM chains. More chain types to follow.
Your chain. Your configuration. Ready to use ๐ข
๐ Read more: dfns.co/article/bring-your-oโฆ
โจ๏ธ Start building: app.dfns.io/get-started
You give your Base address, but they send funds on Ethereum...
Same address, but wrong chain. Now what?
Our CPO Chris Sutton demos a simple fix:
โก๏ธ Re-index a transaction by hash and network, directly from DFNS.
EVM addresses are the same across chains. Funds can arrive on a network DFNS wasn't tracking for that wallet.
In the demo, Chris:
1๏ธโฃ Sends 20 USDC to his Base address on Ethereum Sepolia.
2๏ธโฃ Creates an Ethereum Sepolia wallet for the same key, but sees a zero balance.
3๏ธโฃ Re-indexes the transaction from organization settings.
โ
Returns to the wallet. The 20 USDC are there.
No support ticket. No waiting. Just re-index the transaction and move on.
A small feature that makes a real difference when you run digital asset operations at scale.
That's what onchain core banking is for.
๐ Watch the demo: youtu.be/yn4KTZO3Rro
โจ๏ธ Start building today: app.dfns.io/get-started
Christopher Grilhault des Fontaines retweeted
.@christophergdf, CEO of @dfnsHQ, says that by next year, youโll be using tokens without even realizing it.
โItโs gonna be kinda normal to have an account, a wallet, etcetera, and itโs gonna be normal to send and receive tokens.โ
Done โ
Until now, if we missed a deposit, you had to file a ticket and wait...
That changes today. You can now replay transactions yourself from @dfnsHQ ๐ข
Replay any missed transaction by hash, from the dashboard or API. Available to every customer, at no extra cost.
Indexers can miss events when a node drops a block, a chain reorganizes, or a wallet is added after a deposit arrives. When that happens, you need to deal with missing balances, uncredited users, incomplete records, and more.
Now you can fix it yourself:
โ๏ธ Paste the transaction hash in the dashboard or API.
โ๏ธ DFNS re-fetches the transaction and updates history and balances within a minute.
โ๏ธ Standard webhooks trigger your existing deposit and sweep workflows.
โ๏ธ Replays are idempotent: no duplicate records or webhooks.
โ๏ธ Access is limited to your own wallets and rate-limited.
No support ticket. No waiting. Just a complete transaction record.
It's a small feature that makes a big difference in support, speed, and reliability.
That's what onchain core banking is for.
๐ Read more: dfns.co/article/transaction-โฆ
โจ๏ธ Start building: app.dfns.io/get-started
๐ก๏ธ A certification is a promise. A surveillance audit checks you still keep it.
In August, @dfnsHQ passed its first ISO/IEC 27001, 27017 and 27018 surveillance audit, with a positive recommendation from MSECB on all three.
Over four days, auditors reviewed our security controls across SaaS and on-premises deployments, from risk management and disaster recovery to backups, incident response and employee training.
The result: all three certifications maintained. No major findings. One minor documentation issue, now corrected and closed โ
This follows another year of work: SOC 2 renewed with no exceptions, new security controls, better monitoring and recovery, and a detailed analysis of the limits every provider faces.
Security isnโt a certificate on a wall. Itโs the controls you run, test and improve every day.
The full audit report is available to clients under NDA.
โฉ Next: ISO 22301 for business continuity and SOC 1 for financial controls.
๐ Read more: dfns.co/article/iso-27001-27โฆ
โจ๏ธ Start building: app.dfns.io/get-started
Christopher Grilhault des Fontaines retweeted
โA good business to be in is physical custody.โ
Because every tokenized asset is backed by something real, someone has to keep it โin a secure locationโ and certify that itโs there.
Says, @christophergdf, CEO of @dfnsHQ on the live show.
Usually, a margin call is a lock increase.
Now it's only one atomic change, not an unlock-and-relock anymore.
Our CPO Chris Sutton demos our latest upgrade to Vaults, enabling you to modify a locked position.
In the demo, Chris:
1๏ธโฃ Opens a vault with 5 USDC locked and scrolls to the lock entry
2๏ธโฃ Changes the locked amount from 5 to 10 USDC
3๏ธโฃ Signs with a passkey.
โ
Locked balance: 10. Available: 10. One operation, no intermediate state
The alternative to atomic changes is to release the lock and create a new one, which opens a window where the collateral is briefly free. For a lender raising a margin requirement, or a venue extending a trading line, ๐ต๐ฉ๐ข๐ต ๐ธ๐ช๐ฏ๐ฅ๐ฐ๐ธ ๐ช๐ด ๐ต๐ฉ๐ฆ ๐ธ๐ฉ๐ฐ๐ญ๐ฆ ๐ณ๐ช๐ด๐ฌ.
Modifying in place means the funds are never unlocked on the way to being locked for more. The commitment only ever moves in one step, and the counterparty's guarantee never lapses.
The same permission model holds throughout. Increases route through the committing party's approval, so a lock can't be enlarged unilaterally, and only the lock owner can reduce, release, or settle against it. Nothing locks without you, nothing unlocks without them, and now nothing changes size without both.
Off-exchange settlement, collateral, escrow. The same primitive, now adjustable without ever letting go.
That's what onchain core banking is for.
๐ Watch the demo: youtu.be/XRrw6UV5Gtw
๐ Read it: dfns.co/article/locks
โจ๏ธ Start building today: app.dfns.io/get-started
Done โ
๐ฅ Most access controls don't fail in a breach. They fail quietly through drift.
On most platforms, approval policies name specific people. So when someone joins or leaves a group, like the โtreasury team,โ an admin must manually update every policy that mentions them. Do that for a year and you end up with dozens of hand-maintained user lists that no one fully trusts.
Today we're introducing ๐จ๐๐ฒ๐ฟ ๐๐ฟ๐ผ๐๐ฝ๐, so that never has to happen again.
A User Group is a named team the platform understands.
โ๏ธ Assign permissions to the group and every member inherits them.
โ๏ธ Name the group as the approver and the quorum is drawn from that team.
โ๏ธ Someone joins? Add them to the group once.
โ๏ธ Someone leaves? Remove them once. Every policy and permission self-updates.
You can create a group with the same name as the one in your identity provider, and from there we follow your IdP (e.g. Okta, Microsoft) at every login. A match adds the user, an absence removes them, including for admin access.
Because a group is a way to grant power, it's also governed like one:
โ Adding someone to a privileged group grants the same rights as assigning them directly
โ Deleted group names stay reserved and canโt be recreated with different rights
โ A floor guard prevents removing the last administrator, directly or through group deletion
โ Every membership change is signed, audited, and traceable
The org chart and the platform now say the same thing, and your auditors can prove it.
That's what onchain core banking is for.
๐ Read it: dfns.co/article/user-groups
โจ๏ธ Start building today: app.dfns.io/get-started
Christopher Grilhault des Fontaines retweeted
A whole new world is being built in how banks move money.
Banks will soon settle payments with tokens while the underlying deposits stay on their books.
JPMorgan is already doing it with JPM Coin, its deposit token on Base.
โBanks and [payment companies], they will start committing to more token-first operations."
"The token will move, the underlying asset will sleep, and that is a whole new world.โ โ @christophergdf, CEO of @dfnsHQ
๐จ A must-read.
On September 24, @bitget lost $387.5 million. But no key was stolen.
The attacker took control of the server that told the signer what to sign, and the signer obeyed.
Our CISO, Thibault de Lachรจze-Murel, breaks down the Bitget hack:
๐๐ฉ๐ข๐ต ๐ฉ๐ข๐ฑ๐ฑ๐ฆ๐ฏ๐ฆ๐ฅ, ๐ธ๐ฉ๐ช๐ค๐ฉ ๐ค๐ฐ๐ฏ๐ต๐ณ๐ฐ๐ญ๐ด ๐ง๐ข๐ช๐ญ๐ฆ๐ฅ, ๐ธ๐ฉ๐ข๐ต ๐ต๐ฐ ๐ค๐ฉ๐ข๐ฏ๐จ๐ฆ, ๐ข๐ฏ๐ฅ ๐ธ๐ฉ๐ข๐ต ๐ณ๐ช๐ด๐ฌ๐ด ๐ณ๐ฆ๐ฎ๐ข๐ช๐ฏ ๐ช๐ฏ ๐ฐ๐ถ๐ณ ๐ฐ๐ธ๐ฏ ๐ฎ๐ฐ๐ฅ๐ฆ๐ญ.
Based on interim reports from @Mandiant and @SlowMist_Team, hereโs what happened:
โ A flaw in a third-party security product gave the attacker access 24 days before the theft.
โ A reused employee identity opened the way to the wallet server.
โ A withdrawal tool bypassed its own risk checks.
โ Bitgetโs wallets signed the transfers as legitimate withdrawals.
โ $203 million moved across five chains in nine seconds.
โ Signing continued for 2h39 after the alert. Bitget stopped customer withdrawals, not the attacker.
The problem wasnโt key storage. It was who the signer trusted. ๐ซ
The signer checked where the request came from, not whether it was authorized. It had no proof that a person approved the transfer or that the destination and amount matched the approved instruction.
You can reduce this risk by:
โ๏ธ Checking authority, not just origin.
โ๏ธ Separating policy decisions from systems an attacker could compromise.
โ๏ธ Requiring a client-controlled credential.
โ๏ธ Limiting the warm tier with allowlists, quorums and velocity limits.
โ๏ธ Practising how to stop signing independently of customer withdrawals.
But no vendor can eliminate every risk. Our analysis explains what providers can prevent, what clients must control, and what risks remain.
๐ก๏ธ Questions? [email protected]
๐ Read the analysis: dfns.co/article/the-bitget-hโฆ
โจ๏ธ Start building: app.dfns.io/get-started
On September 24, @bitget lost $387.5 million. But no key was stolen.
The attacker took control of the server that told the signer what to sign, and the signer obeyed.
Our CISO, Thibault de Lachรจze-Murel, breaks down the Bitget hack:
๐๐ฉ๐ข๐ต ๐ฉ๐ข๐ฑ๐ฑ๐ฆ๐ฏ๐ฆ๐ฅ, ๐ธ๐ฉ๐ช๐ค๐ฉ ๐ค๐ฐ๐ฏ๐ต๐ณ๐ฐ๐ญ๐ด ๐ง๐ข๐ช๐ญ๐ฆ๐ฅ, ๐ธ๐ฉ๐ข๐ต ๐ต๐ฐ ๐ค๐ฉ๐ข๐ฏ๐จ๐ฆ, ๐ข๐ฏ๐ฅ ๐ธ๐ฉ๐ข๐ต ๐ณ๐ช๐ด๐ฌ๐ด ๐ณ๐ฆ๐ฎ๐ข๐ช๐ฏ ๐ช๐ฏ ๐ฐ๐ถ๐ณ ๐ฐ๐ธ๐ฏ ๐ฎ๐ฐ๐ฅ๐ฆ๐ญ.
Based on interim reports from @Mandiant and @SlowMist_Team, hereโs what happened:
โ A flaw in a third-party security product gave the attacker access 24 days before the theft.
โ A reused employee identity opened the way to the wallet server.
โ A withdrawal tool bypassed its own risk checks.
โ Bitgetโs wallets signed the transfers as legitimate withdrawals.
โ $203 million moved across five chains in nine seconds.
โ Signing continued for 2h39 after the alert. Bitget stopped customer withdrawals, not the attacker.
The problem wasnโt key storage. It was who the signer trusted. ๐ซ
The signer checked where the request came from, not whether it was authorized. It had no proof that a person approved the transfer or that the destination and amount matched the approved instruction.
You can reduce this risk by:
โ๏ธ Checking authority, not just origin.
โ๏ธ Separating policy decisions from systems an attacker could compromise.
โ๏ธ Requiring a client-controlled credential.
โ๏ธ Limiting the warm tier with allowlists, quorums and velocity limits.
โ๏ธ Practising how to stop signing independently of customer withdrawals.
But no vendor can eliminate every risk. Our analysis explains what providers can prevent, what clients must control, and what risks remain.
๐ก๏ธ Questions? [email protected]
๐ Read the analysis: dfns.co/article/the-bitget-hโฆ
โจ๏ธ Start building: app.dfns.io/get-started
I'm joining @stabledash Live today at 3:00 PM ET to make the case that @dfnsHQ will always be a pure technology service provider.
xitter.cf/i/broadcasts/1DGLdZLkOโฆ
Done โ
๐ Turn fiat payments into stablecoins cross 113+ countries.
Today, weโre launching ๐ฃ๐ฎ๐๐ถ๐ป๐ on DFNS, starting with @borderlessxyz.
Until now, bringing fiat into a stablecoin operation meant leaving the platform. Separate portals, manual wallet mapping, and reconciliation between bank statements and blockchain transactions.
That changes with Payins โ๏ธ
Now, you can:
1๏ธโฃ Select the wallet where your stablecoins should arrive.
2๏ธโฃ Enter the amount, country, and payment method.
3๏ธโฃ Review the quote and sign with a passkey.
4๏ธโฃ Send fiat to the bank details provided.
โ
Done! Any stablecoin in your wallet.
Through one API, we connect you to 19+ locally licensed payment providers, such as Cobre, Capa, Triple-A, Stripe, MoonPay, Walapay, and more, across 72+ currencies.
USD, EUR, GBP. MXN, BRL, COP, ARS. NGN, KES, ZAR. INR, PHP, AED.
No FX markups. A flat platform fee. Funds settle directly with the providers.
On DFNS, every payin has a status, an audit trail, and a destination governed by the same policy engine as the rest of your operations.
Thatโs what onchain core banking is for.
๐ Read it: dfns.co/article/payins
โจ๏ธ Start building: app.dfns.io/get-started













