Skip to main content

Don't have an API key yet?

Sign-up to Moralis to get your free API key and start building today.

Get Your Free API Key
Version: 2.0

Streams API

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

Supported Chains

See the table below for all supported chains we support on Streams. For wider chains we support across all products, check the full list of supported chains.

NameTypeChain IDEvmChainInternal Transaction SupportBlocks Until Confirmed
Ethereum Mainnet logoEthereum Mainnet
Mainnet0x1 (1)EvmChain.ETHEREUM12
Ethereum Sepolia logoEthereum Sepolia
Testnet0xaa36a7 (11155111)EvmChain.SEPOLIA18
Ethereum Holesky logoEthereum Holesky
Testnet0x4268 (17000)EvmChain.HOLESKY18
Polygon Mainnet logoPolygon Mainnet
Mainnet0x89 (137)EvmChain.POLYGON100
Polygon Amoy logoPolygon Amoy
Testnet0x13882 (80002)EvmChain.POLYGON_AMOY100
Binance Smart Chain Mainnet logoBinance Smart Chain Mainnet
Mainnet0x38 (56)EvmChain.BSC18
Binance Smart Chain Testnet logoBinance Smart Chain Testnet
Testnet0x61 (97)EvmChain.BSC_TESTNET18
Arbitrum logoArbitrum
Mainnet0xa4b1 (42161)EvmChain.ARBITRUM18
Arbitrum Sepolia logoArbitrum Sepolia
Testnet0x66eee (421614)EvmChain.ARBITRUM_SEPOLIA600
Base logoBase
Mainnet0x2105 (8453)EvmChain.BASE100
Base Sepolia logoBase Sepolia
Testnet0x14a34 (84532)EvmChain.BASE_SEPOLIA100
Optimism logoOptimism
Mainnet0xa (10)EvmChain.OPTIMISM500
Optimism Sepolia logoOptimism Sepolia
Testnet0xaa37dc (11155420)EvmChain.OPTIMISM_SEPOLIA600
NewLinea logoLinea
Mainnet0xe708 (59144)EvmChain.LINEA100
NewLinea Sepolia logoLinea Sepolia
Testnet0xe705 (59141)EvmChain.LINEA_SEPOLIA100
Avalanche logoAvalanche
Mainnet0xa86a (43114)EvmChain.AVALANCHE100
Fantom Mainnet logoFantom Mainnet
Mainnet0xfa (250)EvmChain.FANTOM100
Fantom Testnet logoFantom Testnet
Testnet0xfa2 (4002)EvmChain.FANTOM_TESTNET100
Cronos Mainnet logoCronos Mainnet
Mainnet0x19 (25)EvmChain.CRONOS
Unsupported
100
Palm logoPalm
Mainnet0x2a15c308d (11297108109)EvmChain.PALM
Unsupported
36
Gnosis logoGnosis
Mainnet0x64 (100)EvmChain.GNOSIS
Unsupported
100
Gnosis Chiado logoGnosis Chiado
Testnet0x27d8 (10200)EvmChain.GNOSIS_TESTNET
Unsupported
100
Chiliz Mainnet logoChiliz Mainnet
Mainnet0x15b38 (88888)EvmChain.CHILIZ100
Chiliz Testnet logoChiliz Testnet
Testnet0x15b32 (88882)EvmChain.CHILIZ_TESTNET100
Pulsechain logoPulsechain
Mainnet0x171 (369)EvmChain.PULSECHAIN
Unsupported
100
Moonbeam logoMoonbeam
Mainnet0x504 (1284)EvmChain.MOONBEAM
Unsupported
100
Moonriver logoMoonriver
Testnet0x505 (1285)EvmChain.MOONRIVER
Unsupported
100
Moonbase logoMoonbase
Testnet0x507 (1287)EvmChain.MOONBASE
Unsupported
100
NewFlow logoFlow
Mainnet0x2eb (747)EvmChain.FLOW100
NewFlow Testnet logoFlow Testnet
Testnet0x221 (545)EvmChain.FLOW_TESTNET100
NewRonin logoRonin
Mainnet0x7e4 (2020)EvmChain.RONIN100
NewRonin Saigon Testnet logoRonin Saigon Testnet
Testnet0x7e5 (2021)EvmChain.RONIN_TESTNET100
NewLisk logoLisk
Mainnet0x46f (1135)EvmChain.LISK100
NewLisk Sepolia Testnet logoLisk Sepolia Testnet
Testnet0x106a (4202)EvmChain.LISK_SEPOLIA100
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