subscribe_notifications
Subscribe a wallet to push notifications (order_filled / offer_received / saved_search) via an HMAC-signed webhook — the agent-native alternative to polling. Two-step: call WITHOUT signature to get the exact message to sign (EIP-191 personal_sign), then call again WITH the signature. chainId is signed over and the signature is verified on THAT chain, so pass the chain the wallet actually signs on (smart-wallet signatures do not validate cross-chain). Each signed message is SINGLE-USE: resending the same body returns 409 replayed_signature — retry with a fresh timestamp and a new signature. The response includes the webhook HMAC secret ONCE (verify x-market0x-signature = hex(HMAC-SHA256(rawBody, secret))).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"wallet": "<wallet>",
"chainId": "<chainId>",
"channel": "<channel>",
"events": "<events>",
"timestamp": "<timestamp>"
},
"name": "subscribe_notifications"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| wallet | Yes | ||
| chainId | Yes | chain the wallet signs on; it is part of the signed message | |
| channel | Yes | ||
| signature | No | EIP-191 signature of the canonical message; omit to receive the message to sign | |
| timestamp | Yes | unix seconds; must be within 10 minutes of now | |
| webhookUrl | No | https URL; required for the webhook channel | |
| savedSearch | No |