SolEnrich
POST api.solenrich.com/entrypoints/check-alerts/invoke
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Poll-based event detection for spot + Jupiter Perps. Pass a watchlist (<=10 tokens, <=10 wallets) and a `since` ISO 8601 timestamp; get alerts fired since then. Token alerts: price spikes/drops, whale inflow/outflow, concentration shifts. Wallet alerts: risk changes, portfolio value moves, position add/remove. Perps alerts per wallet: position add/close, at-risk, liquidation-approaching, pnl-swing. Stateless; the agent owns the `since` cursor.
Resource: api.solenrich.com/entrypoints/check-alerts/invoke
Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, eip155:8453 · Asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v · Pay to: 66Qvhr1xnwqbCT36KfHfZF1JpoWdmCQ3uFYTN335CGXe
Payment methods: — · Last validation: —
{
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"since"
],
"properties": {
"since": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp — return alerts fired since this moment"
},
"format": {
"enum": [
"json",
"llm",
"both"
],
"type": "string",
"default": "json"
},
"tokens": {
"type": "array",
"items": {
"type": "string",
"maxLength": 44,
"minLength": 32
},
"maxItems": 10,
"description": "Token mints to monitor"
},
"wallets": {
"type": "array",
"items": {
"type": "string",
"maxLength": 44,
"minLength": 32
},
"maxItems": 10,
"description": "Wallet addresses to monitor (spot + Jupiter Perps)"
},
"criteria": {
"type": "object",
"properties": {
"perp_max_leverage": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Default 10 — fire perp_at_risk when position leverage ≥ this"
},
"min_price_change_pct": {
"type": "number",
"minimum": 0,
"description": "Default 10 — fire on token price moves ≥ this percentage"
},
"min_risk_score_delta": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Default 0.15 — fire on risk score deltas ≥ this magnitude"
},
"min_whale_volume_usd": {
"type": "number",
"minimum": 0,
"description": "Default 50000 — fire on whale net flow ≥ this USD value"
},
"perp_min_pnl_swing_pts": {
"type": "number",
"minimum": 0,
"description": "Default 25 — fire pnl_swing when unrealized PnL%% moves by this many points since prior snapshot"
},
"min_portfolio_change_pct": {
"type": "number",
"minimum": 0,
"description": "Default 20 — fire on wallet portfolio moves ≥ this percentage"
},
"min_concentration_shift_pct": {
"type": "number",
"minimum": 0,
"description": "Default 5 — fire on top-1 holder concentration shifts ≥ this magnitude"
},
"perp_liquidation_buffer_pct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Default 15 — fire liquidation_approaching when collateral buffer (100%% + PnL%%) drops below this"
}
},
"description": "Optional alert thresholds"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88"
},
"payTo": "66Qvhr1xnwqbCT36KfHfZF1JpoWdmCQ3uFYTN335CGXe",
"amount": "8000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
},
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"payTo": "66Qvhr1xnwqbCT36KfHfZF1JpoWdmCQ3uFYTN335CGXe",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"amountAtomic": "8000"
},
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x8EdE9eD2E6ACdd9B2BaFa42ff4078d3F3263607c",
"amount": "8000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x8EdE9eD2E6ACdd9B2BaFa42ff4078d3F3263607c",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "8000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.