Live response
Endpoint response
developer onboarding
Use live public endpoints, inspect the current OpenAPI contract, then copy the exact JS, Python, or curl call you need for the authenticated path once you are ready to monitor a real wallet.
Live console
Public endpoints
Live response
Code snippets
Authenticated path
Sample webhook payload
Use this shape to wire Slack, PagerDuty, or your own response worker before a real wallet is added.
{
"id": 42,
"event": "wallet.alert.triggered",
"detectedAt": 1741550000000,
"walletAddress": "0x8f5b8f1d39c0c9e4d5d6ddfb66914318e403d5c6",
"severity": "critical",
"anomalyType": "large_transfer",
"txHash": "0x2df3271e5f7b72b5d6c9a98887c182d6e25cf0f6be6b8f78f8bbf6f0a3a4b2c1",
"details": {
"direction": "outbound",
"thresholdWei": "5000000000000000000",
"valueWei": "12750000000000000000",
"chainId": 8453
}
}
Alert rule example
Threshold-only alerts are fine for day one. Teams usually add direction, severity, and wallet scoping immediately after the first real incident.
{
"name": "High-value treasury outflow",
"walletAddress": "0x8f5b8f1d39c0c9e4d5d6ddfb66914318e403d5c6",
"channels": [
"webhook",
"telegram"
],
"mode": "all",
"severity": "critical",
"conditions": [
{
"field": "txType",
"operator": "eq",
"value": "eth_transfer"
},
{
"field": "valueWei",
"operator": "gte",
"value": "10000000000000000000"
},
{
"field": "direction",
"operator": "eq",
"value": "outbound"
}
]
}
Webhook create snippet
This request is the handoff point from “the API looks real” to “my wallet is actually monitored.”
$ curl
curl -X POST https://api.0agent.ai/api/webhooks \
-H 'Content-Type: application/json' \
-H 'X-API-Key: owk_...' \
-d '{
"url": "https://ops.example.com/0watch",
"wallet_address": "0x8f5b8f1d39c0c9e4d5d6ddfb66914318e403d5c6",
"threshold_eth": 5
}'
$ javascript
const res = await fetch('https://api.0agent.ai/api/webhooks', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': process.env.OWATCH_API_KEY,
},
body: JSON.stringify({
url: 'https://ops.example.com/0watch',
wallet_address: '0x8f5b8f1d39c0c9e4d5d6ddfb66914318e403d5c6',
threshold_eth: 5,
}),
});
const json = await res.json();
$ python
import os
import requests
res = requests.post(
'https://api.0agent.ai/api/webhooks',
headers={
'Content-Type': 'application/json',
'X-API-Key': os.environ['OWATCH_API_KEY'],
},
json={
'url': 'https://ops.example.com/0watch',
'wallet_address': '0x8f5b8f1d39c0c9e4d5d6ddfb66914318e403d5c6',
'threshold_eth': 5,
},
timeout=10,
)
json = res.json()
Next steps