"> <img src="https://5c9e93b8acbb5d972c1841911a7dce5f.ipfscdn.io/ipfs/QmY1vKaHd3UvbzStxgndUMH3FzprK7jTJcAvgbHbcLsZXv/107.png" alt="NFT Image" />
Effective Date: March 3, 2025, at 3:00 PM PST
Announcing some important changes to our mint fee process that further standardize our fee structure for all new contract deployments. We are introducing a 1% protocol fee applied to all contracts, and adjusting the convenience fee to 1.5% from previous 2.5%.
We believe this change strikes the right balance between a standardized protocol fee and the flexibility for custom fee settings, making fee management easier and more transparent for everyone.
Please note this change does not effect already deployed contracts.
This adjustment helps support continued development and maintenance of prebuilt smart contracts, ensuring reliability, security, and innovation for the ecosystem.
For any questions or further details, please reach out to our support team.
DropERC20
, DropERC721
, DropERC1155
, OpenEdition
TokenERC20
, TokenERC721
, TokenERC1155
LoyaltyCard
, BurnToClaim
, MarketplaceV3
We Introduced a new include_spam
query parameter to the ERC20 token endpoint to filter out potential spam tokens.
The criteria for identifying spam include:
• Empty token name
• Empty token symbol
• Symbol length greater than 15 characters
• Zero decimals
By default, spam tokens are excluded from responses (include_spam=false
). You can try it in our playground by visiting here. See the example bellow:
Here is a Typescript example showing how to use it in your code:
We are now supporting NFT metadata for Insight NFT balance endpoints (ERC-721 and ERC-115).
By adding metadata=true
query parameter to the request, the response will include metadata about the NFT - name, description, image URL, background color, external URL, collection and contract info in addition to the balance.
Here's an example of the data that can be returned:
Try it out on our playground
Or call it directly from code
📖 Learn more about Insight - it’s open source and ready to power your applications!
The Insights API now supports querying contract metadata and ABIs. Powered by our contract indexing and verification backend, developers can now access verified contract metadata and ABIs for all supported chains directly within Insights. This eliminates the need to interact with block explorers and third party source code verifiers to get contract metadata and ABIs.
We've added the following endpoints:
Get contract ABI
Get contract metadata
Both endpoints are available in the playground to test.
Stay tuned for more updates and exciting features from Thirdweb!
We’re excited to unveil a powerful addition to the thirdweb platform: a brand-new API designed to automate chain onboarding in real time. This release is especially useful for Rollup-as-a-Service (RaaS) providers, who can now seamlessly integrate new chains into the thirdweb ecosystem the moment they’re spun up. No more back-and-forth or manual listing processes—this API provides a streamlined way to manage your chains on thirdweb.
Below are some of the most commonly used endpoints. A full list of endpoints and usage examples can be found in the API docs.
/chains
/chains
/rpcUrls/{chainId}
We’re committed to making thirdweb the most developer-friendly platform for emerging blockchain solutions. Here’s a sneak peek at what’s coming next:
Expect these features—along with additional endpoints, analytics hooks, and security enhancements—to be part of our continued effort to streamline multi-chain support.
Stay tuned for details and in the meantime, don't hesitate reaching out to get early access and needed permissions to be able to utilise this and give us feedback!
As always, thank you for building with thirdweb!
We’re introducing metadata retrieval in our ERC20 token API!
You can now include token information—such as name, symbol, and decimals—in a single call to our /tokens/erc20 endpoint. Just add the new metadata=true parameter to the query string. For example:
GET /v1/tokens/erc20/vitalik.eth&metadata=true
This returns the token’s metadata along with the usual balance data, simplifying your workflows and saving you from making extra calls. We’ve also added caching so metadata lookups are faster after the first request.
You can try it in our playground by visiting here. See the example bellow:
Here is a Typescript example showing how to use it in your code:
Insight API added support for querying block data.
Try it out on our playground
Or use it directly from code
📖 Learn more about Insight - it’s open source and ready to power your applications!
Insight API now supports an explorer-like endpoint to resolve blockchain data.
The resolve endpoint supports
Try it out on our playground
Or use it directly from code
This endpoint was initially called v1/search/:input
but was changed to v1/resolve/:input
to better reflect its purpose.
📖 Learn more about Insight - it’s open source and ready to power your applications!
At thirdweb, innovation is in our DNA. We’re excited to share a behind-the-scenes look at how our team is continuously pushing the boundaries to deliver an unparalleled user experience. Today, we're diving into some key upgrades that have transformed our RPC server.
We’ve made a bold move by switching our RPC server to the Bun runtime. This isn’t just a technological upgrade—it’s a leap toward efficiency. With this change, we’ve managed to slash memory usage by 30%. What does that mean for you? More network requests are handled seamlessly, ensuring a smoother and more responsive experience without the need for extra hardware.
Performance matters, and every millisecond counts. By introducing short-term caching into our architecture, we’ve dramatically reduced latency. Our metrics tell the story:
These numbers translate into faster response times and a more robust service, even during peak usage periods.
Understanding every nuance of our system is key to delivering excellence. We’ve integrated fine-grained our Performance Monitoring that drills down into every RPC call. This means we now track method-level usage and latency, giving us a crystal-clear view of performance across the board. With this insight, we’re empowered to act swiftly, optimizing our service before issues can arise.
Insight is an extremely useful and performant tool to query blockchain data and can decorate it quite nicely too.
Did you know that vitalik, on Ethereum, Polygon and Arbitrum alone owns 7811 ERC20s, 34,362 ERC721s and 2,818 ERC1155s?
Let's go through some examples!
Instantiation
Simple Args
Fetching all tokens owned by a given address
Fetching a specific type of token owned by a given address
Fetching Events
Note: most of these parameters are optional (and some are not showcased here)
Engine is one of thirdweb's most important products. We've created an EngineWallet
class that can be used as an IThirdwebWallet
and as such benefits from being compatible with the entire SDK!
Usage:
Integrated with last December's EIP-7702 release!
Utils.GetChainMetadata
chain id related variables updated from int
to BigInteger
.Collaborating with your team just got easier! You can now invite new members and manage existing ones directly from your dashboard.
This feature is available to all "Starter", "Growth" and "Pro" plan customers today.
Go to thirdweb dashboard > Your Team > Settings > Members page
Insight API now supports Ethereum Name Service (ENS) names in address fields. You can use ENS names instead of raw Ethereum addresses when querying API endpoints.
Try it out on our playground
Or use it directly from code
📖 Learn more about Insight - it’s open source and ready to power your applications!
We’ve made significant enhancements to thirdweb Insight, allowing you to efficiently query ERC-20, ERC-721, and ERC-1155 token balances for any address.
We identified latency issues on bigger chains where some requests took over 10 seconds.
Our improved indexing logic has reduced p99 query latency to under 1.5 seconds across all chains.
This is just the first step and we'll keep on improving the performance of Insight
Want to try it out? All endpoints are available on our playground: ERC-20 queries, ERC-721 queries and ERC-1155 queries.
Or integrate them into your app:
📖 Learn more about Insight - it’s open source and ready to power your applications!
Insight open source indexer has received it's first major version upgrade in beta to 1.0.2-beta
and brings with it more scalable reorg handling, better reliability and more performance.
GetTraces
Consistency - Updated trace fetching logic to conform to API standards and enabling consistent pagination and filtering across the codebaseThis update introduces substantial improvements in API functionality and performance, database consistency, and overall reliability. These changes facilitate better integration, data retrieval, and system robustness, especially in cloud-deployed environments.
Learn more about Insight and how to use it.
Insight is open source.
We're creating the next evolution of thirdweb Pay with Universal Bridge.
You can now onramp with over 40 fiat currencies to any token using just a credit card. This gives your users zero fees on select currencies, and no KYC required for low amounts.
We've added new chains and new tokens available to bridge and swap. Over 1000 routes were added and more coming.
We're working on improved infrastructure to provide up to 10x faster quotes! These improvements will steadily roll out over the coming weeks.
We've been refining the UI of our prebuilt PayEmbed for all use cases: top up, commerce and transactions. Improvements include: showing fiat values next to token value everywhere, refined token selection flow, better error messaging and more.
K2Node
, allowing for raw data input via JSON.HasDedicatedNode
meta tag.Unreal Engine v2.0.0 | Fab Marketplace (May not be up to date at the time of reading this, if that is the case, build from our github source!)
You can now use thirdweb dashboard to deploy contracts deterministically (create2) on multiple EVM chains.
To use this feature, deploy any thirdweb prebuilt or a custom contract using thirdweb dashboard. Then navigate to the Cross chain
tab on contract page as shown below:
Use the dropdown to select the chain you wish to deploy on. Then click on Deploy
button.
Once the contract gets deployed (or if it's already deployed at that address), the status will change to Deployed
and you can click the link as shown above to navigate to that chain's contract page.
This feature is available for all thirdweb prebuilt contracts as well as custom contracts that are deployed / published using thirdweb tools. All direct deploy contracts (i.e. not proxy) must be deployed deterministically to enable this feature.
Note: this feature is available only for EVM chains
Go ahead and deploy a contract here.
Previously, the thirdweb dashboard only allowed you to import contracts, without the ability to associate them with specific projects. Contracts were displayed as a single list across teams, projects, and account pages.
Now, you can organize your contracts within projects for better management.
As part of this update, all your deployed contracts have been automatically added to all your projects. You can now review each project and keep only the relevant contracts by removing others from the project
When deploying a new contract, you can now add it to a project immediately.
Existing contracts can be added to projects with the new "Add to Project" button on the contract details page. Here's Doodles NFT contract for example:
Unlike the previous "Import to Dashboard" and "Remove from Dashboard" actions, adding or removing contracts from a project no longer requires signing a message.
The Published Contracts page has been removed from the Teams and Projects pages and is now accessible via your Wallet profile page. A Link to the wallet profile page is also added in the Account Management Dropdown as shown below
Here's the thirdweb.eth profile page for example
InAppWallet
or EcosystemWallet
's Create
function and instantly login with a twAuthTokenOverride
which would be an auth token/cookie that you would have retrieved from any other thirdweb app, such as a web app, electron launcher, or any app built using our various SDKs.Previously, it was only possible to go from .NET to other React apps using GenerateExternalLoginLink, this unlocks the other way.
Effective Date: February 11, 2025, at 2:00 PM PST
Since launching in 2021, over 2 million smart contracts have been deployed with our toolkit — powering billions of transactions every year. We’re making some changes to our fee structure to better support the development of our smart contract development toolkit.
Starting on the effective date, a 2.5% platform fee (applied to both native and ERC20 tokens) will be introduced for all prebuilt contracts deployed through the thirdweb dashboard after 2 pm PST on February 11, 2025.
Please note this change does not effect already deployed contracts.
This change applies to any contracts that have a primary sale recipient, including but not limited to:
DropERC20
, DropERC721
, DropERC1155
, OpenEdition
TokenERC20
, TokenERC721
, TokenERC1155
LoyaltyCard
, BurnToClaim
, MarketplaceV3
This adjustment helps support continued development and maintenance of prebuilt smart contracts, ensuring reliability, security, and innovation for the ecosystem.
For any questions or further details, please reach out to our support team.
DropERC20
, DropERC721
, DropERC1155
, OpenEdition
TokenERC20
, TokenERC721
, TokenERC1155
LoyaltyCard
, BurnToClaim
, MarketplaceV3
This release introduces a powerful credential management system and adds support for Circle's Web3 Services wallets. Circle, known for USDC and trusted by major financial institutions, provides institutional-grade wallets with bank-level security and SOC certifications - perfect for teams that need robust security assurance and regulatory compliance.
Managing cloud credentials across multiple wallets has always been a pain point. We've fixed that with a new credential system that brings enterprise-grade security features to your wallet infrastructure.
What's awesome about it:
We've added support for Circle's w3s developer-controlled wallets, bringing enterprise-grade signing capabilities to Engine. These wallets integrate seamlessly with our new credential management system and existing Engine infrastructure for transaction management.
Upgrade to engine v2.1.32, then try creating a smart backend wallet backed by Circle:
Create a Circle Wallet Credential
Use Circle Wallet Credential to create a Circle powered Smart Backend Wallet
Learn more about the entitySecret
and how to create one from the Circle docs.
Take a look at our docs to learn more about configuring Engine to support Circle wallet, and check out our API Reference for detailed documentation and more examples.
We're working on expanding the credential system to support more wallet types and rolling out default credentials. Stay tuned for updates!
We're working on expanding support for more institutional wallet providers. Using Fireblocks, Copper, or another institutional wallet provider? We want to hear from you! Let us know which integrations would help your team ship faster.
Got questions? Join our Discord or check out the documentation.
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.
This update brings natural language support for token swapping and bridging, expanded access to offchain knowledge, and improved session context management.
context
using the /session/{session_id}
endpointNebula 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.
The Insight API now supports automatic decoding of events and transactions. Developers can now receive decoded transaction data by simply adding the decode=true
parameter to event and transaction endpoint calls. Insight API will load ABIs directly from it's vast database of contract metadata and return decoded events directly in the response. This significantly simplifies dealing with onchain data for developers by removing the need to 1) manage ABIs for external contracts and 2) write logic for decoding event data from any chain.
Example:
Response:
Learn more about Insight from our docs or by reviewing the source code on GitHub.
This update brings significant improvements to Nebula, including an upgraded model (t2) for a more engaging and helpful experience—now with added personality and even emojis! 🚀
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.
As our customer base continues to grow, we’re enhancing our RPC Edge support process to ensure faster and more efficient assistance.
What’s Changing?
We’re introducing Support IDs to streamline issue resolution. When reporting an RPC Edge issue, you’ll receive a Support ID, which you can share with our team to expedite troubleshooting.
How This Helps You:
✅ Faster response times – No need to repeat details, just share your Support ID.
✅ More efficient issue tracking – Our support team can quickly locate and diagnose your request.
✅ Improved support experience – Ensures every user gets the help they need, faster.
Example:
When reporting an issue, provide your Support ID like this:
🆔 Support ID: d4dea8aa-ad4a-4fe5-968b-24f1927f6f0b
This change ensures that every RPC-related inquiry is handled with greater speed and accuracy. 🚀
What's Changed
TL;DR
Added a new /query/blocks
endpoint to retrieve block data with filtering, sorting, and aggregation capabilities.
What changed?
/query/blocks
endpoint in the APIQueryResult
for block operationsHow to test?
/query/blocks
with optional query parameters:chainId
: Specify the blockchain networkfilter
: Apply filters to block datasort_by
: Sort results by specific fieldssort_order
: Choose ascending or descending orderpage
and limit
: Control paginationaggregate
: Apply aggregation functionsgroup_by
: Group results by specific fieldsWhy make this change?
To provide a standardized way to query and analyze block data from the blockchain, enabling users to retrieve block information with flexible filtering and aggregation options. This enhancement aligns with the existing transaction and event query capabilities of the API.
Why is this useful?
As an example, this feature allows users to easily fetch the earliest block number that meets a specific timestamp criterion. For instance, when constructing block ranges based on timestamps, this can help in determining the precise blocks that fall within certain time windows. This functionality is crucial for tasks such as historical data analysis, event tracking, or aligning blockchain queries with specific real-world dates.
Learn more about Insight and how to use it.
Insight is open source.
Open source version of Insight 0.2.1-beta has been released and focuses on the robustness and reliability of indexing blockchain data.
concat
function to be used in aggregations and parsing the contract address from raw dataLearn more about Insight and how to use it.
Insight is open source.
At thirdweb, we empower developers to build decentralized apps effortlessly—and reliable storage is core to that mission. Today, we’re announcing two key upgrades to our IPFS infrastructure: improved resilience and enhanced monitoring, designed to scale your dApps with confidence.
We’ve introduced automated failover and retry mechanisms for IPFS uploads. If a primary node fails, thirdweb instantly switches to a backup, ensuring seamless data storage with minimal downtime. This redundancy safeguards your app’s content against network disruptions, keeping it consistently accessible for users.
Our upgraded monitoring tools now track real-time upload success rates, latency, and node health metrics like bandwidth, storage capacity, and peer connections. Historical data analysis lets us preemptively optimize nodes, addressing issues before they impact your app.
User trust hinges on reliability. With thirdweb’s fortified storage layer, you can build knowing your app withstands real-world challenges—letting you focus on innovation, not infrastructure.
This release focuses on granular configurations for responses to control randomness, limitations, and formats for outputs. Additionally, two new OpenAI compatible endpoints including /chat/completions
and /models
, and simplified context filter endpoint for an improved developer experience.
/chat/completions
compatible with OpenAI client to process chat history and generate context-aware responses.context_filter
and execute_config
into context
for /chat
, /execute
, and /chat/completions
endpoints.Before:
New:
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.
With the thirdweb SDK, all smart wallets maintain the same address across any EVM chain. Account factories and wallet deployments are managed for you from within the thirdweb SDK unless overridden with your own factory. If you need a different wallet address for any reason, you can provide an optional account salt to the wallet.
Create a smart wallet on your default chain:
Send your transaction on any chain:
If you need to create a wallet using the same admin account but a different address, use an account salt:
Check out the video for more:
The last piece of the puzzle required to create .NET apps and games leveraging a blockchain-powered AI assistant or NPC that also has the power to fully execute transactions. Further enhanced when combined with Server Wallets and Account Abstraction.
Read, Write, Reason.
The best way to understand is to look at examples.
We'll prepare some context for the AI - here, we'll generate a basic PrivateKeyWallet
and upgrade it to a SmartWallet
on Sepolia.
A one liner creates a Nebula session.
You can Chat with Nebula. The Chat method accepts any IThirdwebWallet
as an optional parameter, context will automatically be updated.
You may also pass it smart contract context.
You can have a full on conversation with it with our Chat override accepting multiple messages.
Chatting is cool, but what if I just want it to do things and stop talking so much?
You can Execute transactions directly with a simple prompt.
Similarly, Execute can take in multiple messages.
We've added transaction and connection analytics that will show up on your thirdweb dashboard and give you a better sense of your users' activities - make sure you grab this version to get the benefits!
If you've read this far, access Nebula and start building cool things. You're early - a full stack blockchain integration powered by AI is not something you see in .NET land too often, make use of thirdweb to build next-gen applications, and reach out to us!
ThirdwebManagerBase
.MetaMaskWallet.Disconnect
now calls wallet_revokePermissions
allowing you to fully disconnect the extension - thanks @tulfix !You now have all the tools to be the first to build the best interactive NPCs to ever accompany your players - contact us if you run into any issues!
We just added a new section on your project overviews showing how your users are transacting from your apps!
These stats will show all transactions initiated from the client side by day/week/month, as well as the most interacted chains and contracts with direct links.
Check out your own stats by navigating to your project overview, and make sure to use the latest version of the thirdweb SDKs.
We're continuously improving our analytics to better help you monitor the growth of your apps, let us know what you'd like to see next!
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:
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:
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:
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 now message
context
is now contextFilter
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.
mode
as a predefined chainThis 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
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! 🛠️
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:
AuthProvider.SiweExternal
in ThirdwebManager.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.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.extraData
including PolygonThe 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.
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.
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.
x-smart-account-address
headerExample cURL for Atomic Batching
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.
Example cURL for Batch 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:
batchOperations field in Transaction Status Object
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
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.
chain_ids
in the payload to identify the source chain for each piece of data.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:
What This Means For Developers
With these additions, you can now use all of Insight's powerful features across these new chains:
For example, to query latest events on Optimism
Replace <client-id> with your thirdweb client ID
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.
/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
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.
AuthProvider.Backend
's related walletSecret
to In-App and Ecosystem Wallets' options. You can now create server side wallets!ThirdwebManager
into ThirdwebManagerBase
, ThirdwebManager
(frontend), ThirdwebManagerServer
(backend)ThirdwebManagerServer
prefab, uses SecretKey
instead of ClientId
and BundleId.
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:
To send sponsored transactions:
HTTP Headers
The header:
x-transaction-mode: sponsored
headerContact 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.
DropER721_Burn
, DropERC1155_BurnBatch
, TokenERC721_Burn
, TokenERC1155_Burn
, TokenERC1155_BurnBatch
contract extensions.ThirdwebClient
creation parameter rpcOverrides
.ThirdwebManager
.ThirdwebManager
.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:
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.
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
: Added authorizationList
parameterAdded deploySmartAccount
function to explicitly deploy smart account contracts.
Deployed smart accounts now use the legacy signature behavior (ERC-1271) rather than ERC-6492 pre-deploy signatures.
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.
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.
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
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.
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 main IThirdwebWallet
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 for ERC721_GetAll
and ERC721_GetOwned
functions to return said NFTs as well.authorizationList
.Full Changelog: https://github.com/thirdweb-dev/dotnet/compare/v2.11.1...v2.12.0
Christmas is around the corner and thirdweb wallets have some gifts for you!
If you're using the React UI components, you should now see the options to remove accounts that you might have linked by accident.
For users on typescript, this is also available as a function
This give you more flexibility to manage users account and privacy!
Some of you have been asking for custom session tokens beyond the standard 7 days we have today and we hear you.
Starting today, you will be able to set customer session expiration if you're on custom auth endpoints on JWK.
Simply return a field exp
corresponding to the Unix timestamp in seconds that you want to session token to expire.
Sign an exp
field in the JWT payload that is signed by your server.
All these features are available today fromthirdweb@5.78.0
onwards. We have more things planned and look forward to seeing you again with more updates when the new year rolls around!
Merry Christmas and happy holidays!
We've made Engine even more reliable in v2.1.20. Here's a sample of nonce management improvements we made:
Transactions can be stuck in mempool for multiple reasons (usually chain-specific). We made improvements to more aggressively retry transactions through including:
Engine resets the nonce when a wallet runs out of funds to ensure that after the wallet is funded, transactions are sent with correct nonces.
The Retry Failed Transactions now allows retrying any failed transactions including user operations.
Want to force a specific transaction to retry with the same nonce? Use the Retry Transaction (Synchronous) endpoint.
Most users should rely on Engine to manage and correct wallet nonces. If you want more direct control, the following endpoints allow you to directly manage Engine's wallet nonces. These endpoints are safe to run and intended to "fix" wallets that are stuck. Be warned they may cancel any pending transactions with those nonces.
The Reset Nonces endpoint was updated to optionally allow resetting the nonce state for a single wallet (by default it resets all wallets).
A new Cancel Nonces endpoint allows you to send null transactions with high gas to effectively "cancel" pending transactions using those nonces.
The small team at thirdweb is on a mission to build the most intuitive and complete web3 platform. Our products empower over 70,000 developers each month including Shopify, AWS, Coinbase, Rarible, Animoca Brands, and InfiniGods.
See our open roles. We’d love to work with you!
We just released a new package that allows you to use thirdweb's in-app and smart wallets within you wagmi app with minimal effort. Few lines of code to add web2 sign in like google, discord, passkey, etc along with ERC-4337 smart accounts that unlock gasless transactions, batched transactions and session keys.
First, install the thirdweb
and @thirdweb-dev/wagmi-adapter
packages in your wagmi app.
Make sure you're running wagmi 2.14.1 or above.
You probably already have a wagmi config with some connectors, simply add the inAppWalletConnector
to the list, along with the desired options.
Now you can connect users with the desired auth strategy. Options include email, phone, passkey, google, discord, x, telegram, github, and more.
And that's it! The example above connects your users with their google account, creates an ERC4337 smart account with sponsored transactions that you can use with the rest of your wagmi app.
Happy building! 🛠️
We previously added unified identities to the thirdweb SDK, allowing users to link multiple profiles as valid authentication options within your app. However, you couldn't tell which provider they had signed in with for the current session. In thirdweb v5.77.0, we've added the getLastAuthProvider
utility to the React module, allowing you to retrieve the most recently used provider from within any web context.
Users can now publish their contracts with contract references in deploy params.
What this means is, if there are address params in your contract's constructor, you can provide a reference to another published contract for those params. These reference contracts will then be deterministically deployed before deploying your contract.
You can specify these references in publish form as shown below:
For e.g., _owner
param is of type address
and allows publisher to specify a contract reference. You can do this by selecting Dynamic Input
and providing details of the published contract. Please note that the contract being set as reference should be a published contract with default values pre-filled.
You can also setup a chain of such references, i.e. a referenced contract has another reference contract in its deploy params, and so on.
In addition to the address
type, you can also provide dynamic inputs for bytes
params. For e.g., if the bytes param is composed of address
, uint256
, and bool
, you can specify these values instead of giving an encoded bytes value. These will be encoded during deployment. The address param within this bytes param can again be a dynamic reference. See below:
This feature works for address[]
and bytes[]
params too.
Engine is used by web2 and web3 companies for production use, powering 10M+ transactions per week. Making sure your Engine is secure and your funds are safe are critical, so here's security improvements we made (v2.1.20) and what's coming up.
We've completed our second code and infrastructure assessment from an independent third party auditor and will be sharing the report shortly.
No critical vulnerabilities were identified, and all reported issues were addressed.
singlePhaseDrop
added to all claim-to
endpoints allowing users to set claim conditions and claim tokens in a single phase for custom drop contracts.gasPrice
can now be overridden allowing users to explicitly set the gas price for pre-EIP1559 chains.maxFeePerGas
and maxPriorityFeePerGas
overrides, if needed./mint-to
endpoints were updated to thirdweb v5 SDK and should have greatly improved response times.The small team at thirdweb is on a mission to build the most intuitive and complete web3 platform. Our products empower over 70,000 developers each month including Shopify, AWS, Coinbase, Rarible, Animoca Brands, and InfiniGods.
See our open roles. We’d love to work with you!
A new version of Insight is released, focusing on bringing decoded data to the API and bug fixes to the indexing logic.
Decoding for events and transactions in the API
Implemented functionality to decode event logs (supporting both indexed and non-indexed parameters) and transaction inputs whenever a query is made with. partial ABI.
For example, let's say we want to query all allocated withdrawal function calls on the TheCompact
contract (0x00000000000018DF021Ff2467dF97ff846E09f48
).
The partial ABI of the function is ((bytes,uint256,uint256,uint256,uint256,address))
, however the Insight API allows for named arguments, so we can use allocatedWithdrawal((bytes allocatorSignature,uint256 nonce,uint256 expires,uint256 id,uint256 amount,address recipient) _withdrawal)
We can do the following query to insight
and receive a response
The interesting part is the decodedData
property, which contains the decoded function input arguments
Learn more about Insight and how to use it.
Insight is open source.
We've been iterating on our next generation smart accounts contracts. They are ERC-7579 compliant modular smart accounts, unlocking the growing catalog of account modules.
This is a BETA release, so expect some changes, but you can already start playing with it on both TypeScript and DotNet SDKs.
We have published 2 contracts to get you started, a modular account factory and a simple validator module.
A generic, un-opinionated smart account factory that lets you pick a smart account implementation and any default modules you like.
A simple validator module, with multi owner and session key support.
Once you have deployed both of those contracts, you can use them in the SDK to deploy accounts for you users, using the new Config
smart account presets.
You now have a modular smart account wallet instance that you can use with the rest of the SDK as usual.
You can also pass this configuration to the Connect UI components:
API and contracts are still in BETA - expect breaking changes and frequent updates.
Once stabilized, we will deploy a default factory and validator module on all chains which will be the default in the SDKs.
We're releasing this early so we can get some feedback from you, play with it on testnet and let us know what you think!
Happy building! 🛠️
We just added support for ERC-6492 signatures in the TypeScript and DotNet SDKs. This means that you can now sign and verify signatures for smart accounts even if they haven't been deployed yet!
If your app uses smart accounts and sign in with ethereum (SIWE), this massively improves the first time user flow. Users can simply proceed to the app: there's no wait for the account to be deployed.
It also reduces cost for app developers, since the cost of deploying smart accounts is incurred on the first transaction, rather than when signing in.
No code changes for this one, just make sure you use the latest version of the SDK on both the signing and the verifying side, or any 6492 compatible signature verification library.
Happy building! 🛠️
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! 🛠️
SmartWallet.PersonalSign
no longer requires the SmartWallet to be deployed, increasing speed. Verification is done through ERC-6492. Validating a signature also works with ERC-6492 signatures now. Useful for apps that want to instantly authenticate (using Thirdweb Auth - SIWE for example) without incurring costs.purchaseData
can now be passed to Thirdweb Pay quote params, making Direct Payment flows fully featured.InAppWalletOptions
now extends EcosystemWalletOptions
(no changes to dx).Added the ability to pay for gas with ERC20 tokens when using Smart Wallet.
TokenPaymaster
when creating a SmartWallet
and all transactions will be paid for with the corresponding ERC20 from the user's Smart Wallet.Example:
The latest update brings unparalleled marketplace integration to your fingertips! All 36 marketplace engine calls are now available in C++, Blueprints, and as async tasks, complete with supporting structs to streamline your workflow. Dive into enhanced examples, fetch IPFS nodes seamlessly, and enjoy compatibility with Unreal Engine 5.2 and 5.5 for even greater flexibility. We've cleaned up runtime settings, optimized dynamic tasks, and resolved key build errors to ensure a smooth development experience. Get ready to unlock the full potential of your marketplace projects with these powerful new tools!
Since introducing Smart Backend Wallets we introduced some new capabilities to Engine and over a dozen bugfixes.
It is important to verify the signature header for Engine webhook calls to verify they came from your Engine. The dashboard now allows you to send a test payload to determine if your webhook endpoint is unreachable, not handling the webhook signature properly, or returning a unexpected response.
On the Webhooks dashboard page, select ... > Test webhook to send an example webhook payload to your backend and see the status code and response body.
You can now delete backend wallets directly from the dashboard. Keep your backend wallets list tidy by removing unused backend wallets.
Engine now estimates the required amount of gas when it attempts to send a transaction without sufficient gas funds:
Insufficient funds in 0x4Ff9aa707AE1eAeb40E581DF2cf4e14AffcC553d on Polygon Mainnet. Transaction requires > 0.000682043142837 POL.
Lastly we've been squashing bugs to ensure your Engine handles transactions as reliably as possible.
The small team at thirdweb is on a mission to build the most intuitive and complete web3 platform. Our products empower over 70,000 developers each month including Shopify, AWS, Coinbase, Rarible, Animoca Brands, and InfiniGods.
See our open roles. We’d love to work with you!
The Engine dashboard now shows all recent versions with timestamps and allows you to select any version to upgrade or downgrade to.
Find the improved version selector in the upper right corner of the Engine dashboard.
While Engine releases follows semantic versioning, non-major updates may add input validation or fix an incorrect response (e.g. a 500 that should have been a 400 response). These fixes correct behavior, but in rare cases this may conflict with how your backend sends or parses requests. In these cases, you can now self-service downgrade to a previous Engine version.
Example: Engine used to rely on an older SDK that did not strictly enforce ABIs. In a newer update, provided ABIs must match the proper spec. This may cause write calls that provided an incomplete ABI to start throwing an error.
We're aiming to provide visibility in the dashboard when Engine versions change shortly. We also plan to roll out a predictable schedule when cloud-hosted Engines may receive critical security or reliability updates.
The small team at thirdweb is on a mission to build the most intuitive and complete web3 platform. Our products empower over 70,000 developers each month including Shopify, AWS, Coinbase, Rarible, Animoca Brands, and InfiniGods.
See our open roles. We’d love to work with you!
AuthProvider.Steam
as a login option for In-App or Ecosystem Wallets.TokenPaymaster
when creating a SmartWallet
and all transactions will be paid for with the corresponding ERC20 from the user's Smart Wallet.We supported pregeneration for enclave wallets a while back.
Today, wallet pregeneration is available for in-app wallets too!
What does this mean?
This means that you can now know the in-app wallet address of a user before they register on your platform!
This allows you to perform airdrop, pre-load certain assets, and more!
The API is the same as ecosystem wallets except we don't have to include the ecosystem details:
On top of that, we also now support pregeneration via custom IDs. This means that you can know your user's address ahead of time even if you use a custom authentication methods like JWT or an auth endpoint.
Here's what that would look like:
For more information and background on what pregeneration is all about, check out the newly updated documentation here.
We're excited to announce that thirdweb Insight has expanded its blockchain data querying capabilities with support for six new chains:
What This Means For Developers
With these additions, you can now use all of Insight's powerful features across these new chains:
https://<chain-id>.insight.thirdweb.com
Replace `<chain-id>` with the specific chain ID you want to query.
For example, to query Avalanche data:
Use Cases
These new chain additions enable various use cases across different sectors:
View All Supported Chains
For a complete list of supported chains and their respective chain IDs, check the thirdweb chainlist.
As of v5.69.0, we've added Steam as an authentication option in our TypeScript SDK for all the games and game enjoyooors out there. You can setup Steam auth just like any other authentication method.
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! 🛠️
ERC1155_GetOwnedNFTs
extension now returns the QuantityOwned
metadata field correctly for each NFT.ERC721_GetNFT
and ERC721_GetAllNFTs
extensions can now take in a new fillOwner
parameter that defaults to true and decides whether to make additional requests to populate the Owner
field of the metadata, otherwise defaulting to Constants.ADDRESS_ZERO
.ERC1155_GetNFT
and ERC1155_GetAllNFTs
extensions can now take in a new fillSupply
parameter that defaults to true and decides whether to make additional requests to populate the Supply
field of the metadata, otherwise defaulting to BigInteger.MinusOne
.With the introduction of modular contracts, we are improving the contract management experience on our dashboard to accompany this new development paradigm.
A modular contract has a core contract and module contracts that compose the entire modular contract. With this development in mind, we want to encourage users to add and remove modules with direct support on dashboard.
The following pre-built modules now have special component support on dashboard to enable users to interact with these modules without depending on the Contract Explorer or SDK.
To check out these changes, deploy a modular contract on dashboard or view your existing contracts with the aforementioned modules installed.
More module UIs will be released in the coming weeks for the remaining modules- stay tuned. We'd love to hear your feedback on these new changes!
We've made yet another improvement to our dashboard analytics, adding both a project and team-based analytics overview page. Now, you can browse analytics for:
But there's a catch! You can't see these analytics until you've connected the thirdweb SDK to your app. So start building and your charts can look as amazing as these. 🫡
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! 🛠️
We've previously sped up in app wallet authentication.
Today, we've dramatically improved our in-app wallet generation speeds. It's now around 40% faster!
In app wallets now get to benefit from the updated security model that ecosystem wallets enjoy.
In particular, we've moved to an enclave model allowing for verifiable code execution. This way, you'll know exactly what the private keys are being used for at all times.
This sets us up to use in app wallets in places where we couldn't before. Think CLIs, backend float wallets, etc.
Migration for existing users on the sharded model happens automatically and requires no work on your end.
We've written a more in depth security overview of the new model here.
To enjoy all the latest goodies, simply update to the latest thirdweb SDK version 5.67.0
!
We are introducing a massive change to thirdweb dashboard with a focus on Teams and Projects
By default all your API keys are converted to projects under a single team as shown below
You can click on your project to view analytics, configure thirdweb services and manage settings.
You can quickly switch between teams and projects directly from dashboard header
Manage your team's general settings, team members, billing, gas credits and notification alerts in team settings dashboard
We now have an entire dashboard dedicated to Account management. You can manage your teams, view all your contracts and manage authorized devices.
IThirdwebWallet.Transfer
now has an optional tokenAddress
override to transfer ERC20 tokens using said function; this is an alternative to ThirdwebContract.ERC20_Transfer
.data
bytes parameter has now been made optional.NFTMetadata
when calling an NFT-related method no longer throws, and instead returns NFTMetadata
with a description containing the error message.Exciting new tools and refinements are here with the latest release! Track transactions effortlessly with new nodes for status and receipts, and take advantage of the Blueprint Screenshot Debug feature added directly to your Editor Toolbar. We’ve enhanced security by masking sensitive logs and streamlined configuration with a global PartnerID setting. Plus, enjoy smoother Android authentication and cleaner session key creation. These updates make for a more secure and streamlined experience, so dive in and explore what's new!
PartnerID
to global configuration, removing from all nodesCreateSessionKey
PartnerID
GetUserDetails
method to In-App/Ecosystem Wallets that returns more information about your logged in user.GetEmail
and GetPhoneNumber
have been deprecated in favor of GetUserDetails
GetEcosystemDetails
method to return general information about your Ecosystem Wallet, can be used for dynamic branding, etc.TokenERC721_MintTo
functions failing with invalid signature; the token id parameter has also been removed.Engine v2.1.0 introduces Smart Backend Wallets, powered by account abstraction. Key benefits include:
Smart backend wallets send all transactions as user operations from a smart wallet using thirdweb's paymaster. Your wallets no longer need to hold or top-up gas funds, and thirdweb sends you a bill for your gas used.
No more top-ups also means your business no longer needs to hold crypto. This is great news for any business that must avoid holding cryptocurrency tokens for regulatory or financial reasons.
Use a smart backend wallet with an AWS KMS or GCP KMS wallet for enterprise-grade security for the signer.
While Engine v2 processes transactions very fast, some chains or nodes may throttle transactions submitted from a single backend wallet. Smart backend wallets circumvent this limitation because transactions (or "user operations") are sent from a large fleet of bundler wallet addresses.
Smart backend wallets behave like existing (EOA) backend wallets. Simply update your app's x-backend-wallet-address
header with the smart backend wallet address. All of Engine's endpoints are supported.
Engine creates an EOA signer wallet and deploys a smart account using thirdweb's battle-tested account factory, or your own.
The EOA signer wallet may be a local wallet, AWS KMS, or GCP KMS. You don't need to keep track of this wallet, Engine manages it behind the scenes.
The thirdweb account that deployed Engine (cloud-hosted) or tied to the thirdweb secret key (self-hosted) will be billed for gas usage. A valid payment method must be on file to send transactions on mainnet chains.
Smart backend wallets are enabled on all Engine tiers (Standard, Premium, Enterprise, and self-hosted) for no added cost.
User operations on testnet are free, and thirdweb charges a 10% fee for gas used on mainnet chains. See Pricing for more details.
See the list of chains that support account abstraction on thirdweb. Don't see your chain? Reach out to us!
The existing Create Backend Wallet endpoint now supports new types: smart:local
, smart:aws-kms
, and smart:gcp-kms
:
Note: AWS KMS and Google Cloud KMS smart wallets require credentials like with existing backend wallets.
(Dashboard support coming soon.)
Now provide the backend wallet address to any Engine API that accepts a backend wallet to start using it. We can't wait to see what you build with these new capabilities!
This update represents a major step forward in making web3 infrastructure more accessible and manageable for teams. Whether you're building a game, marketplace, or DeFi app, smart backend wallets provide the foundation for scalable, secure, and efficient blockchain operations.
The benefits mentioned above address the top pain points we heard from customers, and we believe account abstraction-based wallets are the ideal solution.
Account abstraction is complex, but thirdweb (Engine, SDK, infrastructure, contracts) handles the full stack:
The small team at thirdweb is on a mission to build the most intuitive and complete web3 platform. Our products empower over 70,000 developers each month including Shopify, AWS, Coinbase, Rarible, Animoca Brands, and InfiniGods.
See our open roles. We’d love to work with you!
We are excited to announce the release of Insight v0.0.6-beta! This version brings significant improvements to enhance your blockchain data analysis experience.
GROUP BY
You can now perform aggregate functions and use GROUP BY
clauses in your queries. This enhancement allows for more sophisticated data analysis, enabling you to summarise and categorise blockchain data effectively.
We've added the ability to look up transactions based on their function signatures. This feature simplifies filtering and analysing transactions that invoke specific smart contract functions.
Minor Insight v0.0.5-beta has been released previously without receiving its own changelog, and here are the main takes from it:
If you encounter any issues or have suggestions, please feel free to open an issue in our GitHub repository.
Your project's dashboard just became more useful with a new set of metrics to track the growth of your apps!
Login to your account, select your project and head over to the Connect tab to see an overview of your aggregated metrics for connections, in-app wallets, account abstraction and pay. You can also dive deeper into each individual section for more detailed metrics.
This is just scratching the surface of all the insights Connect can give you about how your app is performing. Keep an eye out on your dashboards for more stats and metrics.
Happy Building! 🛠️
Our latest release introduces even more control and functionality to your workflow! With new raw contract read/write capabilities, enhanced mobile URL redirects, and automated deeplink registration on Android, you’re set up for seamless integration. Improved organization and logging, situationally-enforced external OAuth for added compatibility, and optimized async task handling all work together to keep your development smooth and efficient. Dive in to experience these enhancements and fine-tune your projects like never before!
We just released a new version of the thirdweb Connect SDK which comes with a refreshed prebuilt UI components for executing transactions, onramping, bridging and swapping any token.
The new UI brings a simpler onramping flow showing you all your available balances up front, easy way to pay with another wallet and with a credit card.
We also upgraded the transaction flow to make it clearer for when your users don't hold enough funds in their wallets to complete a transaction.
Try it out live on the playground: https://playground.thirdweb.com/connect/pay
Happy building! 🛠️
link.xml
to cover Thirdweb's .NET Core assemblies. Minimal stripping is no longer a hard requirement unless using WalletConnect as one of your wallet provider options.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! 🛠️