You're viewing a demo portfolio

Join the waitlist
PRSM

alerts.watch

Active

Tool of Syenite

declared in 0.6.3

Registers a persistent background monitor that fires alerts when user-defined thresholds are crossed, persisting across server restarts. Supports four watch types: lending (monitors a wallet's health factor on Aave, Morpho, Spark, or Compound — fires when health factor drops below healthFactorThreshold), rate (monitors borrow/supply APY and pool utilization for a collateral/borrowAsset pair — fires on APY crossings via rateBorrowThreshold/rateSupplyThreshold or utilization via rateUtilizationThreshold), carry (monitors the net spread between best supply APY and cheapest borrow rate — fires when spread exceeds carryThreshold), and yield (monitors best available yield for an asset — fires when APY crosses yieldApyThreshold in the specified direction). Provide webhookUrl to receive POST payloads when alerts fire; otherwise poll alerts.check to retrieve unacknowledged alerts. Does not execute trades — alert data must be acted on by the agent. Returns a watch ID needed for alerts.remove.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "enum": [
        "lending",
        "rate",
        "carry",
        "yield"
      ],
      "type": "string",
      "default": "lending",
      "description": "Watch type: lending (health factor), rate (APY/utilization), carry (net spread), yield (best APY)"
    },
    "chain": {
      "enum": [
        "ethereum",
        "arbitrum",
        "base",
        "all"
      ],
      "type": "string",
      "description": "Chain filter (lending)"
    },
    "address": {
      "type": "string",
      "description": "EVM address to monitor (lending watches)"
    },
    "protocol": {
      "enum": [
        "aave-v3",
        "compound-v3",
        "morpho",
        "spark",
        "all"
      ],
      "type": "string",
      "description": "Protocol filter (lending)"
    },
    "rateChain": {
      "type": "string",
      "description": "Chain filter (rate)"
    },
    "yieldRisk": {
      "enum": [
        "low",
        "medium",
        "high"
      ],
      "type": "string",
      "description": "Max risk level (yield)"
    },
    "webhookUrl": {
      "type": "string",
      "description": "HTTP(S) URL to POST alerts to in real-time"
    },
    "yieldAsset": {
      "type": "string",
      "description": "Asset to watch, e.g. ETH, USDC, stables (yield)"
    },
    "yieldChains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Chains to include (yield)"
    },
    "rateProtocol": {
      "enum": [
        "aave-v3",
        "morpho",
        "spark",
        "compound-v3",
        "fluid",
        "all"
      ],
      "type": "string",
      "description": "Protocol filter (rate)"
    },
    "rateDirection": {
      "enum": [
        "above",
        "below"
      ],
      "type": "string",
      "description": "APY threshold direction (rate, default above)"
    },
    "carryThreshold": {
      "type": "number",
      "description": "Minimum net spread % to fire carry_opportunity (carry)"
    },
    "rateCollateral": {
      "type": "string",
      "description": "Collateral asset, e.g. wBTC (rate)"
    },
    "yieldDirection": {
      "enum": [
        "above",
        "below"
      ],
      "type": "string",
      "description": "APY threshold direction (yield, default above)"
    },
    "carryCollateral": {
      "type": "string",
      "description": "Collateral you post to borrow, e.g. wBTC (carry)"
    },
    "rateBorrowAsset": {
      "type": "string",
      "description": "Borrow asset, e.g. USDC (rate, default USDC)"
    },
    "carryBorrowAsset": {
      "type": "string",
      "description": "Asset you borrow, e.g. USDC (carry)"
    },
    "carrySupplyAsset": {
      "type": "string",
      "description": "Asset you supply — defaults to carryBorrowAsset (carry)"
    },
    "yieldApyThreshold": {
      "type": "number",
      "description": "APY % threshold (yield)"
    },
    "rateBorrowThreshold": {
      "type": "number",
      "description": "Borrow APY % threshold (rate)"
    },
    "rateSupplyThreshold": {
      "type": "number",
      "description": "Supply APY % threshold (rate)"
    },
    "healthFactorThreshold": {
      "type": "number",
      "maximum": 5,
      "minimum": 1,
      "description": "Alert threshold (lending, default 1.5)"
    },
    "rateUtilizationThreshold": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Utilization % threshold — fires rate_utilization; critical at ≥95% (rate)"
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

Syenite

https://github.com/syenite-ai/syenite

1/7 registries
View full server →
alerts.watch — Syenite — PRSM MCP