Stream Management
Moralis Stream Management allows you to monitor, update, and pause streams with ease. Programmatically or via the web UI, you can get a list of all your streams, set settings, and update the status of a stream. Get started with Moralis Stream Management today!
GET Streamsβ
You can see a list of all your streams by calling the following method:
const streams = await Moralis.Streams.getAll({
limit: 100, // limit the number of streams to return
});
Or you can see all streams in the Admin Panel
Or you can see all streams in the Admin Panel
Response
{
"result": \[
{
"webhookUrl": "string",
"description": "string",
"tag": "string",
"topic0": \[],
"includeNativeTxs": true,
"allAddresses": false,
"includeContractLogs": true,
"advancedOptions": [{
"topic0": "string",
"includeNativeTxs": true,
"filter": {}
}],
"abi": \[],
"filter": "string",
"address": "string",
"chainIds": [
"string"
],
"id": "3fa84f64-5717-4562-b3fc-2c963f66afa6",
"status": "active",
"statusMessage": "string"
}
],
"cursor": "string",
"total": 1
}
Monitor Streamβ
Sometimes you want to check if a stream is still active or if something went wrong. When you query all your streams you can see the status of the stream. There are three possible states: active
, paused
and error
.
Stream Settingsβ
Moralis sets a default region for your stream. You can change the region anytime. Choose the region that is closest to your backend for the best performance.
Set Settingsβ
Programmatically
import Moralis from "moralis";
Moralis.start({
apiKey: "YOUR_API_KEY",
});
await Moralis.Streams.setSettings({
region: "eu-central-1", // 'us-east-1' | 'us-west-2' | 'eu-central-1'
});
Via WebUI
- Go to Settings
- Choose a region which is closest to your backend
- Click on Save Changes
Update Streamβ
In some cases you want to add a chain to an already existing stream or change the webhook url. Luckily you can easily update your streams.
Programmatically
Example on how to update the webhook url of a stream:
import Moralis from "moralis";
Moralis.start({
apiKey: "YOUR_API_KEY",
});
await Moralis.Streams.update({
id: "STREAM_ID",
webhook: "<https://YOUR_NEW_WEBHOOK_URL>",
});
Via WebUI
- Go to Streams.
- Hover on the last column of the streams table. You will be able to see more options. (Edit, Delete, Pause Stream).
- Select
Edit
to go to edit form page. - Change the things you want to update
- Click on
Edit Stream
Update/Pause a Streamβ
You can update the status of a stream at any time. Possible values for status are active
, paused
and error
.
For example: In some cases you might want to pause a stream. You can do this by calling the specific endpoint.
Programmatically
await Moralis.Streams.updateStatus({
id: "YOUR_STREAM_ID",
status: "paused",
});
Via WebUI
- Go to Streams.
- Hover on the last column of the streams table. You will be able to see more options. (Edit, Delete, Pause Stream).
- Select Pause Stream to change the status of your stream
Via HTTP Request
curl -X 'POST'
'<https://api.moralis-streams.com/streams/evm/STREAM_ID/status>'
-H 'accept: application/json'
-H 'x-api-key: YOUR_API_KEY'
-H 'Content-Type: application/json'
-d '{"status": "paused"}'