- EVM
- Bitcoin
- Solana
Option 1: Create via Admin Panel
Getting Started
- Go to admin.moralis.com/streams.
- Click on Create a new Stream.
- Choose one of the EVM templates:
- Custom Event — Customizable options for events and filters, allowing precise notifications.
- Wallet Activity — Track native transactions and smart contract interactions (transfers, approvals).
- Contract Activity — Monitor smart contract events (logs).
Setting Up the Stream
- Name your stream and select the types of events you want to track.
- Set up event filtering. See Filters for details.
- Add a tag for your stream and choose if you wish to receive additional data.
- Add the addresses you wish to track.
- Pick which EVM chains should be tracked (Ethereum, Base, Polygon, etc.).
- Test your stream (optional).
- Add your webhook URL where the
POSTrequests will be sent.
For testing, you can use a service like webhook.site to receive and inspect webhooks.
- Save your configuration.
Option 2: Create via SDK
Make sure you have a Moralis API key. You can get one from the Moralis Admin Panel.
Step 1: Create a Stream
Required parameters:webhookUrl— Webhook URL where Moralis will send thePOSTrequest.description— A description for this stream.tag— A user-provided tag sent along with the webhook to identify the stream.chains— An array of EVM chain IDs to monitor (hex-encoded).- At least one of
includeContractLogs,includeNativeTxs, orincludeInternalTxsmust betrue.
- JavaScript
- Python
Step 2: Add an Address to a Stream
Now that you have a stream ID, you can add addresses to monitor. You can add individual addresses or a batch.- JavaScript
- Python
Step 3: Update a Stream (Optional)
You can update a stream to add contract log monitoring, such as listening for ERC-20 transfers.- JavaScript
- Python
Next Steps
Once your stream is created, you will receive a mandatory test webhook that you must respond to with a200 status code for the stream to activate.
- Receive Your First Webhook — Learn what to expect when webhooks start arriving.
- Webhook Security — Verify webhook signatures to ensure data authenticity.
- Filters — Fine-tune which events trigger webhooks.

