WDK logoWDK documentation

Changelog

Updates and improvements to the Wallet Development Kit (WDK) modules and tools.

Stay up to date with the latest improvements, new features, and bug fixes across all WDK modules.


July 30, 2026

What's New

  • wdk-core (v1.0.0-beta.15): Add global and account-scoped SDA protocol registration, getSdaProtocol(), and policy coverage for deposit-address creation, renewal, recovery, and disablement. Governed proxies now hide keyPair and underscore-prefixed members from direct access and own-property reflection and reject freezing; retained raw references, prototype inspection, and nested module calls remain outside that proxy boundary.
  • wallet-evm-erc-4337 (v1.0.0-beta.14): Add opt-in ERC-4337 nonce lanes with parallel and nonceKey for sign, send, and transfer flows, replacing local sequential nonce reservation. Lane operations rebuild rather than reuse quote-cache UserOperations; same-lane operations require sequential inclusion and overlapping calls can collide. The beta.14 per-call declarations omit the runtime-supported lane fields.
  • create-wdk-module (v1.0.0-beta.3): Add the sda scaffold type and wdk-protocol-sda-<provider> template. The generated provider contains empty method stubs and todo-only tests, so implement both required methods and implement or remove every optional override before publishing.
  • wdk-utils (v1.0.0-beta.11): [Breaking] Add CAIP-2-aware validateAddress() dispatch for Bitcoin, EVM, Solana, Spark, and Tron. Bitcoin success results replace network with compatibleNetworks and rename mainnet to bitcoin; Spark successes also add compatibleNetworks.

Fixes

  • worklet-bundler (v1.0.0-beta.7): Check root, nested, scoped, and symlinked package trees before deferring an optional peer, preventing installed dependencies from being omitted and later failing with MODULE_NOT_FOUND. Public exports and configuration signatures are unchanged.

Changes

  • wallet-btc (v1.0.0-beta.12): Publish a version-only source update plus a repository lockfile refresh from valibot 1.4.1 to 1.4.2. Runtime source, declarations, declared dependencies, and the Node.js requirement are unchanged.
  • wallet-ton (v1.0.0-beta.12): Publish a version-only source update plus a development lockfile refresh from fast-uri 3.1.2 to 3.1.4. Runtime source, declarations, declared dependencies, and existing mainnet endpoint caveats are unchanged.
  • wallet-ton-gasless (v1.0.0-beta.8): Publish a version-only source update plus a development lockfile refresh from fast-uri 3.1.2 to 3.1.4. Runtime source, declarations, declared dependencies, and existing mainnet endpoint caveats are unchanged.
  • swidge-symbiosis (v1.2.0): Add a 30-second default API timeout and configurable X-Partner-Id, validate a positive integer input amount, reset non-zero insufficient EVM allowances before approval, and recognize partner fees by their Partner fee description. TON joins Tron and Solana as quote-only because WDK TON accounts cannot submit the raw BoC route payload; Monero and Zcash custodial routes are excluded from discovery and resolution.
  • swidge-symbiosis (v1.1.2): Move publishing to version-tagged npm trusted publishing without changing the public module API.

July 29, 2026

What's New

  • rgb-lightning (v0.1.0-beta.15): Add the community-maintained RGB Lightning wallet and node module for BTC and RGB balances, peers and channels, Lightning and RGB invoices and payments, LSP and Lightning Address flows, APay, and VSS backup. The beta requires one platform-specific native peer, persistent node state, and an explicit unlock step before account operations.

Changes

  • lending-aave-evm (v1.0.0-beta.5): Refresh the wallet and ethers dependencies without changing the Aave adapter's public runtime or type surface. ERC-4337 integrations must now provide the dependency's required safeModulesVersion; token-paymaster mode also requires a paymaster address, URL, and token configuration.

July 28, 2026

What's New

  • swidge-symbiosis (v1.1.1): Add typed provider errors, expose named SymbiosisProtocol and ISwidgeProtocol exports alongside the default export, and map Symbiosis status code 2 to WDK pending.

July 27, 2026

What's New

  • wallet-solana-gasless (v1.0.0-beta.2): Let owned accounts quote and submit the fully signed transaction returned by signTransaction(). Quoting decodes the embedded paymaster-token fee without broadcasting; sending applies transactionMaxFee and submits the exact base64 wire transaction through Solana RPC without contacting the paymaster again. The signed payload keeps its existing blockhash or durable-nonce lifetime and is not refreshed or re-signed.
  • WDK CLI (v1.0.0-beta.1): Introduce the public @tetherto/wdk-cli beta with the wdk command-line interface, a local wallet daemon, and a bundled MCP server. The release supports encrypted named wallets, multi-network reads and sends, custom networks and tokens, indexer history, MoonPay buy/sell links, and MCP setup for supported AI tools.

July 24, 2026

What's New

  • bridge-usdt0-evm (v1.0.0-beta.7): Extend the ERC-4337 transaction-value helper to Ethereum, Plasma, and Polygon in addition to Arbitrum. On supported helper routes, an ERC-4337 bridge call bundles approval and bridging into one UserOperation instead of requiring a separate approve() submission. ERC-4337 network-fee units depend on the selected paymaster mode, while the bridge fee remains in bridged-token base units; use bridgeMaxFee only where those denominations are coherent, and note that the release rejects a total equal to the cap.
  • react-native-core (v1.0.0-beta.15): Add swidge to useProtocol() and align the worklet dependency with Pear Worklet beta.10. The npm artifact still omits the declared default dist/index.js and dist/index.d.ts files, so only resolvers that select the React Native source condition can load the published package as declared.

July 23, 2026

What's New

  • pear-wrk-wdk (v1.0.0-beta.10): Add swidge routing to the shared callMethod() handler for both HRPC and JSON-RPC. Pass protocolName in the call options so the worklet can resolve the requested account-level Swidge provider.
  • wallet-evm (v1.0.0-beta.16): Widen the declared writable quote and send inputs to accept serialized transaction strings. Quoting a serialized transaction is non-broadcasting and uses its parsed fields. Do not pass a serialized transaction to sendTransaction() in this release: the runtime repopulates and signs a new transaction rather than broadcasting the supplied bytes.

Changes

  • wallet-evm-erc-4337 (v1.0.0-beta.13): Add Hardhat and regression-test coverage without changing the beta.12 production API or runtime behavior.
  • lending-morpho-evm (v1.0.5): Raise @morpho-org/morpho-sdk from ^5.3.2 to ^5.4.0 without changing the WDK adapter's compiled JavaScript, declarations, exports, configuration, or README.

July 22, 2026

What's New

  • wdk-utils (v1.0.0-beta.10): Add structural Solana address validation plus splitMnemonic() and combineMnemonic() for threshold-based English BIP-39 recovery shares. Shares are unencrypted sensitive material, and their embedded checksum detects accidental corruption rather than authenticating participants. React Native must provide secure crypto.getRandomValues before encryption or share generation.

Fixes

  • wallet-evm-7702-gasless (v1.0.0-beta.2): Check the current EntryPoint v0.8 account nonce before consuming a cached quote, and rebuild the UserOperation when the cached nonce is stale. Cache identity still excludes per-call fee-mode configuration, so use the same fee-mode and paymaster settings for a quote and its matching send or transfer.
  • failover-provider (v1.0.0-beta.3): Fix getter forwarding, proxy invariants, callable-thenable detection, and concurrent provider switching for synchronous and asynchronous reads. The proxy still forwards reads and method calls only, not writes, setters, enumeration, or reflection.

Changes

  • fiat-moonpay (v1.0.0-beta.3): Refresh package and publishing dependencies without changing the public MoonPay runtime API. The current config accepts apiKey, optional backend signUrl, cacheTime, and environment; it does not accept secretKey.
  • react-native-secure-storage (v1.0.0-beta.5): Publish dependency and workflow maintenance with no source API change. The npm artifact omits the dist/ JavaScript and declaration files still referenced by its default and type entrypoints; pin beta.4 unless the consuming resolver explicitly uses the React Native source entry.

July 21, 2026

What's New

  • wdk-wallet (v1.0.0-beta.15): Export UnsupportedOperationError, ValueError, and NoSuchElementError from the base wallet package.

July 20, 2026

What's New

  • wallet-aptos (v1.0.0-beta.1): Introduce Aptos wallets with hardened SLIP-0010 Ed25519 derivation, APT and fungible-asset balances and transfers, provider failover, provider-backed transaction preparation and signing, message signatures, and read-only accounts.
  • p2p-address-book (v1.0.0-beta.2): Publish the encrypted, multi-writer P2P wallet contact store and make replication startup asynchronous so local initialization no longer waits for the initial swarm flush. Treat construction as local readiness rather than proof that peers are connected or records have converged.

July 16, 2026

What's New

  • wallet-evm-erc-4337 (v1.0.0-beta.12): Let writable accounts quote and submit a signed EntryPoint v0.7 UserOperationV7. Submission preserves its baked nonce and gas fields and skips a fresh transactionMaxFee check, so accept only a trusted operation prepared for the same account and configuration and submit it promptly.
  • wallet-solana (v1.0.0-beta.12): Let writable accounts quote a fully signed transaction without broadcasting and send its exact serialized wire payload after applying transactionMaxFee. A signed transaction seals its recent blockhash or durable-nonce state, so submit it within the relevant validity window.
  • wallet-ton (v1.0.0-beta.11): Let writable accounts quote and submit the signed transfer-body Cell returned by signTransaction(). The cell seals the wallet sequence number; rebuild it after intervening account activity.
  • wallet-tron (v1.0.0-beta.9): Export TronSignedTransaction and let writable accounts quote it without broadcasting or submit the exact signed transaction through TronWeb after applying transactionMaxFee.
  • worklet-bundler (v1.0.0-beta.6): Defer missing optional peer dependencies through bare-pack --defer by default. Use --no-defer-optional-peers or deferOptionalPeers: false for a strict build; otherwise an optional feature can build successfully and fail later when its deferred peer is first required.
  • @lifi/wdk-protocol-swidge-lifi (v0.5.1): Map each quoted fee to its LI.FI cost-token chain, and omit the optional chain when LI.FI does not provide one instead of assigning every fee to the source chain.

Fixes

  • react-native-core (v1.0.0-beta.14): Align Pear Worklet to beta.9 so the beta.13 generic-module HRPC methods are available, and move react-native-bare-kit to an explicit peer dependency that applications must install.

Changes

  • asset-registry (v1.0.0-beta.2): [Breaking] Make getTokenByAddress() case-sensitive by default. Pass { caseSensitive: false } for normalized case-insensitive address lookup; symbol and chain helpers remain case-insensitive by default.

July 09, 2026

What's New

  • pear-wrk-wdk (v1.0.0-beta.9): Add HRPC-only generic-module construction, method calls, lifecycle handling, and host events, plus a separate length-prefixed JSON-RPC server entrypoint for native hosts. JSON-RPC supports the existing WDK, wallet, protocol, and secret operations but not wallet resets or generic modules in this release. Production logging now defaults to ERROR, JSC object logging is serialized safely, and temporary secret-buffer cleanup is improved.
  • wdk-utils (v1.0.0-beta.9): Add deriveSeedKey() for domain-separated HKDF-SHA256 byte keys and deriveSeedKeyPair() for deterministic Ed25519 keypairs. Both require caller-supplied salt and info values and expect high-entropy seed bytes rather than mnemonic words.

Changes

  • wallet-tron-gasfree (v1.0.0-beta.8): Add transactionMaxFee to the shared config type while native quote, sign, and send methods remain unsupported, so the field has no runtime enforcement path. GasFree TRC20 transfers continue to use per-call transferMaxFee, and provider transfer and activation fee fields are converted to bigint before addition.

July 08, 2026

What's New

  • wdk-wallet (v1.0.0-beta.14): Add optional minAmountOut to shared swap and swidge options, in destination-token base units, and forward it through the Swidge swap adapters. The base package does not validate or enforce the minimum; concrete provider behavior remains provider-defined.
  • wallet-btc (v1.0.0-beta.11): Let writable Bitcoin accounts quote and broadcast signed raw transaction hex. Signed-hex quotes fetch referenced previous transactions through the configured client without broadcasting, while signed-hex sends broadcast the exact payload and apply transactionMaxFee when configured. Read-only accounts still quote transaction objects only. An updated descriptor dependency raises the Node.js minimum to 20.19.0.
  • react-native-core (v1.0.0-beta.13): Add the useModule() hook, ModuleService, generic-module event subscriptions, and runtime WdkConfigs.modules. The published package still pins Pear Worklet beta.8, which lacks the required module HRPC methods, so the new API is not runnable through the default dependency graph. The React Native source entry is present, but the declared default JavaScript and type outputs under dist/ are missing from this tag.
  • worklet-bundler (v1.0.0-beta.5): Restore the built CLI and API files missing from beta.4, making the published HRPC/JSON-RPC transport, HRPC generic-module config, native addon linking, addons.yml, and ESM-to-CJS options available. Native linking now includes bare-posix automatically.

Fixes

  • wdk-core (v1.0.0-beta.14): Export the type-only WdkAccount intersection and use it as the declared return type of getAccount() and getAccountByPath(), so writable wallet and protocol methods are represented together. Runtime account behavior is unchanged.

July 07, 2026

What's New

  • swidge-rhinofi (v1.0.0-beta.2): Introduce the Rhino.fi swidge provider for authenticated cross-chain quotes, EVM source-chain execution, live chain and token discovery, status polling, fee-cap checks, and typed Rhino.fi error handling.

Changes

  • pricing-bitfinex-http (v1.0.0-beta.4): Remove the USD-pivot fallback from Bitfinex price lookups. Current-price and price-data methods now return null for pairs Bitfinex cannot quote directly, while historical lookups return an empty series when Bitfinex has no matching history.

July 04, 2026

Changes

  • wdk-utils (v1.0.0-beta.8): Refresh Noble crypto dependencies and import paths used by address validation, Lightning invoice helpers, BIP-21 parsing, and seed-encryption internals. No new public helper API is introduced in this release.

July 03, 2026

What's New

  • wallet-evm (v1.0.0-beta.15): Add signer-backed EVM accounts with the new @tetherto/wdk-wallet-evm/signers entrypoint, SeedSignerEvm, PrivateKeySignerEvm, signer-based account retrieval, standalone private-key accounts via WalletAccountEvm.fromPrivateKey(), contract-creation transactions with omitted or null to, and ERC-7702 authorization/delegation helpers. The release also updates ethers to 6.17.0 and aligns with @tetherto/wdk-wallet v1.0.0-beta.13.
  • wallet-tron (v1.0.0-beta.8): Add arbitrary transaction support. quoteSendTransaction(), signTransaction(), and sendTransaction() now accept native TRX transfers, smart-contract call descriptors, or pre-built TronWeb transactions. Fee quotes cover bandwidth, smart-contract energy, and activation fees where applicable.

Fixes

  • wdk-wallet (v1.0.0-beta.13): Default IWalletAccount<TSignedTransaction> to unknown, restoring bare IWalletAccount TypeScript compatibility for downstream packages without runtime behavior changes.
  • wallet-evm-erc-4337 (v1.0.0-beta.11): Fix UserOperation signing compatibility with the @tetherto/wdk-wallet-evm v1.0.0-beta.15 signer model and align dependencies with @tetherto/wdk-wallet v1.0.0-beta.13 and ethers 6.17.0.

Changes

  • worklet-bundler (v1.0.0-beta.4): Publish source changes for JSON-RPC transport, native addon linking, ESM-to-CJS conversion, generic modules config support, lazy wallet-module loading, and the generated ./.wdk import path. The npm artifact for this tag is missing built CLI/API files, so the Worklet Bundler usage pages remain on the prior documented workflow until a fixed package is available.
  • wdk-core (v1.0.0-beta.13): Align the core package with @tetherto/wdk-wallet v1.0.0-beta.13. No new core runtime API changes were found in this tag diff.
  • bridge-usdt0-evm (v1.0.0-beta.6): Align dependencies with the latest base wallet, EVM wallet, and ERC-4337 wallet releases. No production bridge API changes were found in this tag diff.

July 01, 2026

What's New

  • wallet-evm-erc-4337 (v1.0.0-beta.10): Add transactionMaxFee for non-sponsored sendTransaction() and signTransaction() UserOperation flows, separate from transferMaxFee for token transfers. The module also reserves local nonces for rapid or concurrent sends from the same account instance and releases them when a submission fails before bundler acceptance.
  • react-native-core (v1.0.0-beta.12): Add useProtocol() for calling bridge, swap, lending, and fiat protocol methods from React Native through the active WDK worklet account.

June 30, 2026

Changes

  • swap-velora-evm (v1.0.0-beta.6): Document the optional ERC-4337 per-call config argument for swap() and quoteSwap(), plus the swap() per-call swapMaxFee override. The package also refreshes dependency and repository metadata.

June 29, 2026

What's New

  • wdk-wallet (v1.0.0-beta.12): Remove signTransaction() from the base ISigner interface. Transaction signing remains an account-level wallet operation, and the base account types now let modules accept unsigned or module-specific signed payloads in sendTransaction() and quoteSendTransaction() where supported.
  • wallet-solana (v1.0.0-beta.11): Add transactionMaxFee for native SOL sendTransaction() and signTransaction() flows. The Solana module keeps transferMaxFee scoped to SPL token transfers, and fee caps reject estimated fees above the configured cap.

Changes

  • wallet-ton-gasless (v1.0.0-beta.7): Add transactionMaxFee to the shared gasless wallet config typing for base-wallet alignment while sendTransaction(), quoteSendTransaction(), and signTransaction() remain unsupported on the gasless module. Gasless Jetton transfers continue to use transferMaxFee, fee caps reject estimated fees above the configured cap, and the package refreshes its TON wallet and security dependency set.

June 25, 2026

Changes

  • wallet-spark (v1.0.0-beta.22): Keep Spark send fee behavior unchanged after the beta.21 package. Spark does not expose transactionMaxFee because the module does not charge a configurable chain fee for Spark sends.

June 23, 2026

What's New

  • wallet-btc (v1.0.0-beta.10): Add transactionMaxFee to cap fees for BTC sendTransaction() and signTransaction() operations.
  • wallet-evm (v1.0.0-beta.14): Add transactionMaxFee for native EVM sendTransaction() and provider-backed signTransaction() flows, separate from transferMaxFee for token transfers.
  • wallet-ton (v1.0.0-beta.10): Add transactionMaxFee for TON sendTransaction() and signTransaction() flows, and refresh the form-data dependency.
  • wallet-tron (v1.0.0-beta.7): Add transactionMaxFee for native TRX sendTransaction() and signTransaction() flows, keep TRC20 transferMaxFee separate, and return activationFee from native send quotes and results.

Changes

  • wallet-spark (v1.0.0-beta.21): Publish an intermediate Spark package update before the beta.22 follow-up. Use beta.22 as the current Spark baseline.

June 20, 2026

What's New

  • pricing-coingecko-http (v1.0.0-beta.1): Introduce @tetherto/wdk-pricing-coingecko-http, a CoinGecko-backed PricingClient with current price lookups, batched current prices, price data with derived 24-hour change, historical price ranges with optional downsampling, Demo/Pro API key support, and configurable CoinGecko ID mappings.

June 19, 2026

What's New

  • wdk-utils (v1.0.0-beta.7): Add passphrase-based seed encryption helpers with AES-256-GCM, scrypt key derivation, encrypt(), decrypt(), deriveKey(), decryptWithKey(), and persisted scrypt cost parameters on encrypted payloads.
  • wallet-spark (v1.0.0-beta.20): Add the enableLogging wallet config option for Spark SDK logging, update the Spark SDK and Bare dependencies, and avoid creating duplicate Spark wallet instances during account setup.

Fixes

  • wallet-tron-gasfree (v1.0.0-beta.7): Return activationFee alongside fee from gas-free transfer quotes and transfer results, so apps can show the activation portion separately when the GasFree account is not active yet.

June 18, 2026

What's New

  • wdk-wallet (v1.0.0-beta.11): Add the base ISigner interface, SignerError, default-signer construction, named signer registration, signer lookup helpers, and signer-aware account retrieval hooks for modules that support external signing.

Fixes

  • wdk-core (v1.0.0-beta.12): Harden transaction policy enforcement by snapshotting governed method arguments once, evaluating policies against that snapshot, forwarding the same approved values to the wallet method, and failing closed with PolicyConfigurationError for non-cloneable governed arguments.
  • wallet-solana (v1.0.0-beta.10): Align the Solana keyPair behavior and types so key arrays are documented as read-only views, while keyPair.privateKey still returns null after dispose() clears the internal private key.

June 14, 2026

What's New

  • wdk-utils (v1.0.0-beta.6): Add BIP-21 Bitcoin payment URI helpers, including isBip21Request(), parseBip21Request(), and encodeBip21Request() with Bitcoin address validation, optional amount, label, and message fields, and unsupported required-parameter errors.
  • react-native-core (v1.0.0-beta.11): Add useBalancesForWallets() for fetching balances across multiple account indices, preload addresses for every requested account/network pair, and return per-account token failures without failing the whole query.

June 12, 2026

What's New

  • wdk-core (v1.0.0-beta.11): Add local transaction policies with registerPolicy(), PolicyViolationError, PolicyConfigurationError, scoped ALLOW/DENY rules for wallet account and protocol write methods, and account.simulate.* mirrors for dry-run policy evaluation.
  • wdk-asset-registry (v1.0.0-beta.1): Introduce @tetherto/wdk-asset-registry with in-memory base and token asset registries, Zod-backed BaseAsset and TokenAsset schemas, JSON schema exports, Uniswap token-list normalization helpers, and bundled common-tokens metadata.
  • wallet-evm-7702-gasless (v1.0.0-beta.1): Introduce @tetherto/wdk-wallet-evm-7702-gasless for EIP-7702 delegated EVM accounts with ERC-4337 UserOperation submission, sponsored and paymaster-token fee modes, provider failover, quote helpers, and UserOperation receipt lookup.

June 10, 2026

What's New

  • wdk-wallet (v1.0.0-beta.10): Add transactionMaxFee to the base WalletConfig type so wallet modules can expose separate fee caps for sendTransaction() / signTransaction() flows and token transfer() flows.
  • wallet-tron (v1.0.0-beta.6): Add ordered Tron provider failover through provider arrays and retries, expose keyPair as a read-only view of the account keys, and return more precise TRX/TRC20 fee quotes including TRX activation fee details.

Fixes

  • wallet-evm-erc-4337 (v1.0.0-beta.9): Validate cached quote nonces at send time before reusing a quoted UserOperation, re-quoting when the on-chain nonce has moved, and propagate UserOperation gas overrides through transfer(), quoteTransfer(), and approve().

June 09, 2026

What's New

  • pricing-bitfinex-http (v1.0.0-beta.3): Add batch FX conversion through Bitfinex's /calc/fx/batch endpoint, including USD-pivot fallback for fiat pairs Bitfinex does not quote directly, plus getMultiCurrentPrices() and getMultiPriceData() coverage.

Changes

  • pricing-provider (v1.0.0-beta.5): Mark unresolved current-price and batch-price results as nullable in the PricingClient base type so custom clients can return null for unsupported pairs without losing type information.

June 04, 2026

What's New

  • wdk-utils (v1.0.0-beta.5): Restore BOLT11 invoice support with exported validateLightningInvoice(), decode(), getHashToSign(), sign(), and encode() helpers, including fallback address, routing info, feature bits, and lightning: prefix handling.
  • wdk-core (v1.0.0-beta.10): Add swidge protocol support to global and account-level registerProtocol() calls, expose getSwidgeProtocol(), preserve account-scoped protocols across repeated account lookups, and reject duplicate registerWallet() calls until the existing wallet is disposed.

June 02, 2026

What's New

  • pricing-provider (v1.0.0-beta.4): Add failover provider support — client now accepts an array of PricingClient instances with automatic connection-error failover, and a new optional retries field (default: 3) controls the number of retry attempts.
  • wallet-ton-gasless (v1.0.0-beta.6): Added client failover: tonClient and tonApiClient now accept arrays of configs or instances with a new retries option (default 3). Migrated to @ton/ton v16.

June 01, 2026

What's New

  • wallet-evm-erc-4337 (v1.0.0-beta.8): Allow per-call UserOperation gas overrides — sendTransaction, quoteSendTransaction, and signTransaction now accept callGasLimit, verificationGasLimit, preVerificationGas, maxFeePerGas, and maxPriorityFeePerGas on the transaction object.

Fixes

  • wallet-spark (v1.0.0-beta.19): Fix keyPair getter to return null for privateKey after dispose() is called; document that the returned byte arrays are a read-only view of internal keys.

May 29, 2026

Fixes

  • wallet-ton (v1.0.0-beta.9): Fix keyPair.privateKey to return null (not undefined) after dispose() and document that key-pair arrays are a read-only view; migrate to @ton/ton v16.
  • wallet-evm (v1.0.0-beta.13): Fix keyPair getter so privateKey reliably returns null after dispose(), and document that the returned byte arrays must be treated as read-only.
  • wallet-tron-gasfree (v1.0.0-beta.6): Remove cached GasFree account state so nonce-sensitive transfers fetch fresh account data, and clarify that returned key-pair byte arrays are a read-only view of internal keys.

May 27, 2026

What's New

  • wallet-evm-erc-4337 (v1.0.0-beta.7): Migrate the smart-account engine to Candide AbstractionKit, add ordered provider failover (pass an array of providers plus an optional retries count), and add an optional onChainIdentifier for tagging UserOperations. The entryPointAddress config option is no longer required.

May 25, 2026

What's New

  • wallet-solana (v1.0.0-beta.9): The WalletAccountSolana constructor is now public (the WalletAccountSolana.at() factory is deprecated — construct accounts directly), and dispose() now securely zeroes the private key so keyPair.privateKey returns null afterwards.
  • wdk-wallet (v1.0.0-beta.9): Add the SwidgeProtocol abstract base class and ISwidgeProtocol interface, a unified swap/bridge/route surface (quoteSwidge(), swidge(), getSwidgeStatus(), getSupportedChains(), getSupportedTokens()) exported from the @tetherto/wdk-wallet/protocols entrypoint for provider modules to implement.
  • create-wdk-module (v1.0.0-beta.2): Add swidge as a new scaffoldable module type for cross-chain swap (swap + bridge combined) protocols, selectable via the interactive prompt or [type] CLI argument.

May 19, 2026

What's New

  • Swidge modules: Add a catalog for released swap, bridge, and combined-route provider modules.

May 18, 2026

Changes

  • wdk-utils (v1.0.0-beta.4): [Breaking] Remove decodeLightningInvoice() and its associated BOLT11 types. Callers that depended on this function must remove it; validateLightningInvoice() and all other Lightning validators remain available.

May 15, 2026

Changes

  • bridge-usdt0-evm (v1.0.0-beta.4): Clarify that bridge() and quoteBridge() require an ERC-20 approval of the source-chain bridge spender before they are called.
  • wallet-ton-gasless (v1.0.0-beta.5): [Breaking] Aligned the default derivation path with @tetherto/wdk-wallet-ton: getAccount(index) now derives m/44'/607'/{index}' instead of m/44'/607'/0'/0/{index}, so the same seed produces different addresses after upgrading. Added signTransaction(tx) (unsupported on gasless; throws) and cached the read-only account instance returned by toReadOnlyAccount().

May 12, 2026

What's New

  • wallet-ton (v1.0.0-beta.8): Add RPC endpoint failover (tonClient now accepts an array of configs/clients with a retries option) and offline transaction signing with signTransaction().

Fixes

  • react-native-secure-storage (v1.0.0-beta.4): Fix secure storage on PIN-only Android devices by using DEVICE_PASSCODE access control when no biometrics are enrolled, preventing silent keychain failures.

May 10, 2026

What's New

  • wallet-tron-gasfree (v1.0.0-beta.5): Make gasFreeApiKey and gasFreeApiSecret optional when the GasFree provider does not require signed API requests, expose TronGasfreeAssetInfo and TronGasfreeAccountInfo, include activation fees in transfer quotes, and add unsupported signTransaction(tx) for wallet-interface compatibility.

May 08, 2026

What's New

  • wdk-utils (v1.0.0-beta.3): Add validateTronAddress(), decodeLightningInvoice(), and decodeLnurl() so wallet UIs can validate Tron addresses and inspect BOLT11 invoices or LNURL strings before starting payment flows.

Changes

  • react-native-core (v1.0.0-beta.10): Use individual token balance reads when a wallet module does not expose batch token balance fetching, improving multi-chain balance support without changing the hook API.

May 05, 2026

Changes

  • react-native-secure-storage (v1.0.0-beta.3): Refresh expo-crypto and expo-local-authentication dependencies to the current Expo SDK release line and keep dependency overrides limited to development tooling, with no public secure storage API changes.

May 01, 2026

What's New

  • wallet-solana (v1.0.0-beta.8): Add signTransaction(tx) for offline Solana transaction signing and getTokenBalances(tokenAddresses) for batch SPL balance reads; prefer provider over the deprecated rpcUrl config alias, optimize getTokenBalance() to use one RPC call, reuse the cached read-only account helper, and bump @tetherto/wdk-failover-provider to 1.0.0-beta.2.

April 30, 2026

What's New

  • React Native Secure Storage: Docs added for @tetherto/wdk-react-native-secure-storage, covering keychain-backed wallet credential storage, biometric options, and typed errors.
  • wallet-spark (v1.0.0-beta.18): Add signTransaction(tx) to WalletAccountSpark for IWalletAccount compatibility, document that standalone signed payloads are unsupported on Spark, reuse the cached read-only account helper, and refresh @buildonspark/spark-sdk to 0.7.16 and spark bare SDK to 0.0.66.

April 29, 2026

What's New

  • wallet-btc (v1.0.0-beta.9): Add offline Bitcoin transaction signing with signTransaction() and ordered client failover with retries; reuse the read-only account helper and clarify that returned key-pair byte arrays should be treated as read-only.
  • wallet-evm (v1.0.0-beta.12): Add ordered provider failover with automatic fallback on connection errors, offline EVM transaction signing with signTransaction(), optional chainId config for provider setup, optional chainId on EvmTransaction, and read-only helper reuse.

Fixes

  • wdk-core (v1.0.0-beta.9): Harden internal protocol and middleware registries to use null-prototype maps, reducing prototype-pollution false positives without changing the public WDK API, and refresh the package README.

April 28, 2026

What's New

  • wdk-wallet (v1.0.0-beta.8): Add signTransaction(tx) to the base IWalletAccount interface so wallet modules can expose offline transaction signing without broadcasting.

Fixes

  • react-native-core (v1.0.0-beta.9): Clean up balance fetch timeouts and prevent timed-out balance requests from updating state after they resolve.

April 22, 2026

Fixes

  • wdk-core (v1.0.0-beta.8): Fix WDK.getRandomSeedPhrase(wordCount?) so client code can generate 24-word BIP-39 seed phrases instead of always receiving the default 12-word mnemonic.

April 19, 2026

Changes

  • lending-aave-evm (v1.0.0-beta.4): Expand per-operation ERC‑4337 config overrides from paymasterToken-only to the wallet module's paymaster-token, sponsorship-policy, and native-coin gas modes.

Fixes

  • failover-provider (v1.0.0-beta.2): Remove unnecessary published type definitions without changing the runtime failover behavior.
  • wallet-solana (v1.0.0-beta.7): Fix SolanaWalletConfig.rpcUrl typings to accept ordered string[] failover endpoints and align the published TypeScript definitions with the beta.6 runtime behavior.

April 15, 2026

Changes

  • wallet-solana (v1.0.0-beta.6): Add runtime RPC failover support for ordered rpcUrl lists plus retries, and tighten custom TransactionMessage and derivation-path validation for durable nonce lifetimes, fee payer matching, and hardened SLIP-0010 child paths.

April 14, 2026

What's New

  • failover-provider (v1.0.0-beta.1): Initial release of a generic FailoverProvider<T> that chains provider candidates and retries sync or async failures with configurable retries and shouldRetryOn(error) logic.

Changes

  • fiat-moonpay (v1.0.0-beta.2): [Breaking] Replace secretKey signing with optional backend signUrl, add environment selection for production or sandbox widget URLs, and return unsigned widget URLs when no signer is configured.

April 13, 2026

What's New

  • wdk-utils (v1.0.0-beta.2): Add EIP-681 request parsing utilities for transfer deeplinks, including request detection and structured parse results.
  • wdk-core (v1.0.0-beta.7): Added dispose(blockchains?), so you can dispose one or more registered wallets without tearing down every wallet in the WDK instance.
  • pear-wrk-wdk (v1.0.0-beta.8): Adds resetWdkWallets({ config }) so custom Bare hosts can selectively dispose and re-register wallet modules from a new networks config.

Changes

  • wallet-spark (v1.0.0-beta.13): Refresh @buildonspark/bare and @buildonspark/spark-sdk dependencies.
  • wallet-spark (v1.0.0-beta.14): Add SparkScan-backed balance polling for getBalance().
  • wallet-spark (v1.0.0-beta.15): Refresh @buildonspark/bare, @buildonspark/spark-sdk, and bare-node-runtime dependencies.
  • wallet-spark (v1.0.0-beta.16): Add syncAndRetry and syncWalletBalance() for retrying failed sendTransaction() and payLightningInvoice() calls once after syncing wallet state.

Fixes

  • worklet-bundler (v1.0.0-beta.3): Generated worklet entrypoints now suspend and resume both HTTP and HTTPS global agents with Bare thread lifecycle events.
  • wallet-btc (v1.0.0-beta.8): getBalance() now includes unconfirmed funds when present, and sendTransaction() accepts an optional timeoutMs to keep polling after broadcast until spent inputs disappear from unspent outputs.
  • wallet-evm (v1.0.0-beta.11): Pin string-backed RPC providers to a static network during EVM account setup.
  • wallet-evm-erc-4337 (v1.0.0-beta.6): Reuse the internal EVM read-only helper during ERC-4337 method calls instead of recreating it on each call.

April 3, 2026

Changes


April 2, 2026

Changes

  • react-native-core (v1.0.0-beta.7): Added missing type exports: WdkAppState, TransactionParams, TransactionResult, UseAccountResponse, AddressInfo, AddressInfoResult, BalanceQueryOptions, UseWdkAppResult. Removed indexer as a top-level config prop.

March 24, 2026

What's New


March 12, 2026

Changes


March 6, 2026

Changes

  • wallet-tron: Fixed case-sensitive address check in verify, upgraded TonWeb to v6.2.0 (v1.0.0-beta.5)
  • lending-aave-evm: Security dependency updates (v1.0.0-beta.4)
  • wdk: Security dependency updates (v1.0.0-beta.6)

March 5, 2026

What's New


February 26, 2026

Changes

  • wdk-protocol-bridge-usdt0-evm (v1.0.0-beta.3): Added per-call BridgeOptions overrides (oftContractAddress, dstEid) and expanded routing from EVM source chains to EVM plus non-EVM destinations (Solana, TON, TRON).

February 25, 2026

Changes


February 24, 2026

Changes

  • wallet-spark (v1.0.0-beta.11): Added Pear runtime entrypoint support (pear.js), removed static import causing runtime issues, and bumped spark bare SDK (@buildonspark/bare) to 0.0.47.

February 20, 2026

What's New


February 18, 2026

What's New

  • x402 Payments: New guide for accepting and making instant USD₮ payments over HTTP using WDK self-custodial wallets. Covers the x402 protocol, buyer integration with @tetherto/wdk-wallet-evm, seller setup with hosted and self-hosted facilitators, and bridging USD₮ to Plasma and Stable chains.

February 15, 2026

Changes


February 14, 2026

Changes

  • wallet-spark: Upgrade spark-sdk from 0.6.1 to 0.6.4 and spark bare SDK to 0.0.43 (v1.0.0-beta.9)

February 12, 2026

What's New

  • Agent Skills: New page covering WDK's agent skill capabilities, self-custodial vs hosted comparison, and platform compatibility with OpenClaw, Claude, Cursor, and other agent platforms.
  • OpenClaw Integration: New page for installing and configuring the WDK skill in OpenClaw via ClawHub, including security precautions for running agents locally.

Changes


February 10, 2026

What's New

  • MCP Toolkit: New documentation for @tetherto/wdk-mcp-toolkit (v1.0.0-beta.1). Covers the WdkMcpServer class, 35 built-in MCP tools across 7 categories (wallet, pricing, indexer, swap, bridge, lending, fiat), setup wizard, multi-tool configuration, and full API reference.

February 08, 2026

Changes

  • wallet-spark: Fixed import causing wallet init failure. Upgrade spark-sdk from 0.5.7 to 0.6.1 (v1.0.0-beta.8)

February 02, 2026

Changes


January 29, 2026

What's New

  • wdk-indexer
    • Updated Ethereum indexer supported tokens list to add USA₮.

Changes

  • wdk-indexer docs
    • Fixed the USD₮, XAU₮ token names.

January 26, 2026

Changes


January 23, 2026

What's New

  • wdk-core docs: Added comprehensive Core Module Guides covering:
  • wdk-core: Added support for 24-word seed phrases via WDK.getRandomSeedPhrase(24)
  • indexer-api:
    • Added new /api/v1/chains endpoint to list supported blockchains and tokens
    • Added XAU₮ support for Plasma network

Changes

  • wallet-btc docs:
    • Updated documentation with BIP-84 (Native SegWit) and BIP-44 (Legacy) support
    • Improved API reference and configuration documentation
  • wallet-spark docs:
  • wallet-tron-gasfree docs:
    • Updated testnet from Shasta to Nile
    • Updated GasFree service URLs and configuration examples
  • wallet-evm-erc-4337 docs: Added paymaster token configuration documentation
  • docs:
    • Updated token symbols to USD₮ and XAU₮ throughout documentation
    • Various documentation improvements with better cross-linking and examples

Fixes

  • wallet-tron-gasfree docs: Fixed typo "Gras-Free" to "Gas-Free"
  • Fixed GitBook callout syntax and formatting issues across documentation

December 23, 2025

What's New

Changes

  • Added this changelog page in the docs!
  • wallet-spark: Updated Spark SDK to latest version (v1.0.0-beta.6)
  • Introduced All Modules page in docs for comprehensive module listings
  • Reorganized documentation structure for better navigation

December 17, 2025

What's New

  • wdk-core: Added fiat protocol support for on-ramp integrations (v1.0.0-beta.5)
  • wdk-wallet: Added fiat protocol integration (v1.0.0-beta.6)

December 3, 2025

What's New

  • wallet-ton: Added integration tests (v1.0.0-beta.6)
  • wallet-btc: Added support for custom feeRate and confirmationTarget parameters (v1.0.0-beta.4)

Changes

  • wallet-ton: Updated default derivation path, fixed transaction receipt LT and from address
  • wallet-solana: Updated default derivation path for better compatibility (v1.0.0-beta.4)
  • wallet-btc: Multiple improvements:
    • Automatic dust limit inference based on wallet type
    • Performance improvements with bounded concurrency and caching for getTransfers
    • Switched to bitcoinjs-message for standard message signing
    • Updated default BIP to 84 (Native SegWit)
    • Fixed testnet derivation path (now uses 1')

November 14, 2025

Changes

  • wdk-wallet: Runtime updates and dependency synchronization (v1.0.0-beta.5)

November 12, 2025

What's New

  • wallet-solana: Added sendTransaction support with unit tests (v1.0.0-beta.3)

Changes

  • wallet-solana: Fixed punycode module resolution issue
  • lending-aave-evm: Runtime compatibility updates (v1.0.0-beta.3)

November 11, 2025

Changes


November 9-10, 2025

What's New

  • wallet-ton-gasless: Added unit tests (v1.0.0-beta.3)
  • pear-wrk-wdk: Added seed buffer support in workletStart (v1.0.0-beta.5)

Changes

  • wallet-tron-gasfree: Fixed bug interacting with Gasfree API (v1.0.0-beta.3)
  • wallet-ton-gasless: Updated TON query-id and transaction hash handling
  • wallet-evm: Runtime updates (v1.0.0-beta.4)
  • wallet-tron: Dependency and runtime updates (v1.0.0-beta.3)

November 8, 2025

Changes

  • wdk-core: Updated bare-node-runtime for improved compatibility (v1.0.0-beta.4)
  • wallet-spark: Updated Spark dependencies and improved dispose method (v1.0.0-beta.5)

November 7, 2025

Changes

  • wallet-evm-erc-4337: Fixed destructuring of user operation in getTransactionReceipt() (v1.0.0-beta.3)
  • wallet-ton: Replaced UUID-based message body with seqno/queryId for TON transfers, downgraded @ton/ton to 15.1.0 for stability (v1.0.0-beta.5)

How to Stay Updated

On this page