Changelog

Engine Cloud exits beta with a complete architectural overhaul powered by our new Rust-based Engine Core. This update introduces simplified APIs, comprehensive transaction monitoring, and significant performance improvements.
Engine Cloud is now built on Engine Core, our new open-source Rust-based blockchain transaction infrastructure. The Engine Core repository is now public.
Key improvements include:
- Sub-second API response times (< 40ms server latency for transactions, < 10ms for status)
- Horizontal scaling through Redis-backed job queues with configurable worker pools
- Memory safety and zero-cost abstractions from Rust
- Improved nonce management and transaction batching
- Enhanced error handling with detailed context
Signature endpoints now use a new signingOptions
parameter that replaces the previous executionOptions
structure across all signature routes.
Before:
After:
ERC-4337 Smart Accounts support intelligent defaults with minimal configuration:
When using thirdweb's default account factory, specifying entrypointVersion
automatically configures the appropriate entrypoint and factory addresses:
- v0.6:
0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
(entrypoint),0x85e23b94e7F5E9cC1fF78BCe78cfb15B81f0DF00
(factory) - v0.7:
0x0576a174D229E3cFA37253523E645A78A0C91B57
(entrypoint),0x4bE0ddfebcA9A5A4a617dee4DeCe99E7c862dceb
(factory)
The system automatically infers missing values when not explicitly provided, supporting both v0.6 and v0.7 standards.
Response handling is now more intuitive for single fallible operations like signMessage
:
Before:
After:
The new Activity Logs system provides visibility into transaction lifecycle and Engine operations:
- Real-time status tracking from submission to confirmation
- Detailed error context for failed transactions
- Performance metrics including gas usage and timing
- Debug information for troubleshooting
Access via dashboard or API:
No breaking changes. Existing ServerWallet
implementations continue working—simply upgrade your SDK version:
Update signature endpoints to use the new signingOptions
parameter. Most use cases only require changing the parameter name while keeping the same values.
Engine Cloud is now generally available:
- Create a thirdweb project
- Complete Transactions API onboarding to create server wallets and vault access tokens
- Start making API calls!

- Various improvements and fixes related to session resuming; OAuth, Email and Phone login options should automatically resume much more often, with memory optimizations as well. In practice, this means that after creating your wallet, the
IsConnected
node will return true much more often, allowing you to skip the user action that typically is required.

- Enhanced advanced session key management for compatible wallets, including creation of session keys with granular permissions and policies.
- Added ability to check signer permissions, retrieve session expiration, and inspect session and policy details for signers.
- Expanded data models to represent session states and permission limits for improved session management visibility.
- Enhanced in-code examples and comments to illustrate session key workflows and permission management.

EIP-7702 execution mode for In-App and Ecosystem Wallets is now available on Arbitrum Mainnet!
These are the chains we now support, if you'd like us to support more, reach out to support!
- Ethereum (Chain ID: 1)
- Gnosis (Chain ID: 100)
- BNB Smart Chain (BSC) (Chain ID: 56)
- Optimism (Chain ID: 10)
- Base (Chain ID: 8453)
- Ink (Chain ID: 57073)
- Unichain (Chain ID: 130)
- Zora (Chain ID: 7777777)
- Soneium (Chain ID: 1868)
- Mode (Chain ID: 34443)
- Scroll (Chain ID: 534352)
- Arbitrum (Chain ID: 42161)
- Sepolia (Ethereum) (Chain ID: 11155111)
- Gnosis Chiado (Chain ID: 10200)
- BSC Testnet (Chain ID: 97)
- Optimism Sepolia (Chain ID: 11155420)
- Base Sepolia (Chain ID: 84532)
- Ink Sepolia (Chain ID: 763373)
- Unichain Sepolia (Chain ID: 1301)
- Zora Sepolia (Chain ID: 999999999)
- Soneium Minato (Chain ID: 1946)
- Mode Sepolia (Chain ID: 919)
- Scroll Sepolia (Chain ID: 534351)
- Arbitrum Sepolia (Chain ID: 421614)

Building on the EIP-7702 Account Abstraction and transaction sponsorship introduced in .NET v2.21.0 and Unity v5.21.0, this release extends Session Key functionality to EIP-7702 Smart EOAs. Session Keys enable granular permission delegation to external wallets for executing transactions on your behalf.
- Permission Delegation: Grant time-limited access to external wallets
- Granular Controls: Define precise execution permissions per session
- Smart EOA Integration: Now available for EIP-7702-powered In-App Wallets, inspired by and improved from Smart Wallet session keys
- Backend Flexibility: Delegate transaction execution to external systems while maintaining control
Create session keys with either full permissions or custom policies:
Once created, these session keys can be used to:
- Delegate transactions to backend services while maintaining security boundaries
- Enable temporary access for third-party services
- Create specialized roles with limited permissions
- Automate workflows without exposing primary wallet credentials
The session key mechanism opens up numerous possibilities for secure, permissioned delegation patterns while maintaining full control over your assets and contracts.

We've made some exciting improvements to the indexing pipeline of Insight and have managed to reduce the block lag by up to 80%!
What is block lag? - Each block included in the blockchain has a timestamp of when it was constructed. Block lag, in the case of Insight, shows the difference between the block timestamp and when it is queryable via the Insight API.
For example, on Base we were able to the block lag from around 18 seconds on average to around 5 seconds on average.

On Donatuz, we were able to reduce the block lag from an average of 15 seconds to under 2 seconds consistently!

These are just a few examples, but we have applied these optimizations to all the chains Insight supports and we will be continuing work on improving Insight all around.
📖 Learn more about Insight - it’s open source and ready to power your applications!

Insight token transfers and NFT transfers endpoints have gotten a few updates.
You can now filter transfers by the block timestamp, similarly to the previously available block number filter. The following query parameters are now available:
block_timestamp_from
- to query transfers made starting from this timestampblock_timestamp_to
- to query transfers made until this timestamp
Timestamp format is either a unix timestamp or milliseconds from the epoch.
Another addition is the contract_address
query filter, which you can use to only look at transfers for specific tokens or NFT collections.
The endpoints also accept multiple e.g ?contract_address=0x321...&contract_address=0x123...
By default, all transfers are sorted by in a descending order by block number and in an ascending order by the log index (position in the block).
The sort_order
query param controls the direction of the block number sort, so you can list the transfers either from oldest or newest.
We've also removed a few query parameters from v1/tokens/transfers
that had no effect previously. The parameters were: resolve_metadata_links
, sales
and the sale
option from transfer_type
.
📖 Learn more about Insight - it’s open source and ready to power your applications!

We’ve redesigned the contract pages on thirdweb.com/<chain>/<contract-address>
to be cleaner, simpler, and more user-friendly — making them perfect for sharing with your community or users.
These pages no longer include contract management features like Setting permissions, Updating settings, Managing claim conditions, Minting tokens etc
Instead, they now focus on: Promoting your primary sales, Showcasing contract analytics, Displaying recent transfers etc
Here are few examples:



All advanced contract management tools are still available — they’ve just moved.
You can now access the full contract admin UI at following URL:/team/<team>/<project>/contract/<chain>/<contract>
To access it
- Go to your Team > Project > Contracts tab
- Find your contract in the table
- Click the contract row to open its full contract management interface


If the contract isn’t part of your project yet, you’ll need to import it first. Just click “Import Contract” in the top-right of the Contracts page and enter the contract’s address and chain.


We've released three new payments components to cover any use case your onchain app might need. Please note these components are still in beta and their interfaces are subject to change.
Let users buy your token using any token and from any chain with the BuyWidget
A drop-in checkout experience for digital and physical assets.
A UI for any onchain transaction, paid for with funds from any chain.

We're excited to announce Nebula v0.1.0, our most comprehensive update yet! This release transforms Nebula into a universal DeFi protocol expert with the ability to execute any contract function across all EVM chains. Whether you're interacting with Uniswap, Aave, or any custom protocol, Nebula now has the knowledge and execution capabilities to handle it all.
Live now at nebula.thirdweb.com!
Nebula now comes equipped with comprehensive knowledge of 50+ major DeFi protocols across all EVM chains. From household names like Uniswap, Aave, and Curve to specialized protocols like Lido, MakerDAO, and Compound - Nebula understands them all.
Our new intelligent research system automatically discovers new protocols, analyzes their contracts, and generates up-to-date documentation for Nebula, to be added periodically. As the DeFi ecosystem evolves, Nebula evolves with it.
Our new enhanced agentic approach now supports arbitrary contract execution with sophisticated parameter handling. Whether you're:
- Swapping tokens on a DEX
- Providing liquidity to a pool
- Staking in a yield farm
- Querying live APY
Nebula can prepare and execute any transaction across any chain.
Nebula is now provided with instant access to cached protocol data, contract addresses, and deployment details. No more waiting for on-chain lookups - Nebula already knows where everything is deployed and how it works.
Behind the scenes, Nebula now automatically generates comprehensive protocol documentation by combining on-chain analysis with web research. This means every interaction is backed by the latest, most accurate information about how protocols actually work.
We've significantly improved Nebula's function calling capabilities with better parameter validation and error handling. The agent now makes fewer mistakes and provides clearer feedback when things go wrong.
- Parallel Image Generation: Visual content now generates concurrently for faster responses
- Specialized Transaction Tools: Split transaction and event aggregation into focused tools for better accuracy
- Enhanced Memory Management: Improved context handling for complex multi-step protocol interactions
Here's how the new capabilities work together. Ask Nebula:
"Provide liquidity to the USDC/ETH pool on Uniswap V3"
Nebula will:
- Research the current pool parameters and optimal price ranges
- Prepare any required approvals
- Prepare the Uniswap V3 liquidity provision transaction
Once successfully executed, Nebula can collect fees, monitor performance, withdraw liquidity or execute any other on-chain interaction.
All of this happens seamlessly across protocols, with Nebula understanding the nuances of each platform.
- Advanced Web Search: Better protocol-specific query handling and result filtering, for information that isn't already cached by Nebula
- Cross-Chain Compatibility: Enhanced support for protocol interactions across different EVM chains
- Improved Error Handling: More informative error messages and recovery suggestions
- Better Transaction Aggregation: More accurate grouping and analysis of related transactions
With this foundation of universal protocol knowledge and arbitrary contract execution, we're laying the groundwork for even more powerful DeFi automation and strategy execution. Stay tuned for exciting developments in the coming releases!
Ready to explore the full potential of DeFi with Nebula v0.1.0? Try asking about your favorite protocol - chances are, Nebula already knows all about it.

Until now, token prices in Insight were only available through dedicated /price
endpoints — useful, but disconnected from the broader token experience.
Starting today, latest price data is embedded directly into all routes that can return fungible token metadata — including /v1/tokens/balances
& v1/tokens/transfers
with metadata
flag set to true
. That means you’ll now see up-to-date pricing info (like price_usd
, percent_change_24h
, volume_24h_usd
, and more) inline with your token balances and other metadata-rich responses.
This change makes it drastically easier to surface value and context in a single call — whether you're showing wallet assets, building dashboards, or triggering logic based on price.
/tokens/erc20
endpointsThat family of routes is being deprecated in favour of the new generalised
/tokens
API. As part of this transition, those older endpoints will not receive price data enrichment — so if you're relying on token value context, now's the time to switch. /tokens
is faster, more complete, and future-proof.A few more notes:
- This works for both ERC-20 and native tokens.
- Currently this is powered by the offchain aggregated price feeds, but we'll work expending the strategies further.
- Some niche tokens might not have price data (yet) — but future updates will improve coverage and enable better filtering of spammy or scammy assets based on this info.
Price data just got a lot more accessible — and this is only the beginning!
Let us know what you think!
We're always looking to improve how we serve token data — if you're using this in your app, tooling, or analytics pipeline and have thoughts, feature requests, or sharp criticism: we want to hear it. Just drop us a line in Discord or open a discussion on GitHub.

Users can now track fungible and non-fungible token transfers more reliably — even when the same event signature (like Transfer
) is used across multiple token standards.
- 🔄 Multi-ABI Decoding: Webhooks now support decoding the same event signature using multiple ABIs. This is especially useful for events like
Transfer
that appear in both ERC-20 and ERC-721 contracts with different parameter structures. - 💥 Fallback Decoding: If the first ABI fails to decode the event, we now try all provided ABIs until one succeeds — making decoding more robust.
- 🧪 Better Decoding for Edge Cases: For example, events with empty
data
fields ("0x"
) are now handled gracefully, and error handling during decoding has been improved.
We also updated the docs to help developers integrate with AI agents or build smart event-driven systems:
- Clearer instructions on setting up and managing webhooks via the Insight API
- New examples of multi-ABI event filters, including how to handle both ERC-20 and ERC-721
Transfer
events - Payload structure explained in more depth for downstream agent consumption
Don't forget to check the docs here!
Many token standards reuse the same event signature hash (Transfer(address,address,uint256)
), but the meaning and structure can differ. This update makes sure your webhook will correctly decode whichever version it encounters.
📌 Note: This feature is currently available via API only — improved UI/UX support for creating and managing multi-ABI filters is on the roadmap!
Let us know if you need help setting up multi-ABI filters for your use case — or if there’s another event format we should support next.

We've integrated EIP-1271 and EIP-6492 Smart Wallet signing into the UE SDK so you can verify auth seamlessly from your backend without having to deploy your smart wallets.
No changes to your code are required, simply upgrade to the latest SDK, and your signatures will now match what most authentication systems expect from smart wallets.
This is now at parity with our other SDKs (TS, React, .NET, Unity, etc.)
Github Release | Fab Marketplace
2.1.1 will be available on Fab around 6/14/2025

We’re thrilled to announce a powerful new addition to our RPC toolkit: native WebSocket support for Plume Mainnet (chain ID 98866) and Testnet (chain ID 98867). Now you can subscribe to live block events and react instantly as new blocks are produced—no polling required
- WebSocket Endpoints
- Mainnet:
wss://98866.rpc.thirdweb.com/ws/<client_id>
- Testnet
wss://98867.rpc.thirdweb.com/ws/<client_id>
- Mainnet:
- Real-Time Block Events
Subscribe once and receive a continuous stream of block headers and payloads as they’re finalized on-chain.
- Instant Data
No more waiting for HTTP responses—get block notifications the moment they happen. - Lower Latency
Maintain a persistent socket connection instead of hammering REST endpoints. - Scalability
Stream to multiple clients or services without spinning up extra request handlers.
- Generate or retrieve your
<client_id>
from your Thirdweb dashboard. - Connect via your favorite WebSocket library:
- Handle Events
EverynewHeads
message includes block number, hash, timestamp, and parent hash—ready for indexing, alerts, or analytics.
- More Chains Coming Soon!
We’re actively working on extending WebSocket support across additional networks. Stay tuned for announcements!

You can now create new teams from the thirdweb dashboard. This feature allows you to create multiple teams to separate team members and projects effectively.
Why use teams? Use different teams to organize separate apps or clients, each with their own assets, team members, usage analytics, and billing. Creating teams is free, and each team has its own subscriptions and team-specific limits.
Visit the My Account page or use the team selector in the top navigation, then select "Create Team".

Switch between teams: Use the team selector to move between your teams.

Transfer a team: Simply add another owner to the team, and remove the original owner.
Example: Owner A owns team A but wants to transfer it to owner B. After owner A invites owner B to the team, owner B can remove owner A.
Delete a team: No longer need a team? Delete it from the Settings > General page.
Manage who can view and update your thirdweb resources by adding team members from the Settings > Members page.
Visit the Pricing page to learn more about plans that include multiple seats.

Insight adds support for filtering NFT transfers by type.
On the v1/nfts/transfers
endpoint you can specify a transfer_type
query parameter and choose to filter transfer
, sale
, mint
or burn
transfers.
transfer
- Any transfer without additional sale data
sale
- A transfer that has additional sale data* (Seaport protocol supported)
mint
- A transfer from a zero address
burn
- A transfer to a zero address
* Example sale data:
Try it out on our playground.

📖 Learn more about Insight - it’s open source and ready to power your applications!

This release introduces significant improvements to Nebula's agent capabilities, adding fiat onramping through Universal Bridge, new NFT collection tools, and aggregated transaction and events data. Improvements have been made to Nebula’s memory handling, leading to faster responses in some cases and helping us prepare for our next major release. Additionally, we fixed a major bug that caused Nebula to respond with "No response received, please try again" in long-running queries.
Nebula v0.0.17 is live now!
- Added an onramping tool for fiat-to-crypto transactions using thirdweb Universal Bridge
- Improved token swap preparation for better cross-chain support and tool-calling accuracy
- Expanded the capabilities of transaction and event aggregation
- Nebula can now retrieve on-chain NFT collection statistics
- Added NFT token retrieval for token-specific data like URI metadata
- Enhanced transaction and event aggregation for significantly improved accuracy
- Function calling has been significantly improved
- Nebula now understands more complex contract functions and executes them accurately
- Nebula now tracks deployed and referenced contracts, preserving them in session memory
- Improved agent autonomy through better tool chaining and context retention
Aggregations are an exciting addition to Nebula's capabilities, enabling complex queries such as:
User: Find the top 5 contracts on Base in the past hour by transaction count
Nebula: Here are the top 5 contracts on Base by transaction count in the past hour (from 2025-06-05 11:15:19 UTC to now):
0xfe16e9fcc577cb9b19319f6c97d915d58545fd7f
— Name: UnknownContract, Transactions: 18,3240x00f79a40ffa54316059614c280750756412a5fc9
— Name: UnknownContract, Transactions: 14,1380x4752ba5dbc23f44d87826276bf6fd6b1c372ad24
— Name: UniswapV2Router02, Transactions: 14,0210x1307b5f4f528519b3ad44c98cdf4e156686c6f63
— Name: UnknownContract, Transactions: 12,4130x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
— Name: UniversalRouter, Transactions: 12,167
- Updated agent framework version for improved performance
- Refined prompts for more accurate tool calling
- Improved reasoning steps and decision-making
- Better handling of connection timeouts to prevent "No response received" errors
- Improved contract deployment tools with enhanced flexibility
- Better address checksumming and output type validation
- Enhanced transaction preparation with native token support
- Fixed tools to properly handle base units and native tokens
- Fixed an issue where parts of responses were cut off
- Resolved duplicate answers in agent responses
- Improved contract function parameter validation
- Fixed multiple type-related issues across tools
- Improved parameter validation for contract deployments
This release marks a significant step forward in Nebula's capabilities, delivering more reliable tools, smarter agents, and expanded financial integrations for building full-featured blockchain applications.

You can now set up webhooks directly in your dashboard to track blockchain activity in real-time—no more polling, no more missing important events.
Webhooks allow you to:
- Get notified when specific events happen on-chain (like NFT mints, transfers, or contract calls) or any contract function you specify
- Automate downstream processes like updating your app, sending emails, or triggering workflows
- Stay in sync with blockchain state—even when there are re-orgs (yup, we handle that too)
Get started with webhooks by creating a project > Webhooks > Create Webhook

We updated our ecosystem wallet smart account options to let ecosystem owners opt in to using EIP-7702 for all their users.

Picking EIP-7702 as the smart wallet execution mode for your ecosystem has multiple benefits:
- your users will be able to use the same smart account features as EIP-4337 like gas sponsorship, batching and session keys
- Smart account address will be the same address as their EOA address.
- Execution speed will be up to 3x faster than EIP-4337 userOps.
- No code change required
Keep in mind that this standard only works on chains that have adopted the EVM pectra update. Most popular chains support it today, with more chains adopting it every week.
We recommend trying out 7702 execution for your ecosystem wallets, just enable the setting in your dashboard and connect to your ecosystem wallets to take advantage of this new smart account standard.
Happy building! 🛠️

We've improved our wallet service for in-app and ecosystem wallets with new quality of life features. Below are the highlights and detailed changes.
- Account deletion flag – allow end‑users to erase their wallet account entirely when unlinking the final auth profile.
- Improved partner attribution – new user records created via an ecosystem partner are now tagged, and filtering is supported via the API.
- Phone‑login sandboxing – deterministic phone/OTP pair for local development and App Store / Play Store review flows.
Apple and other platforms mandates an way to delete user accounts.
You can now fulfill this requirement by setting allowAccountDeletion: true
when unlinking the final profile tied to a wallet.
- Automatic tagging – Any new wallet created through an ecosystem partner is now associated with that partner ID. (Existing users remain unchanged.)
- Filtering – Query only the users for a given partner by providing both headers:
GET /v1/users
now returns only the wallets originated by that partner when both headers are present.
For staging or App Store submission, you may use the dedicated test credentials:
Field | Value |
---|---|
Phone | +11111111111 |
OTP | 0000 |
These bypass SMS delivery so you can validate the flow end‑to‑end without external dependencies.
As always we appreciate your feedback – drop us a line or open an issue on GitHub.
© 2025 Thirdweb

v5.102.0 of the thirdweb TypeScript SDK rolls out server-side wallet orchestration and better transaction management—adding APIs to create & list server wallets, search transactions with flexible filters, batch multiple calls in one shot, and clearer error reporting.
Create a new server wallet with a custom label.
List every server wallet that already exists.
Search transactions by ID, chain ID, sender, and more (supports nested AND/OR filters).
Queue multiple transactions in a single batch and wait for completion.
Server-wallet transactions now surface clearer, more actionable error messages.

We’ve just shipped a powerful new feature to the Insight dashboard: Webhooks.
This release makes it easier than ever for developers to listen to blockchain events and transactions in real time — and trigger actions when they matter most.
Whether you’re building dashboards, automation workflows, or real-time alerts, Webhooks give you the tools to keep your system tightly synced with on-chain activity.
Webhooks let you subscribe to blockchain activity and receive notifications when specific events or transactions occur — directly to your own application.
They’re ideal for:
- Tracking contract events (e.g. transfers, mints, executions)
- Monitoring transactions
- Building alerting and analytics pipelines
- Powering downstream workflows from blockchain data
Events are delivered in batches, with at-least-once delivery and unique event IDs for easy deduplication. We recommend using a queue system if your processing is heavy.
The new Webhooks UI brings a fully integrated way to manage everything — no manual setup or API-only workflows.

- Create Webhooks
- Filter by Contract, Event Signature, or Function Selector
- Automatic ABI fetching to enable decoded data at delivery
- Test Mode to verify endpoints before going live
- List & Delete existing webhooks with full error and loading states

We just turbo-charged the aggregate parameter across the whole Playground:
Before | After |
---|---|
Plain, lonely text area that expected you to hand-type SQLish expressions. | A slick pop-over multi-select with popular presets and a free-form box for anything custom. |
- Aggregate Parameter Input v2
- Brand-new component for aggregate parameters input.
- Pop-over UI with search, check-boxes, and live badges so you can combine multiple presets in one click.
- Works anywhere
aggregate
is supported – Blocks, Transactions, Events, Wallet Transactions.
- Preset library out of the box
- ✨ Transaction Count, Total Value, Avg Value, Total Fees … plus contextual sets for each endpoint.
- Custom SQL-like snippets still welcome—type them right alongside the presets.
- Smarter parameter section
- Descriptions & examples now auto-swap based on the parameter name for clearer guidance.
- Place-holders use the parameter’s real description if one exists.
Full walkthroughs, FAQs, and copy-paste code samples added to the relevant docs sections, such as Get Started, Use Cases, Blueprints, etc.
- Replaced the plain old input field with a polished multifunctional pop-over.
- State sync so manual edits and preset picks never collide.
- Cleaner tooltip positioning and internal refactor of
ParameterSection
.
Enjoy faster insights without memorising SQL! Let us know what you build.

NFT owner queries have been improved with added balance data and a new ERC20 token owners endpoint has been added to Insight API.
v1/tokens/owners
has been added to return a list of token owners with their balances.
Try it out on our playground.

The two endpoints to query NFT owners (v1/nfts/owners/:contract_address
and /v1/nfts/owners/:contract_address/:token_id
) now have the ability to return the balance of each owner in addition to owner addresses.
To enable it, use the query param include_balances=true
when calling the endpoints. This will change the response format, so make sure it will not break your app!
The new response format will be an array of owner objects, for example:
📖 Learn more about Insight - it’s open source and ready to power your applications!

This release introduces new integrations to expand both thirdweb AI and thirdweb MCP capabilities with Google's Agent Development Kit (ADK), and adds support for thirdweb Engine Cloud, allowing for autonomous on-chain interactions.
- Added Google Agent Development Kit (ADK) adapter support
- Enables direct integration with thirdweb tools for use with ADK agents
- Supports all thirdweb AI tools and thirdweb MCP
- Introduced dedicated Engine Cloud service integration
- Supported in all AI integrations, and the thirdweb MCP server
- Allows for autonomous on-chain executions like creating engine cloud wallets, and transacting on-chain
To run engine cloud within thirdweb MCP you must provide a vault_access_token
:
This gives you access to Engine Cloud tools like creating wallets, or sending transactions.
thirdweb-ai
and thirdweb-mcp
v0.1.24 are both live now on PyPi!

Insight API adds a new token balances endpoint that also supports native token balances. It will replace the current ERC-20 balance endpoint which is being deprecated.
This endpoint is being deprecated in favor of v1/tokens
to be better aligned with the NFT endpoints and make it easier to expand the capabilities of the new endpoint in the future.
v1/tokens
has full parity with the ERC-20 balances endpoint but also adds support for native token balances and also returns the owner_address
in the response.
Native balances are always returned at the beginning of the response. If they are not needed, they can be removed from the response by setting the include_native
query param to false
.
The native token address is 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
The new endpoint is available in our playground.

📖 Learn more about Insight - it’s open source and ready to power your applications!

We’ve improved the Insight API to support unified access to all token transfers — both NFTs (ERC721/ERC1155) and fungible tokens (ERC20) — through a single, consistent endpoint 🚀
- You can now fetch NFT and ERC20 transfers in one call.
- Transfer responses include metadata for both NFTs and ERC20 tokens.
- Added support for a new "burn" transfer type when tokens are sent to the zero address.
- Introduced filtering by token type (
erc20
,erc721
,erc1155
) via query parameters.
This change simplifies integration and improves performance when querying mixed token transfers — especially useful for clients who need a single endpoint to track all token activity.

The thirdweb TypeScript SDK was just updated with significant updates to the universal bridge component and APIs.
When you do a transaction in a react environment (useSendTransaction or TransactionButton), and the user does not have enough funds in their wallet, we now by default always show them a flow to top up their wallet:
- Pay with another wallet
- Pay with another token
- Pay with fiat
- Deposit funds (for testnets and unsupported routes) with balance auto refresh

The PayEmbed component has been improved across the board to load routes, quotes and status faster than ever before. No code changes required.
Upgrade for smoother cross‑chain and on‑ramp experiences!

Nebula 0.0.16 brings significant improvements to contract interactions, introduces a new token burn capability, and enhances cross-chain support.
- New Token Burn Tool: Permanently remove tokens from circulation with smart fallbacks. Supports both ERC20 tokens and native currencies, with automatic detection of burn methods.
- Contract Type Detection: Automatically identify contract types (ERC20, ERC721, ERC1155, marketplace, proxy, multisig, etc.) to provide more context-aware interactions.
- Enhanced Contract Metadata: Contract analysis now includes token-specific data (decimals, total supply), NFT-specific features (tokenURI support), and better handling of EOA addresses.
- Improved Universal Bridge: Cross-chain transfers now work seamlessly across all supported chains with improved validation and confirmation.
- Tool Consolidation: Combined similar tools (wallet address/token balance, transaction lookups) for more streamlined interactions and consistent responses.
- Token-Specific Wallet Queries: Added support for querying specific token balances in a wallet, enabling more focused blockchain data retrieval.
- Human-Readable Values: All token amounts now use human-readable formats with proper decimal handling across all contract tools.
- New Block Tool: New unified tool replaces separate block retrieval methods with support for block numbers, hashes, and special tags ('latest', 'earliest', 'pending').
- Arbitrary Contract Output: Enhanced with additional metadata to support Nebula's response.
- Link Formatting: Better formatting of transaction hashes and wallet addresses in responses for improved readability.
- Fixed transaction data formatting in contract preparation tools
- Corrected decimals handling in token operations
- Improved URI formatting for NFT collections
- Enhanced wallet address handling in transaction tools

Nebula v0.0.15 focuses on enhancing contract metadata analysis and fixing core functionality issues. This release significantly improves contract metadata output, making it easier to understand smart contract functions and capabilities. It also fixes critical issues with address prediction and streaming responses.
- Enhanced Contract Metadata Tool: Completely revamped output format with better function categorization and improved contract type detection
- Support for Code Block Streaming: Better handling of code snippets with proper formatting
- Address and Transaction Links: Automatically creates clickable blockchain explorer links
- Deploy Address Prediction: Fixed CREATE2 address calculation for cross-chain deployments
- Streaming Response Buffering: Improved text streaming with better handling of code blocks
- Transaction History: Re-added transaction lookup by hash to support transaction analysis
- Image Rendering: Fixed generated images not showed up as an event
Try it out today at https://nebula.thirdweb.com!

As soon as the Pectra Ethereum Upgrade was released, so were our next-gen 7702 smart accounts - read more about them here!
Today, we introduce support for more chains that upgraded to Pectra!
TypeScript / React
.NET / Unity

We’ve re-architected how Insight webhooks are delivered — introducing a durable execution model that improves reliability, observability, and resilience.
Webhook delivery is now handled through a stateful, retry-capable execution engine. This means:
- Delivery persists through failures – Webhooks won’t silently fail or get lost due to transient issues.
- Exponential backoff retries – Prevents overwhelming client systems while still ensuring delivery.
Every webhook delivery is now monitored and logged with structured metadata, giving us (and soon, you) much more insight into what’s happening:
- Full delivery history and error context for each webhook delivery
- Fine-grained attribution by webhook/project/team for improved debugging
We've introduced configuration options that make it easier to tune webhook behavior per environment, including retry policies and timeouts.
This is just the beginning. Next up:
- Durable storage for visualising webhook execution history and efficient retrieval of executions for a specific webhook
- Improved webhook suspension management with visibility into paused endpoints
- Self-serve observability tools so teams can view delivery status, retry logic, and failure patterns directly
If you rely on Insight webhooks to power workflows, this upgrade makes them more dependable and transparent.
Let us know what you'd like to see next → we're building this with you in mind.

We're excited to announce a major upgrade to Nebula that introduces powerful new capabilities through the implementation of a code generation agent and real-time response streaming.
These changes are live now at nebula.thirdweb.com!
This release transforms Nebula with the integration of an agent that can generate code, enabling significantly more complex reasoning and multi-stage task processing. We've also added word-by-word streaming for a more responsive user experience, alongside numerous tool enhancements to support these new capabilities.
Replacing Nebula's main agent with a code-generation agent brings a revolutionary approach to how Nebula processes blockchain requests:
- Code-first approach allows Nebula to write and execute Python code snippets for complex tasks
- Enhanced reasoning capabilities for multi-stage blockchain operations
- 30% more efficient processing compared to traditional tool-calling approaches
- Improved problem decomposition for handling complex user requests
Now Nebula can automatically break down multi-stage operations like "Deploy a new ERC-721 contract, mint an NFT, and send it to cjber.eth" into logical steps with appropriate parameter validation at each stage.
With Code Agent, Nebula now exposes more of its thinking process:
- Watch as Nebula reasons through complex blockchain operations
- See the logical steps it takes to solve multi-part problems
- Better understand why specific approaches or parameters are used
This transparency helps users learn from Nebula's analytical approach while providing greater confidence in the recommended actions.
One of the most visible improvements in this release is the addition of real-time, word-by-word streaming:
- Responses begin appearing immediately, eliminating long wait times
- Thoughts and reasoning are streamed as they're generated
- See Nebula work through complex problems in real-time
This creates a much more interactive experience, similar to watching an expert think through blockchain challenges.
To support the new Code Agent architecture, we've made extensive improvements to Nebula's tool system:
- Unified output formatting across all blockchain tools
- Consistent validation patterns for blockchain parameters
- Improved error handling with more descriptive messages
- Consolidated related tools for more intuitive interactions
- Better validation for blockchain addresses, amounts, and parameters
- Improved handling of token standards and contract interactions
- More efficient tool execution for faster responses
- Better handling of blockchain data pagination
- Optimized resource usage for complex operations
These improvements deliver several key benefits:
- More Complex Tasks: Nebula can now handle significantly more complex, multi-stage blockchain operations
- Faster Responses: Start seeing results immediately with word-by-word streaming, and more efficient tool calling through code means overall response times are reduced
3. Better Reasoning Transparency: More visible reasoning helps users understand blockchain operations
- More Reliable Interactions: Enhanced validation ensures operations are checked thoroughly before execution
We're excited for you to experience the power of Code Agent and real-time streaming in Nebula. These improvements represent a significant leap forward in making blockchain interactions more intuitive, responsive, and powerful.
Ready to try out all these new features? Give it a spin at nebula.thirdweb.com!

We've added Transak to our suite of supported onramp providers in the Universal Bridge. Along with Coinbase and Stripe, Transak brings the total supported countries to over 160, and supported direct onramp tokens to over 170. Explore all the countries and tokens Transak supports.
When used with Universal Bridge, our onchain routing allows you to onramp to thousands of tokens. Some of the notable countries the Universal Bridge now supports:
- Philippines
- South Korea
- Brazil
- Japan
- Indonesia
- Hong Kong
To get an onramp link and quote using the Universal Bridge API, use the following:
The returned quote will look something like this:
You can then use the top-level id
to get the onramp's status:
The returned status:
To learn more about how to use thirdweb's Universal Bridge for onramping, bridging, or swapping, check out the API reference or docs.

We've improved token balance fetching in the PayEmbed
for near-instant balance display. We check thousands of tokens for possible routes and return any the user can use to perform their desired transaction in less than a second.
The improved performance is available as of TypeScript SDK v5.99.0. Try it out for yourself on the thirdweb playground.

Version 5.99.0 of the TypeScript thirdweb SDK brings first-class support for EIP-5792. The new implementation streamlines how you batch calls, sponsor gas and track confirmations, while aligning our API with the final EIP-5792 spec.
Highlights:
- New React hooks – useSendAndConfirmCalls, useWaitForCallsReceipt
- Simpler useSendCalls / sendCalls signatures – no more explicit client prop, aligned return types with v2.0.0 of the EIP
- Decoupled receipt handling for flexible UI handling of receipts
- Easy wallet-capability detection
As usual, you can try out the integration on the live playground:
TypeScript (node / backend)
React (front-end)
1 – Fire-and-forget, then wait for the receipt
2 – One-liner helper
The previous version of the SDK had beta support for 5792, which got some breaking changes in this version, listed below:
React
Before | After |
---|---|
useSendCalls({ client }) returned string bundleId | useSendCalls() returns { id, client, chain, wallet } |
useSendCalls({ waitForBundle: true }) returned receipts | Waiting is now decoupled; use useWaitForCallsReceipt |
N/A | New helper useSendAndConfirmCalls combines both steps |
TypeScript / non-React
Before | After |
---|---|
type SendCallsResult = string; | type SendCallsResult = { id: string; client: ThirdwebClient; chain: Chain; wallet: Wallet } |
getCallsStatus(bundleId) | getCallsStatus(id) (field renamed) |
Any existing code that relies on the old return type must now read result.id and call waitForCallsReceipt (or the React hook) to obtain transaction receipts.
We recommend upgrading as soon as possible to leverage gas sponsorship and the simplified developer experience. For a full diff, see PR #7003 on GitHub.

As soon as the Pectra Ethereum Upgrade was released, so were our next-gen 7702 smart accounts - read more about them here!
Today, we introduce support for more chains that upgraded to Pectra!
TypeScript / React
.NET / Unity

This release includes significant improvements to the Nebula agent's architecture, entity memory management, error handling, and documentation search capabilities. Key updates focus on simplifying blockchain entity handling, improving transaction management, supporting more content types in chat, and enhancing error messaging for a better user experience.
- New Content Support in Chat
- Add support for image and transaction content types in chat messages
- Enable transaction hash messages for blockchain status checks
- Enhanced Entity Management
- Simplify loading entities by type with a cleaner implementation
- Improve entity memory formatting for better readability
- Reduce database operations for improved performance
- Add user wallet as parsed entity for better context
- Documentation and Search Improvements
- Implement new LLMs documentation search with better context retrieval
- Add URL to web search results for better source attribution
- Format blockchain entities as links in responses
- Improved Error Handling
- Better error messaging for deployment and payment issues
- Add instructions to help users correct chain context issues
- Support graceful error handling in streaming responses
- New agent action types for better request handling
- Support for image and transaction inputs in chat messages
- More structured error responses with helpful suggestions
- Revised agent action structure to use more specific types
- Updated event streaming format for better client compatibility
- Fix undefined behavior when no routes found in Universal Bridge
- Handle payment required errors from storage service
- Fix wallet balance formatting and improve entity display
- Ensure price and token supply data is displayed correctly
Ready to try out all these new features? Give it a spin at https://nebula.thirdweb.com!

We just added Universal Bridge support for $HONEY, Berachain's stablecoin. You can now pay with or accept HONEY for any transaction on any chain.


Introducing Engine Cloud — read and write to the blockchain at scale, without the cost or complexity of traditional blockchain API setups.
Engine Cloud is our answer to lowering the barrier to developing high volume applications onchain- with fully-hosted, scalable APIs that let you perform on-chain actions from your backend. No upfront costs. Only pay-as-you-go.
It includes a non-custodial way to manage your wallets and ready-to-go API calls that do things like mint NFTs, transfer tokens, airdrops, sponsor gas for users — on any contract, across any EVM chain.
Engine Cloud includes:
- Server Wallets managed via Vault (our new key management system)
- New Transaction Gateway with retry logic, nonce management, and sub-second speed
- New transaction API improved DX, new typescript SDK integration, and more
- Secure, granular access tokens to work with multiple wallets and teams via vault access tokens and permissions
- No more manual gas top-ups or alerts— we handle that for you by topping through our paymasters from your payment on file.
Learn more about use cases and benefits of using Engine Cloud.
- Create a thirdweb project — this will include a ready-to-go Engine server for you to start making API calls on.
- Get your Vault Admin Key + Access Tokens — via the dashboard. Learn more about Vault.
- Create a server wallet — for secure, granular signing and management. You can create one or multiple server wallets.
- Start calling the API — write and send transactions from your backend using the simple API endpoints. All API endpoints can be accessed via the dashboard or through the API reference.
Engine will be free during beta without charging for any requests until May 19th. You can integrate it to your application today.
For any questions or feedback, please reach out to our support team.

Say hello to Engine Cloud, the easiest way to send blockchain transactions from your backend at scale — no monthly fees, just pay-as-you-go.
- Non-custodial wallet management - Manage through Vault, thirdweb's new Key Management Service
- Avoid Transaction Failures – Resubmits stuck transactions with built-in retry logic
- Wallet Management – No gas top-ups required; handle payments through your account
- Abstract Blockchain Complexity – Sponsor gas + sign on behalf of users
- Programmatic Deployments – Launch NFTs, tokens, accounts, marketplaces, and more
Get started by creating a project or try it out live on playground.

EIP-7702 unlocks a new capability for externally-owned accounts (EOAs): the ability to behave like smart contract accounts. The latest SDK let you enable 7702 on any of your in-app wallets with one line of code, giving your users gas-sponsored, batched and automated transactions faster and more efficiently than ever before.
Once an in-app wallet is running in EIP-7702 mode you can:
• Sponsor gas so users can sign transactions with zero ETH in their balance.
• Batch transactions so multiple contract calls clear in a single signature.
• Add session keys to automate on-chain actions safely (think scheduled mints, subscription based payments or game loops).
• …and any other capability you’d expect from smart accounts—all while your user keeps their familiar EOA address.
All it takes is a tiny config change.
But what about EIP-4337 smart wallets?
In our testing, using 7702 is up to twice as fast and orders of magnitude cheaper than using 4337 smart contract wallets!
Don't take our word for it, try it yourself on the live playground:
https://playground.thirdweb.com/connect/account-abstraction/7702
In-app wallets lets you create wallets for your users based on standard logins like email, passkey or Google. Below are drop-in examples to turn those wallets into 7702 smart accounts for every stack the thirdweb SDK supports today.
TypeScript / React
. NET / Unity
Heads-up EIP-7702 only works on chains that enable it. Ethereum mainnet and Sepolia already support it, with more coming soon; keep an eye on the thirdweb blog for other chain activation dates.
Don’t want to embed an in-app wallet? No problem. EIP-5792 lets you tap into the same 7702 capabilities from any external wallet—like Metamask and Coinbase Wallet —via the sendCalls
RPC method.
Sponsoring Gas & Batching Transactions
The useSendCalls
React hook (or the plain sendCalls
function in vanilla TypeScript) lets you bundle multiple calls into one and attach a paymaster so your dApp covers the gas:
Thie enabled single signature, gas-free, batched execution on exernal wallets like Metamask!
Documentation links: React API | TypeScript API
Upgrade your thirdweb SDK to the latest version, flip on executionMode: "EIP7702"
or use EIP5792's sendCalls
, and your users instantly level-up to smart-account features—no new wallets, no migrations, just better UX.
Got questions or feedback? Jump into the thirdweb Discord and let us know what you’re building!

With the latest release of Universal Bridge, we've added a number of new filters to make building advanced payment UIs more convenient. These are available starting in v5.97.0 of the TypeScript SDK.
The /routes
endpoint (API) and Bridge.routes
function (SDK) now have an optional sortBy
option to determine how the returned routes will be ordered. The first option we've made available is sortBy: "popularity"
, which will ordered the returned routes based on the number of times they've been used. The following will return the 10 most popular routes originating from ETH on mainnet:
The maxSteps
filter already allows you to filter routes
based on the number of steps required to fulfill a routes. With this update, we've added this same option to the Buy.quote
, Buy.prepare
, Sell.quote
, and Sell.prepare
functions, as well as their corresponding API endpoints. You can now guarantee the quote returned uses a certain number of steps or fewer:
We've added a new endpoint and SDK function to get all chains supported by Universal Bridge along with their name, icon, and native currency.
This will return:
- Fixed an issue where Coinbase onramps were not returning the associated transaction hash
- Fixed routes returning the zero address rather than the native token address

You can now verify a domain for your team!
- Teams can verify their domain (e.g.
@yourcompany.com
)
→ When logged in, navigate to Settings`→ General and scroll downDomain Verification
to verify your domain. - To complete the verification, you'll need to add a DNS TXT record to your domain. This part must be completed through your domain provider's dashboard.
- Please note you may only verify one domain per team.

- Verified badge: Your team gets a special badge, so it’s easier to confirm you're in the right place.
- Recommended team members: On the
Settings → Members
page, you’ll see users with emails that match your domain but aren’t in the team yet — making it super easy to invite everyone on the team.
- Instant invite alerts: Team owners will get a notification (in the dashboard and optionally via email) when someone signs up with your verified domain — with a 1-click invite option.
- Recommended teams for users: New users with a matching email domain will see teams they can request to join, giving team owners control to approve or deny.
For any questions or support please reach out to our support team.


In preparation for Ethereum’s upcoming Pectra upgrade this May, the thirdweb Pack contract has been officially deprecated and is no longer deployable via the dashboard, SDK, or CLI.
Important: Existing Pack contracts are not compatible with the Pectra upgrade.
We strongly recommend that users abandon or conclude any unopened packs as soon as possible to avoid potential issues once the upgrade goes live.
For any questions or support, please reach out to the official thirdweb team support channel.

TL;DR: Update your SDK to 5.96.9+ to fix external wallet mobile connections.
A recent chrome update introduced a change in websockets that broke Wallet Connect connection flows on mobile. This resulted in users not being able to connect their wallets to mobile websites, infinitely loading. All wallet providers were affected. A bug fix was shipped by the Wallet Connect team to support the latest version of Chrome, and we immediately adopted the new version in the latest version of the thirdweb SDK.
Version 5.96.6 and above includes the fix, so update your library to resolve this issue.

Nebula v0.0.12 brings significant improvements to the user experience and functionality. This release focuses on enhancing transaction management, adding support for NFTs and tokens, and improving the overall user interface. Key highlights include improved deployment workflows, better transaction formatting, and new token management capabilities.
- More sophisticated entity tracking system
- Better persistence of blockchain interactions
- Enhanced context enrichment for more relevant responses
- Add ERC20 token transfer and approve functionality
- Transferring tokens between addresses
- Granting spending allowances to contracts
- Add ERC721 transfer support for NFT management
- Add minting capabilities
- New NFT minting tool for creating digital collectibles
- Token minting functionality with improved user feedback
- Support for images in tokens and NFTs
- Add rendering support for NFT and token images on the frontend
- Enhanced deployment workflows
- Improve deployments to include more detailed information as markdown
- Support multi-stage deployments for complex contract setups
- Better UI feedback during deployment processes
- Transaction array support
- New functionality to handle batched transactions
- Unify simulation and execution outputs
- Consistent formatting for all transaction operations
- Better readability of transaction details
- Add rate limit checks to RPC calls
- Prevent API throttling issues with improved handling
- Fix native transfer rendering
- Correct display of native token transfers in UI
- Fix deploy UI issues
- Address multiple UI bugs in the deployment interface
- Fix early yielding creating duplicate UI cards
- Fix contract output when metadata is missing
- Better handling of contracts with missing information
- Token Bridging / Swapping (Universal Bridge) fixes
- Switch to new endpoints for improved reliability
- Fix ABI handling for better contract interaction
- Fix image parsing
- Correct handling of image data in responses
Try it out today at https://nebula.thirdweb.com!

There are 2 changes to the Insight API to improve usability and fix a numeric overflow in Javascript.
The NFT and Token transfer endpoints have been changed and now the owner_address
query param is not mandatory anymore, enabling queries for all transfers on a chain.
Since this query can be heavy, we also added block number filters. You can narrow down the query using block_number_from
and block_number_to
query params.

Since Solidity supports numbers larger the Javascript's max number, APIs consuming the decoded events and transactions would receive some numeric values in scientific notation, losing precision.
We updated the decoded data to return large numeric values as string to prevent this. This is what a decoded transaction would look like now
Note that the _value uint256
input is returned as string 4179950264410000000000
📖 Learn more about Insight - it’s open source and ready to power your applications!

This release introduces new image generation capabilities, improves error handling for rate limits, and fixes several key components including IPFS functionality and token minting. Performance optimizations have also been implemented to make token queries faster.
- Add image generation functionality - Implement new image generation capabilities. Create assets with generative artwork in a single prompt!
- Improve rate limit handling - Add ability to gracefully abort execution when API rate limits are reached
- Optimize token information retrieval - Add option to exclude price data for faster query performance
Check it out at https://nebula.thirdweb.com

The latest thirdweb typescript SDK release - v5.96.4 - adds a new way to make the Connect modal feel like your own by adding custom metadata to in-app wallets.
In wide mode, you can customize the name and icon of your in-app wallet in the list of wallets, and the image above the login options separately.

In compact mode, only the image above the login options is displayed.

Simply pass your app metadata along the other options when creating your inAppWallet
, then pass it as one of the available wallets
in the ConnectButton
or ConnectEmbed
.
Happy building! 🛠️