rates.watch
ActiveTool of Syenite
Monitor DeFi lending rates and carry opportunities without polling. Three modes: • rate — fires rate_spike when borrowAPY or supplyAPY crosses a threshold; fires rate_utilization when utilization exceeds rateUtilizationThreshold (critical at ≥95%). Each protocol/chain/market tracked independently — no false re-fires. • carry — fires carry_opportunity when (best supply APY − cheapest borrow APY) exceeds carryThreshold. Replaces manual carry screener polling. Results persisted across server restarts. Poll alerts.check to retrieve fired alerts.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"rate",
"carry"
],
"type": "string",
"description": "rate: APY/utilization threshold; carry: net spread between best supply and cheapest borrow"
},
"rateChain": {
"type": "string",
"description": "Limit to a specific chain (rate mode, default all)"
},
"webhookUrl": {
"type": "string",
"description": "HTTP(S) URL to POST alerts to in real-time"
},
"rateProtocol": {
"enum": [
"aave-v3",
"morpho",
"spark",
"compound-v3",
"fluid",
"all"
],
"type": "string",
"description": "Limit to a specific protocol (rate mode, default all)"
},
"rateDirection": {
"enum": [
"above",
"below"
],
"type": "string",
"description": "Direction for APY threshold (default above)"
},
"carryThreshold": {
"type": "number",
"description": "Minimum net spread % to fire carry_opportunity alert (carry mode)"
},
"rateCollateral": {
"type": "string",
"description": "Collateral asset, e.g. wBTC, ETH (rate mode)"
},
"carryCollateral": {
"type": "string",
"description": "Collateral you post to borrow, e.g. wBTC (carry mode)"
},
"rateBorrowAsset": {
"type": "string",
"description": "Borrow asset, e.g. USDC, USDT (rate mode, default USDC)"
},
"carryBorrowAsset": {
"type": "string",
"description": "Asset you borrow, e.g. USDC (carry mode)"
},
"carrySupplyAsset": {
"type": "string",
"description": "Asset you supply/lend — defaults to carryBorrowAsset (carry mode)"
},
"rateBorrowThreshold": {
"type": "number",
"description": "Borrow APY % to fire at (rate mode)"
},
"rateSupplyThreshold": {
"type": "number",
"description": "Supply APY % to fire at (rate mode)"
},
"rateUtilizationThreshold": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Utilization % to fire rate_utilization alert at (rate mode). Critical severity at ≥95%."
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Syenite
https://github.com/syenite-ai/syenite
1/7 registries