New Feature:
- Service account policy approvals: service accounts can now participate in policy approval groups when
serviceAccountsCanApproveis set totrue. This enables automated approval workflows where service accounts vote alongside human approvers. Requires activation by Dfns staff on your organization. See policy approvals. - Service accounts can now create policies.
- Redesigned policy creation and editing flows with improved step organization and entity selection.
- New dedicated staking page with detailed information for ETH and BTC staking.
- Transfer ID column added to the wallet transfers table, with copy and search support.
- Fixed payout form error messages persisting across steps.
New Feature:
- Swaps now expose a
failureReasonfield when status isFailed, providing details on why the swap failed. See Get Swap. - Improved API reference documentation for all Permissions endpoints with detailed field descriptions, examples, and validation constraints. The Archive Permission endpoint now documents unarchive support (
isArchived: false).
- Policy approval requests where approval groups were removed after evaluation now resolve as Denied instead of returning an error.
- UniswapX swap quotes now correctly reject assets that are not supported by the UniswapX protocol.
- Payouts features better reliability under concurrent requests.
New Feature:
- List Payouts: new
GET /payoutsendpoint to list and filter payouts by wallet and status, with cursor-based pagination. See API reference. - Solana fee estimation: Estimate Fees now supports Solana and SolanaDevnet, returning
computeUnitPrice(micro-lamports per compute unit) at slow, standard, and fast tiers. - New official Go SDK (v2.0.0). Supports all API endpoints with typed request/response structs and user action signing.
- Transaction Management 2.0 now supports Canton, with automatic contract reservation to prevent conflicts when multiple transactions are built concurrently.
- Concordium transaction signing: updated JSON transaction format with explicit required fields and examples. See Generate Signature.
- Canton now supports validator configurations where participant ID and validator ID are different.
- Dedicated Payouts page: view, filter by status, and manage all payouts in one place.
- Polymesh now featured in wallet creation (promoted to tier 1).
- Progressive wallet loading for better performance with large wallet counts.
- Canton validators on testnet and mainnet can now be registered from the dashboard.
- Improved accessibility across multiple components.
New Feature:
- Payouts: convert stablecoins to fiat bank deposits directly from Dfns. Supports USDC, USDT, and EURC across Ethereum, Polygon, Base, Optimism, Celo, and Solana, with coverage in 94 countries and 63 currencies. See Announcement, dashboard guide, and API guide.
- New profile page (click your username in the bottom-left menu): manage your passkeys, recovery credentials, and organization ID in one place.
- Payouts can now be initiated directly from the wallet asset view.
- Exchange details page and revamped exchange integration form.
- Accessibility improvements across multiple components.
- Transaction Management 2.0 now supports UTXO-based chains (Bitcoin, Litecoin, Dogecoin), with automatic UTXO reservation to prevent conflicts when multiple transactions are built concurrently.
- Fixed swaps failing on fee-sponsored wallets.
- Canton wallet activation can now be retried if the initial activation fails partway through.
- Fixed Tezos fee estimation for accounts that haven’t been revealed on-chain yet.
New Feature:
- Starknet JSON transaction signing: The
Transactionkind for Starknet now uses the Starknet RPC invocation format. The previouscalls-based format is no longer accepted. This applies to both Generate Signature and Broadcast Transaction. - Canton transfer offers are now confirmed when indexed on the ledger, rather than when settled.
- Refreshed exchanges page.
- WalletConnect now supports multi-chain sessions and transaction awaiting.
- Accessibility improvements including better semantic HTML, screen reader support, and chart labels.
New Feature:
- Canton CIP-56 mint transactions (such as USDCx) are now indexed.
- Solana SPL token transfers now support memos (alphanumeric, max 64 characters).
- New webhook event
wallet.offer.withdrawnfires when a transfer offer is withdrawn by the sender. See Webhook Events. - Chainalysis screening now covers all native assets.
- Simplified flow to register a new device.
- Service accounts have moved from the Developer section to Settings > Service Accounts, with a refreshed UI.
- Policies have moved to a new dedicated
/policiesroute with an updated design. - New role management pages for creating, editing, and assigning roles.
- Address book now supports filtering by network.
- Accessibility improvements across the dashboard including better contrast, aria labels, and responsive layout.
Signing API:
- New
Eip191signature kind for signingpersonal_signmessages as defined in EIP-191. See EVM signing. - The
Transactionsignature kind now accepts a JSON object in addition to hex-encoded strings, allowing you to pass EVM transaction fields directly. See EVM signing.
- Added support for Tron and Bitcoin networks.
- Policy-blocked fee-sponsored transactions now return
400 Bad Requestinstead of500 Internal Server Error.
Blockchain support:
- Tempo T1:
- Mainnet:
Tempo - Testnet:
TempoModerato
- Mainnet:
- Fee-sponsored EVM transactions can now be cancelled and sped up.
- WalletConnect support added for Solana networks.
Blockchain Support Updates:
- XRPL T1:
- Mainnet:
XrpLedger - Testnet:
XrpLedgerTestnet
- Mainnet:
- Create wallet: Call Create Wallet without a
validatorId(the parameter has been removed from this endpoint) - Activate wallet: Call Activate Wallet with the
validatorIdto register the wallet on a validator
New Feature:
- Bring Your Own ABI (Smart Contract) See Announcement.
New Feature:
- Transaction Management 2.0: Improved reliability for transaction cancellation and speed-up through deterministic nonce management. See Announcement, Transfer API, and Broadcast API.
- Python SDK See SDK
Blockchain Support Updates:
- Concordium T1:
- Mainnet:
Concordium - Testnet:
ConcordiumTestnet
- Mainnet:
Dashboard Updates:
- Policy Page Approval Re-Design
Blockchain Support Updates:
- Tempo T1:
- Testnet:
TempoAndantino
- Testnet:
- Arc T1:
- Testnet:
ArcTestnet
- Testnet:
- ETC T1:
- Mainnet:
EthereumClassic - Testnet:
EthereumClassicMordor
- Mainnet:
Dashboard Updates:
- Dashboard Re-design Release
- Flow EVM T1:
- Mainnet:
FlowEVM - Testnet:
FlowEVMTestnet - Flow EVM Fee Sponsorship
- Mainnet:
- Plasma Fee Sponorship
Dashboard Updates:
- Activity Page See blog post
- Plasma T1:
- Mainnet:
Plasma - Testnet:
PlasmaTestnet
- Mainnet:
Blockchain Support Updates:
- Starknet SNIP2 Support
Dashboard Updates:
- Editable Tags on the wallet page
- Organizational analytics page
- Allocations See guide and API Reference.
- Starknet T1:
- Mainnet:
Starknet - Testnet:
StarknetSepolia
- Mainnet:
Dashboard Updates:
- Address Book constraint to not allow duplicate addresses within aliases.
- Transaction Initiator now included on the wallet’s transaction history.
- UAE Regional Support
- Canton: Removal of upper-limit for number of wallets on a validator
Dashboard Updates:
- Canton Transfer Offer
- OIDC Support. See installation and login flow.
- Sonic T1
- Mainnet:
SonicCheck out the details on the updated list of supported networks.
- Mainnet:
New Feature:
- Fee Sponsor for Delegated Wallets
Dashboard Updates:
- Address Book: Alias usage in Transfers
- Swaps Public API
- Enhance Chain and Asset support for Notabene and Chainalysis
- TSC Network (Speciality Chain)
- Mainnet:
Tsc - Testnet:
TscTestnet1
- Mainnet:
Blockchain Support Updates:
- Kadena T1 Support
- Mainnet:
Kadena - Testnet:
KadenaTestnet4
- Mainnet:
- Ink T1 Support
- Mainnet:
Ink - Testnet:
InkSepolia
- Mainnet:
New Feature:
- Exportable Audit Log
- Canton Transfer Offers
- CIP-56 Support
Dashboard Updates:
- Tags on Wallet Page
- Hide Scam Tokens & Unverified Transactions
- Swaps
- Hedera T1 Support
- Mainnet:
Hedera - Testnet:
HederaTestnet
- Mainnet:
- Cardano T1 Support
- Mainnet:
Cardano - Testnet:
CardanoPreprod
- Mainnet:
Dashboard Updates:
- Exportable Transaction History
- All wallets across organization
- Specific Wallet
- Address Book
- Create human readable aliases mapped to wallet addresses
- FLARE T1 Support
- Mainnet:
FlareC - Testnet:
FlareCCoston2
- Mainnet:
Blockchain Support Updates:
- Cosmos T1 Support
- Mainnet:
CosmosHub4 - Testnet:
CosmosIcsTestnet
- Mainnet:
- Babylon T1 Support
- Mainnet:
BabylonGenesis - Testnet:
BabylonTestnet5
- Mainnet:
- NEAR T2 Support
- Mainnet:
Near - Testnet:
NearTestnet
- Mainnet:
- Launched Dfns Connect improvements
- Launched Wallet Transfer idempotency
- Launched Kaspa chain as Tier 1
- Launched Race Chain as Tier 1
- Upgraded MATIC to POL
- Deployed fix for Polygon gas fee estimation
- Launched Kraken CEX integration
- Launched ICP and OGY support as Tier 1
- Launched TON in SDK and Dashboard UI
- Enabled feature flags for KU23 ECDSA signing
- Launched TON blockchain support
- Fixed bug in Solana transaction management
- Launched new filter on List Wallets to retrieve wallets by userID/username
- Password encryption based Webauthn alternative
- Launched Flutter SDK
- Launched Dashboard visual redesign
- Chainalysis integration for KYT/AML
- Support for Holesky testnet
- Launched key export for EdDSA keys
- Launched Solana Tier 1
- Launched internal indexing for EVM chains
- Launched Algorand NFT indexing
- Launched Android Kotlin SDK
- Launched create credential w/ code in dashboard
- Launched Stellar Tier 1
- Launched new endpoints for tagging wallets for Policy Engine filters
- Launched cross platform registration with a one-time code
- Upgraded ZeroDev SDK version
- Launched iOS Swift SDK
- Launched new endpoint to create user & wallet simultaneously
- Upgraded Viem SDK integration to 2.X
- Launched recipient whitelisting in Policy Engine
- Executed Asset Account and Public Key to Wallet migration script
- Retired legacy authentication service
- Launched Cardano Tier2 support and Polygon Amoy Tier1 (retired Mumbai)
- Launched Solana fee estimation API
- Launched GoLang SDK
- Launched Tier2 support for PolkaDot and Kusama
- Launched Tier1 support for Algorand
- Removed legacy dashboard access in production
- Added
custodialfield to ListWallets. False implies an end user wallet - Removed Policy Engine v1 create endpoints from dashboard and SDK
- Fixed a bug in which Policy Engine List Approvals was filtering by default
- Launched new Read Contract endpoint
- Launched Litecoin Tier1
- New support for WebAuthn across subdomains
- New network fees API released
- Renamed Ripple to XrpLedger
- Added send button in dashboard for tier2 chains
- Exposed verified contracts in the API metadata for EVM chains
- Renamed Ripple to XrpLedger for accuracy
- Launched Bitcoin indexing for Wallets bringing the chain to Tier1 support
- Fixed a bug preventing users from reading end user wallet metadata
- Released AWS KMS Signer in the SDK
- Backend changes to cluster load balancing
- Added
secondsValidto PAT expiration config
- Launched Solana and Tezos Tier2 wallets support
- Launched support for the Starkware ecosystem with KeyECDSAStark Pseudo Networks
- Launched Wallet webhooks
- Launched Tier2 wallets support for Bitcoin and Tron
- Launched SDK support for Viem
- Launched new .env file generation utility in the dashboard
- Moved all EVM chains to Tier 1 support in Wallets API.
- Added Base L2 support and ArbitrumSepolia testnet
- Released new WalletConnect integration in the dashboard using WebAuthn to sign transactions
- Released first version of wallet export for Enterprise plan customers.
- Released first version of wallet import for Enterprise plan customers.
- Released CGGMP pre-signatures to accelerate signing request times
- Enabled CGGMP signers in production environments
- Enabled PaymentVelocity rules on Asset Accounts
- Released permissions and policy engine in the dashboard
- Released Policy Engine support for Wallet TransferAmountLimit rules
- Released Wallets in the dashboard
- Released Policy Engine support for Wallet AlwaysActivated rules
- Added Generate Signature support for Pseudo Network Wallets
- Updated network names for wallet blockchains
- Returning complete signature encoding from Get Signature calls.
- Updated enumerated types for Wallets API network value
- Relaxed CORS policy preventing API calls from the browser
- Typescript SDK released
- Latency optimizations for Auth service
- Fixes for Windows Hello usage with Webauthn
- Released CMP asset in the dashboard
- Released the new Wallets and NFTs API Beta
- Fixed bugs related to trailing slashes in URL paths
- Added key-based recovery support to the Dfns Dashboard
- Fixed bug in WalletConnect deployment
- Added MVP signer multi-tenancy for ninja sandbox organizations
- Updates to blockchain indexing pipeline
- Added Ethereum Sepolia testnet to blockchain indexing
- Add Tezos & Solana support to BroadcastTransaction
- Allow users to add permissions to API keys in the dashboard
- Optimized API response latency via server-side changes
- Additional dashboard security enhancements
- Deployed new authentication service to production (non-customer impacting)
- Removed
isImmutablefield from policy creation - Fixed bug where rejected transactions are not reflecting the correct state
- Changed payment note to write to XRP destination tag
- Added blockchain indexing for SOL and XRP
- Added
activityIdquery string parameter to List policy control executions
- Added
nonceto BroadcastTransaction API responses - Payment note broadcasted as memo in XRP transactions
- Added new ListTransactions endpoint
- Throughput enhancements to our indexing pipeline
- Added a new endpoint to call
view(aka read-only) contract methods - Deployed chain indexing on BTC and LTC
- Deployed support for Constellation network (DAG) and Ambrosus network (AirDAO)
- Added support for agEUR token on Polygon (AGEUR.MATIC
assetSymbol) - Updated testnet for SKALE blockchain
- Added support for Solana tokens
- Deprecated
groupSizeandgroupThresholdbody parameters for key generation - Polygon payments fix for “transaction under-priced” error
- Released support for Elrond chain
- Added indexing support for Polygon and Binance Smart Chain
- Misc bug fixes
- Fixed a bug in BroadcastTransaction where the
valueparameter was being interpreted in ETH instead of WEI. - Last push of the year!
- Launched new
directionandstatusquery parameters on ListPayments - Fixed a bug in the
timeoutInMinutesimplementation in PolicyControls
- Launched upgraded key storage persistence layer for wallet scalability
- Launched indexing for ERC20s including USDT, USDC, MATIC, BNB so they are exposed in incoming transactions.
- Internal bug fixes for Binance Smart Chain.
- Launched our new blockchain indexing microservice for Ethereum mainnet exposed via the new
directionfield on payments and the newPaymentReceived and PaymentConfirmedcallback eventKinds. - Enabled Permissions on callbacks and public keys
- Internal bug fixes on database pagination
- Continuing the roll out of our new authorization framework called Permissions. The roll-out is intended to be silent and should have no customer facing impact. Stay tuned for further announcements on the features & functionality.
- Deprecated
AllowedProductsinternal restriction on API endpoint usage. Now public keys created with the high level API can be used with the low level API and vice versa.
- Rolled out a new authorization framework called Permissions. This is the first of two deployments and should have no customer-facing impact.
- Deployed changes to our internal gateways for routing internal API calls.
- Added a
maxUnitBalanceproperty to the response from the GetBalance endpoint representing the largest possible unit for the given asset. - IP Whitelisting fixes: API Gateway redirect aliases, extra NAT Gateway IPs whitelisted
- Integrated Fantom, Optimism, and SKALE blockchains
- Added
PolicyActivatedandWalletCreatedcallback subscription topics - Integrated TRON blockchain
- Deployed IP whitelisting framework
- Fixed a bug impacting payment initiation and market data collection
- Added GetAddressForNetwork endpoint
- Deployed internal changes around zero trust service to service communication
- Fixed testnet erc20 tokens with Goerli addresses
- Bug fix adding asset symbol to chain validation
