Changelog
At Thirdweb, we’ve been hard at work implementing significant improvements to our infrastructure, and we’re thrilled to share the results of these efforts. This update represents a major leap forward in scalability, performance, and resilience, ensuring we’re better equipped to serve our users now and in the future. Here's what we’ve achieved:
One of the key drivers of this overhaul was the need to reduce latency and improve response times. Our engineering team has:
- Reduced P99 Latency: We’ve slashed P99 latency from upwards of 20 seconds to just 2 seconds. This improvement means even the slowest requests now complete faster than ever.
- Optimized Average Response Time: The average response time is now just 250ms, providing a snappier, smoother experience for our users.
- Expanded Regional Coverage in Europe and Asia Pacific: We have introduced new regions in Europe and Asia Pacific, allowing us to provide more localized services to meet the growing demands of our global customer base. Additionally, these new regions enhance our disaster recovery capabilities, ensuring greater resiliency and reliability.
These enhancements ensure that our platform is not only faster but also more consistent under varying workloads.
To handle ever-increasing traffic demands, we’ve rolled out improved autoscaling capabilities. These dynamic systems allow us to:
- Respond to peak load surges without sacrificing performance.
- Maintain cost efficiency by scaling resources up or down as needed.
This ensures that no matter how much demand our platform faces, we’re ready to deliver resilient service.
Reliability is critical, especially as we scale. To validate our infrastructure’s ability to handle increasing demand, we conducted resilience testing at over 6,000 Requests Per Second (RPS). The system performed admirably, solidifying confidence in its ability to handle extreme loads.
Our load testing focused on the RPC router, which efficiently routed requests to over 2,000 nodes globally over a 6-hours period. The screenshots below provides a sample measurement of the aggregated P90 latency across all RPC calls in all regions.
We’re expanding our global footprint with the rollout of Regional RPC services in Asia Pacific (SEA), Europe (EU), and Americas (US). This regionalization improves latency by up to 60% for users across the globe and ensures a more localized and reliable service experience.
Security and collaboration are critical, and our updated authentication system now integrates seamlessly with teams. This allows:
- Enhanced access control for better security.
- Simplified management of team-based workflows.
This update ensures that working as a team on our platform is both secure and effortless.
These improvements mark a significant milestone in our ongoing commitment to delivering a fast, reliable, and scalable platform for our users. But we’re not stopping here. Our team is already planning the next wave of enhancements to stay ahead of the curve and continue providing the best experience possible.
Thank you for being a part of our journey. We’re excited about these changes and can’t wait for you to experience them. Let us know your thoughts and stay tuned for more updates!
thirdweb v5.85.0
has been released with new features a breaking change for the beta nebula API as well as notable bug fixes.
The following property names have been updated in Nebula.chat()
and Nebula.execute()
to align with the HTTP API:
prompt
is nowmessage
context
is nowcontextFilter
Before:
After:
Both Nebula.chat()
and Nebula.execute()
now support multiple input messages through the new messages
property, enabling more complex conversation flows.
Each message in the array requires a role
("user" or "assistant") and content
string.
- Fixed NFT components incorrectly displaying metadata when multiple contracts with the same token ID are rendered due to caching issues
- Fixed MarketplaceV3 deployment for Xsolla testnet
- Added
mode
as a predefined chain - Added overrides for Lumia Testnet to use pre-EIP1559 gas values
This chart shows a breakdown of transactions sent by your Engine's backend wallets by their status. This gives you an insight into the transaction volume and success/error rate trend at a glance
Pagination and Status filters added in Transaction history table. Pagination UI also has an input field that allows you quickly jump to a page - allowing you to quickly comb through a large list of transactions
New chains: Sei Testnet, Sei Mainnet, Viction Testnet, Eclipse Testnet, Flow Testnet, Rivalz, Rivalz2, Ouroboro
We've added new chains to the platform this week!
Every chain comes out of the box with SDK support RPC, Engine and Account Abstraction capabilities. All you need is the chain id to get going.
For testnets, you'll also find a faucet in each chain page.
Happy building! 🛠️
.NET v2.16.0 Release
Depending on the framework, or on the external wallet platform support, you may not have direct access to every single wallet out there.
This new AuthProvider allows you to login to otherwise native-unavailable wallets such as Abstract Wallet & Coinbase Smart Wallet through a flow similar to OAuth, using SIWE.
It'll redirect you to static.thirdweb.com and use our React SDK and other wallet SDKs as needed, unlocking the ability to login (or link) with any wallet thirdweb supports on web, from runtime platforms that would otherwise be unsupported by said wallet, and create an In-App or Ecosystem Wallet out of it.
Windows Console Example:
This is useful when you want your guest mode to be tied to a unique device identifier, and depending on your framework there may be various APIs to fetch such identifiers that you may want to use.
Example:
Unity 5.16.0 Release
- Additions from Thirdweb's .NET SDK Release 2.16.0
- Integrated
AuthProvider.SiweExternal
in ThirdwebManager.- Work around your favorite external wallet not having Unity support.
- OAuth style linking variant of
AuthProvider.Siwe
, but using wallets and SIWE in a static React environment.
AuthProvider.Guest
now uses a unique device identifier, making it a little more persistent than the previous implementation.- Guest mode is meant as an ephemereal login method, you should allow users to link additional auths later in the flow.
- This update makes Guest mode a little more persistent in cases where users delete something by mistake.
- Fixed edge case where
Application.identifier
being an empty string with some build configs would cause an empty bundle id to be used as the fallback instead of com.company.product.
Links
- Nebula TypeScript SDK now available in Beta, integrate /chat and /execute calls easily or be able to plug into any framework
- New example template on how to create specialized AI agents that can interact with blockchain data while maintaining a distinct personality and purpose
- Read and write contracts with better function argument extraction
- Improved understanding and parsing for array function arguments related to reading or executing contract functions
- ENS resolver not parsing correctly in select cases
- Query wallet balance improvements handling wallet addresses with multiple tokens or NFTs
- Add improved read support for chains with block
extraData
including Polygon
The thirdweb TypeScipt SDK v5.84.0 release adds support for Nebula, our new AI model designed interact with real time blockchain data and execute transactions with natural language.
Simply install the thirdweb package on your frontend or backend to get started.
Nebula enables developers to query real-time blockchain data using simple natural language prompts. From checking contract symbols to analyzing on-chain metrics, Nebula provides human-readable responses to your blockchain queries.
Nebula goes beyond just querying data - it can now execute blockchain transactions based on natural language instructions. Simply connect your wallet and describe the transaction you want to perform.
- Natural language processing for blockchain queries
- Real-time data access across 2000+ chains
- Transaction execution through simple prompts
- Works with 300+ wallet providers, in-app wallets, smart wallets and engine
- Context-aware responses and actions with multi step sessions
This addition to the SDK marks a significant step forward in making blockchain technology more accessible and user-friendly. Nebula's natural language capabilities greatly reduce the complexity of doing complex actions on the blockchain.
For detailed documentation and examples, please visit our documentation portal or join our Discord community for support and discussions.
Happy Building! 🛠️
The thirdweb TypeScript sdk v5.84.0
introduces the new engineAccount()
function, enabling seamless backend integration with your thirdweb Engine instance. This addition allows developers to leverage the full power of the thirdweb SDK and contract extensions functions in backend environments while benefiting from Engine's performance, reliability, and monitoring capabilities.
- Create Engine-powered accounts for backend transaction handling with nonce and fund management
- Full access to thirdweb SDK functions and extensions from the backend
- Built-in transaction monitoring and reliability features
This update helps backend development workflows by opening up the large catalog of extensions functions available in the SDK. The engineAccount()
function serves as a bridge between your backend services and the blockchain, handling transaction preparation, submission, and confirmation in a reliable manner.
For more information about this release, please visit our documentation or join our Discord community for support and discussions.
The SDK now exposes the autoConnect
function for use outside of React environments. This allows developers to implement wallet auto-connection functionality in any JavaScript/TypeScript environment.
For more information about this release, please visit our documentation or join our Discord community for support and discussions.
Happy building! 🛠️
We're excited to introduce powerful new batching capabilities in Engine v2.1.25, enabling you to execute multiple operations atomically and efficiently read from multiple contracts in a single call.
New Endpoint: /backend-wallet/{chainId}/send-transaction-batch-atomic
Send multiple transactions that will be executed together in a single atomic operation. Perfect for operations that need to happen in a specific order, like token approvals followed by transfers. Check out the API Reference for more details.
- Guaranteed order of execution
- All transactions succeed or fail together
- Single queue ID for tracking the entire batch
- Compatible with all smart account setups:
- Smart backend wallets (no additional headers needed)
- Regular backend wallets using
x-smart-account-address
header
- Previous: Each transaction got its own queue ID, executed independently
- New: Single queue ID for entire batch, guaranteed atomic execution
New Endpoint: /contract/{chainId}/read-batch
Execute multiple read operations across different contracts in a single call, with guaranteed consistency of data from the same block. Check out the API Reference for more details.
- All reads executed in the same block
- Reduced RPC calls using multicall3
- Perfect for getting related data across contracts
- Consistent state snapshot across all reads
The transaction status object now includes a batchOperations
field that provides details about all operations in an atomic batch. This field will be null for non-batch transactions:
thirdweb Engine is an open-source server for your app to read, write, and deploy contracts at production scale. Self-host for free or get a cloud-hosted Engine for $99/month.
Contract Analytics on thirdweb dashboard is now powered by thirdweb Insight
You can select a date range and see various analytics for the contract such as
- Unique wallets that have sent transactions
- Total Transactions & Events
- Breakdown of unique Functions calls & emitted Events
View this contract analytics on dashboard
Insight is a powerful tool that lets you retrieve blockchain data from any EVM chain, enrich it with metadata, and transform it using custom logic.
Whether you're building a gaming inventory system, tracking DeFi metrics, or analyzing NFT collections, Insight makes it easy to get the data you need with simple API calls. Learn more about thirdweb insight to use in your projects!
We’re excited to announce a major update to Insight API! The latest changes enhance the API’s functionality by introducing multichain support, enabling seamless data fetching across multiple blockchain networks.
- Parallel Data Fetching: Fetch data from multiple chains simultaneously, improving efficiency.
- Consolidated Responses: Responses now include
chain_ids
in the payload to identify the source chain for each piece of data. - Enhanced Response Schema: Added metadata fields:
chain_ids
: List of queried chain IDs.total_items
: Total count across all chains.limit_per_chain
: Indicates the per-chain limit derived from the request's original limit.
Only requests with supported chain IDs—validated against Thirdweb Insight’s chain list—are now processed. This ensures consistent and accurate responses.
The following endpoints now support multichain queries:
/tokens/erc20
: Consolidates token balances across chains/events
: Returns events from specified chains, preserving chain identification./transactions
: Provides transactions with proper error handling for invalid chain IDs./query
: Delivers raw query results with metadata for chain information.
Existing single-chain requests remain fully supported, ensuring no disruptions for current users.
This update lays the groundwork for future improvements on multichain queries via Insight API. As we continue to expand, our goal is to make working with multichain data as seamless and efficient as possible.
Start leveraging these improvements today to explore multichain insights more effectively!
We're excited to announce that thirdweb Insight has expanded its blockchain data querying capabilities with support for 43 chains, including these 15 new chains:
- Polygon mainnet
- Polygon Amoy testnet
- Optimism mainnet
- OP Sepolia testnet
- Celo mainnet
- Ancient8 mainnet
- Ancient8 testnet
- Plume mainnet
- Plume testnet
- Avalanche Fuji testnet
- Superposition testnet
- Etherlink testnet
- Mantle Sepolia testnet
- XAI testnet
- Lumia testnet
What This Means For Developers
With these additions, you can now use all of Insight's powerful features across these new chains:
- Query on-chain events with the Events Blueprint
- Track transactions with the Transactions Blueprint
- Monitor token balances (ERC-20, ERC-721, ERC-1155) with the Tokens Blueprint
For example, to query latest events on Optimism
View All Supported Chains
For a complete list of supported chains and their respective chain IDs, check the thirdweb chainlist.
We’re excited to share the latest updates to Nebula, bringing powerful new features, enhancements, and bug fixes to improve your development experience. This release focuses on expanding Nebula’s capabilities, making it even easier to deploy contracts, retrieve information, and interact seamlessly with the platform.
- Contract deployment support: Deploy thirdweb ERC-20 (Token), ERC-721 (NFT Collection), ERC-1155 (Edition), and Split contracts using Nebula via the chat interface or the API.
- Prompt Nebula to prepare and execute contract deployments in natural language — example, “Deploy an ERC-20 contract named “Hello World” with description “Hello world token deployed with an AI” and symbol “HELLO”
- More published contracts will be supported in upcoming releases. If you would like for your published contract to be enabled on Nebula, please contact us.
- Multi-message API: Enable multi-message on the
/chat
and/execute
endpoints to allow multi-shot prompts that can be helpful to maintain and clarify context, and refine responses. The/chat
and/execute
endpoints accept:message: string
or
- Comprehensive support for developers: Expanded resources and guidance to help developers effectively build web3 apps and games using thirdweb's extensive tooling and documentation.
- "How do i transfer erc20 tokens in .NET?”
- "How do i setup a session key in unity?”
- Build using Nebula and Eliza, a simple and lightweight framework for creating autonomous AI agents.
- Eliza plugin is current available for testing out on dev and will be available on production soon. Start with https://github.com/elizaOS/eliza/tree/develop/packages/plugin-thirdweb
Nebula is currently in Alpha for a select number of developers. For access to the product, please sign up on the Nebula waitlist.
For any feedback or support inquiries, please visit our support site.
- Additions from Thirdweb's .NET SDK Release 2.14.0
- Additions from Thirdweb's .NET SDK Release 2.15.0
- Added
AuthProvider.Backend
's relatedwalletSecret
to In-App and Ecosystem Wallets' options. You can now create server side wallets! - Split
ThirdwebManager
intoThirdwebManagerBase
,ThirdwebManager
(frontend),ThirdwebManagerServer
(backend)- Adds
ThirdwebManagerServer
prefab, usesSecretKey
instead ofClientId
andBundleId.
- Adds a lot of flexibility and extendability for various use cases.
- Adds
It's time to make blockchain-powered AI allies and opponents that leverage backend wallets and perhaps even Nebula.
Engine v2.1.24 introduces sponsored transaction support for regular backend wallets, enabled on zkSync chains leveraging native account abstraction.
Added x-transaction-mode: sponsored
header that enables sponsored transactions for regular backend wallets. This brings key benefits:
- No need to hold or manage gas tokens
- All gas costs are handled by thirdweb's paymaster
- Receive consolidated gas usage bills from thirdweb
- Compatible with local, AWS KMS, and GCP KMS wallets
To send sponsored transactions:
The header:
- Works with regular backend wallets on supported chains
- Is ignored when used with Smart Backend Wallets (their transactions are already sponsored)
- Returns an error if used on currently unsupported chains
- Update to Engine v2.1.24
- Add the
x-transaction-mode: sponsored
header - Send transactions normally through your regular backend wallet
Smart Backend Wallets handle sponsored transactions by deploying a separate smart account for your wallet. On zkSync, wallets can act as their own smart accounts - meaning your regular wallet address can send sponsored transactions directly without needing a separate smart account address.
Contact support@thirdweb.com for any questions about implementing native AA support in your application.
thirdweb Engine is an open-source server for your app to read, write, and deploy contracts at production scale. Self-host for free or get a cloud-hosted Engine for $99/month.
- Added
DropER721_Burn
,DropERC1155_BurnBatch
,TokenERC721_Burn
,TokenERC1155_Burn
,TokenERC1155_BurnBatch
contract extensions. - Overriding default RPCs is now allowed through a new
ThirdwebClient
creation parameterrpcOverrides
.
- Removed some leftover unnecessary logging.
- Additions from Thirdweb's .NET SDK Release 2.13.0
- Exposed the ability to override RPC per chain ID in the
ThirdwebManager
. - Exposed the ability to force specific wallet ids into your WalletConnect modal in the
ThirdwebManager
. - Added hover tooltips for all
ThirdwebManager
options.
Flag under ThirdwebManager > Preferences.
If enabled, Thirdweb will automatically connect to the last connected wallet on initialization (this behavior does not apply to the WalletConnectWallet provider option).
If a wallet was connected as a non smart wallet, then later upgraded, the smart wallet is saved as the last wallet, and the next session will autoconnect to the smart wallet.
Any failure during this entire flow should not throw.
We are thrilled to announce support for backend wallets! This enhancement empowers developers to programmatically access wallets through their backend systems without needing to manage private keys directly. It simplifies wallet management while maintaining security and flexibility for various use cases.
Traditionally, managing wallets in decentralized applications often required dealing with private keys or relying on client-side solutions. However, there are scenarios where programmatic access to wallets on the backend is essential, such as:
- Server-side automation: Automating blockchain interactions for services like token minting, payments, or data signing.
- Enhanced security: Keeping private keys off the client side while enabling wallet operations.
- Custom integrations: Integrating wallets seamlessly with backend APIs for complex workflows.
With backend wallet support, developers can now securely and conveniently access wallets from their backend infrastructure.
The new feature allows you to create a wallet instance on the backend using the backend
, here's how it's done with the typescript SDK:
Ready to explore backend wallet support? Try it out on all version of the thirdweb
SDK from 5.83.0
onwards.
Features 🚀
We've added beta support for EIP-7702 authorization lists. You can now construct and send 7702 authorizations with the following functions:
signAuthorization
: Generate authorization signaturesprepareTransaction
: AddedauthorizationList
parameter
Added deploySmartAccount
function to explicitly deploy smart account contracts.
Improvements 🔧
Deployed smart accounts now use the legacy signature behavior (ERC-1271) rather than ERC-6492 pre-deploy signatures.
Features 🚀
We've added the getAdminAccount
method to inAppWallet interfaces when using Account Abstraction (AA), including gasless ecosystem wallets. This addition allows developers to retrieve the admin account for AA-compatible in-app wallets.
Improvements 🔧
We've added a new onClose
callback option to Connect Details modal, providing developers with greater control over modal behavior and user interactions. The callback receives the last active screen name when the user closes the modal, enabling better UX flows and analytics.
We've also added an onTimeout
callback in useAutoConnect hook to handle connection timeout scenarios gracefully. Timeouts can happen if the user has previously connected a wallet, but we're unable to reconnect to that wallet.
Bug Fixes 🐛
We fixed an issue where smart accounts could not execute transactions on chains besides the one they were initially created on. AA transactions on chains besides the initial one now deploy the smart account on the new chain before executing the transaction
Removals and Deprecations 🗑️
We've removed co.lobstr from the available wallets list as it is not EVM-compatible
Adds the ability to Unlink a LinkedAccount
from your In-App or Ecosystem Wallet.
EIP-7702 Integration (Experimental)
Integrates authorizationList
for any transactions.
This EIP essentially allows you to set code to an EOA, unlocking a world of possibilities to enhance their functionality.
The best way to understand it outside of reading the EIP is looking at the example below; to preface it: we sign an authorization using the wallet we want to set code to. Another wallet sends a transaction with said authorization passed in, essentially activating it. The authority wallet now has code set to it pointing to an (insecure) Delegation contract in this case, which allows any wallet to execute any call through it on behalf of the authority. In this example, we call the wallet executing both the authorization and the claim transaction afterwards, the exectuor.
An authority may execute its own authorization, the only difference is internal whereby the authorization nonce is incremented by 1.
Note that for the time being this only works on 7702-enabled chains such as Odyssey and the feature has only been integrated with PrivateKeyWallet
.
Adds the ability to retrieve auth provider specific user information from In-App and Ecosystem Wallets.
SwitchNetwork
is now part of the mainIThirdwebWallet
interface. Smart Wallets now attempt to switch the underlying admin network automatically as well.ERC721_TotalSupply
extension now includes burned NFTs when using thirdweb contracts, allowing forERC721_GetAll
andERC721_GetOwned
functions to return said NFTs as well.- Various new utilities for conversions and transaction decoding, including decoding
authorizationList
.
Full Changelog: https://github.com/thirdweb-dev/dotnet/compare/v2.11.1...v2.12.0