Skip to main content
Version: 2.2

Streams API

Don't have an API key yet?

Start using this API for your project today.

Get your free API key
tip

What is the Streams API?

With Streams API you can listen for real time events on chain, you can listen for when a new event is emitted in your contract or for when a walltet address does an NFT transfer or a transaction. You can also get notifications for native and internal transactions. You will receive webhook requests for those events specific to your stream configuration.

Working With Webhooks

Webhooks allow you to receive real-time notifications for events that are happening in relation to your application. When a supported event occurs, a real-time notification is posted, including a data payload, via HTTP POST method to a custom URL you provide.

Streams API features

  • Get blockchain events streamed to your backend directly in real-time
  • Listen to wallets or contract events, or both with multiple streams
  • Track one address or millions with just one stream, it is up to you
  • Fully customize your streams using filters, you want to only want to listen to transactions over 1000 USDT, no problem
  • Listen for events from all contract addresses
  • Add your custom ABI and choose which events you want to listen too
  • and much more...
  • Realtime Wallet notifications (monitor when an address sends, receives, stakes, swaps, or burns assets)
  • Monitor assets (get notifications when an asset is being sent, received, staked, swapped, or burned)
  • In game specific events, for example when a battle starts in your web3 game
  • Token sales (get notifications for when someone participates in your token sale)
  • Any other smart contract event fires on-chain based on your filters

Listen to all addresses use cases

  • Listen to all NFT contract transfers tutorial
  • Listen to all events from new contracts specific to a contract factory tutorial
  • Listen to all NFT contracts transfers where sender is a specific address tutorial
  • Listen to all ERC20 contract transfers where sender is a specific address and number of coins transferred is over 1000 tutorial

Run Smart Contract Functions

Get Native Balances

High reliability

  • Moralis guarantees 100% delivery of Webhooks
  • If your service is down Moralis will retry to send the webhook in intervals
  • If your service fails to receive the webhooks you can manually replay

Supported chains

ChainChain Id (Hex)Internal Transaction SupportedBlocks until confirmedNote
ETH0x1✅ YES12
GOERLI0x5✅ YES12
SEPOLIA0xaa36a7✅ YES18
BNB0x38✅ YES18
BNB TEST0x61✅ YES18
POLYGON0x89✅ YES100
MUMBAI0x13881✅ YES100
FANTOM TEST0xfa2✅ YES100
FANTOM0xfa✅ YES100
AVAX0xa86a✅ YES100
AVAX TEST _(deprecated)_0xa869✅ YES100
CRONOS0x19❌ NO100
CRONOS TEST _(deprecated)_0x152❌ NO100
RONIN0x7e4✅ YES100
ARBITRUM0xa4b1✅ YES100
ARBITRUM SEPOLIA0x66eee✅ YES100🔥 NEW
PALM0x2a15c308d
Gnosis0x64❌ NO100
Gnosis Chiado TEST0x27d8❌ NO100
BASE0x2105✅ YES100🔥 NEW
Base Goerli TEST0x14a33✅ YES100🔥 NEW
OPTIMISM0xa✅ YES100
Reorgnization Before Confirmation

Until a block is confirmed, it is possible that a re-organization of the chain may occur, invalidating some information. If a re-organization does occur before a block is confirmed, the information associated with the block is deleted and the updated block is inserted in its place.

To get started, check the following tutorials:

How Streams are priced

See Records and pricing

Learn more advanced applications of Streams

Demos