80trust / 100

Alerts Subscriptions

by Market Intelligence API in Markets & finance

x402 APIPassing, checked 5 h ago

Crypto and stock alerts by webhook: one POST buys a 7-day pack of up to 200 signed deliveries to your HTTPS URL. Events: decision_change, unusual_flow, funding_extreme (Hyperliquid), material news, token_risk_change for up to 5 watched tokens, sec_filing (new Form 4, 8-K, 144, 13D/G of your tickers). Filter by symbols and forms. Use to get pushed instead of polling.

POST
https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions
Price
$0.5
per call in USDC
Uptime
100%
last 30 days
Response time
165 ms
1.5 s slowest 5%
Last check
Passed
5 h ago, next any minute now

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to call it

POST https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions

Each call costs $0.5 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

POST https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions
content-type: application/json

{
  "events": [
    "decision_change",
    "funding_extreme"
  ],
  "symbols": [
    "ETHUSD",
    "BTCUSD"
  ],
  "url": "https://your-agent.example.com/hooks/market"
}

Parameters

ParameterTypeRequiredDescription
categoriesarray of stringNo
descriptionstringNo
eventsarray of stringYes
minMaterialityintegerNo Default: 4.
symbolsarray of stringNoOnly these symbols (empty = all)
tokensarray of objectNoFor token_risk_change: {address, chain}
urlstring (uri)YesPublic HTTPS URL that receives the signed POSTs

Example response

The provider's example. We can't check it without paying.

{
  "deliveriesLeft": 200,
  "events": [
    "decision_change",
    "funding_extreme"
  ],
  "expiresAt": "2026-10-06T08:00:00Z",
  "id": "sub_3f9c2a61d0b84e5a9c7e1f20",
  "secret": "whsec_...",
  "status": "active"
}

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.5.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions' \
  -H 'content-type: application/json' \
  --data-raw '{"events":["decision_change","funding_extreme"],"symbols":["ETHUSD","BTCUSD"],"url":"https://your-agent.example.com/hooks/market"}'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions' \
  -H 'content-type: application/json' \
  --data-raw '{"events":["decision_change","funding_extreme"],"symbols":["ETHUSD","BTCUSD"],"url":"https://your-agent.example.com/hooks/market"}' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.5 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.5" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.5 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.marketintelligenceapi.com%2Fapi%2Fv1%2Falerts%2Fsubscriptions&method=POST
const res = await pay("https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    "events": [
      "decision_change",
      "funding_extreme"
    ],
    "symbols": [
      "ETHUSD",
      "BTCUSD"
    ],
    "url": "https://your-agent.example.com/hooks/market"
  }),
});
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.5 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.5"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.post(
        "https://api.marketintelligenceapi.com/api/v1/alerts/subscriptions",
        json={
            "events": [
                "decision_change",
                "funding_extreme",
            ],
            "symbols": [
                "ETHUSD",
                "BTCUSD",
            ],
            "url": "https://your-agent.example.com/hooks/market",
        },
    )
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
5 h agoPassed402143 ms$0.5
10 h agoPassed402235 ms$0.5
14 h agoPassed402318 ms$0.5
19 h agoPassed402157 ms$0.5
24 h agoPassed40264 ms$0.5
Show 10 older checks
28 h agoPassed402167 ms$0.5
32 h agoPassed402216 ms$0.5
36 h agoPassed402221 ms$0.5
41 h agoPassed402215 ms$0.5
45 h agoPassed402160 ms$0.5
2 days agoPassed40274 ms$0.5
2 days agoPassed40246 ms$0.5
2 days agoPassed4024.0 s$0.5
3 days agoPassed402403 ms$0.5
3 days agoPassed402212 ms$0.5

History

16 Oct 2026Price on Base changed from 446200 units of 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42 to 444400 units of 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42; Price on eip155:480 changed from 446200 units of 0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B to 444400 units of 0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B
15 Oct 2026Price on Base changed from 446700 units of 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42 to 446200 units of 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42; Price on eip155:480 changed from 446700 units of 0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B to 446200 units of 0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B