From 75db33318d76218011bc98ef952d31db237ae6db Mon Sep 17 00:00:00 2001 From: GTCC777 <255618185+GTCC777@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:08:26 +0000 Subject: [PATCH 1/3] =?UTF-8?q?Add=20Pulse=20Verify=20connector=20?= =?UTF-8?q?=E2=80=94=20pre-execution=20verification=20data=20via=20x402?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude-plugin/marketplace.json | 105 ++++++++++++-- .../.claude-plugin/plugin.json | 11 ++ .../.codex-plugin/plugin.json | 23 +++ .../yield-xyz-agentkit-pulse-verify/README.md | 66 +++++++++ .../yield-xyz-agentkit-pulse-verify/SKILL.md | 137 ++++++++++++++++++ .../references/endpoints.md | 64 ++++++++ 6 files changed, 391 insertions(+), 15 deletions(-) create mode 100644 plugins/yield-xyz-agentkit-pulse-verify/.claude-plugin/plugin.json create mode 100644 plugins/yield-xyz-agentkit-pulse-verify/.codex-plugin/plugin.json create mode 100644 plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/README.md create mode 100644 plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md create mode 100644 plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 37497e1..b5e44a4 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -11,53 +11,128 @@ "plugins": [ { "name": "yield-xyz-agentkit", - "description": "Discover and manage on-chain yield opportunities using the Yield.xyz API — find yields, build transactions, and check balances across 80+ networks. The base plugin.", + "description": "Discover and manage on-chain yield opportunities using the Yield.xyz API \u2014 find yields, build transactions, and check balances across 80+ networks. The base plugin.", "version": "1.0.0", "source": "./plugins/yield-xyz-agentkit", - "author": { "name": "Yield.xyz", "url": "https://yield.xyz" }, + "author": { + "name": "Yield.xyz", + "url": "https://yield.xyz" + }, "homepage": "https://docs.yield.xyz", "repository": "https://github.com/stakekit/agentkit", - "keywords": ["defi", "yield", "staking", "lending", "web3", "ethereum", "solana"] + "keywords": [ + "defi", + "yield", + "staking", + "lending", + "web3", + "ethereum", + "solana" + ] }, { "name": "yield-xyz-agentkit-builder", - "description": "Build applications that integrate the Yield.xyz API — generate integration code for DeFi yield across 80+ networks.", + "description": "Build applications that integrate the Yield.xyz API \u2014 generate integration code for DeFi yield across 80+ networks.", "version": "1.0.0", "source": "./plugins/yield-xyz-agentkit-builder", - "author": { "name": "Yield.xyz", "url": "https://yield.xyz" }, + "author": { + "name": "Yield.xyz", + "url": "https://yield.xyz" + }, "homepage": "https://docs.yield.xyz", "repository": "https://github.com/stakekit/agentkit", - "keywords": ["defi", "yield", "sdk", "developer", "web3", "integration"] + "keywords": [ + "defi", + "yield", + "sdk", + "developer", + "web3", + "integration" + ] }, { "name": "yield-xyz-agentkit-privy", - "description": "The Privy connector — sign and broadcast Yield.xyz transactions via Privy agentic wallets. Builds on the yield-xyz-agentkit base plugin.", + "description": "The Privy connector \u2014 sign and broadcast Yield.xyz transactions via Privy agentic wallets. Builds on the yield-xyz-agentkit base plugin.", "version": "1.0.0", "source": "./plugins/yield-xyz-agentkit-privy", - "author": { "name": "Yield.xyz", "url": "https://yield.xyz" }, + "author": { + "name": "Yield.xyz", + "url": "https://yield.xyz" + }, "homepage": "https://docs.yield.xyz", "repository": "https://github.com/stakekit/agentkit", - "keywords": ["defi", "yield", "privy", "connector", "agentic-wallet", "signing", "web3"] + "keywords": [ + "defi", + "yield", + "privy", + "connector", + "agentic-wallet", + "signing", + "web3" + ] }, { "name": "yield-xyz-agentkit-moonpay", - "description": "The MoonPay connector — sign and broadcast Yield.xyz transactions via MoonPay. Builds on the yield-xyz-agentkit base plugin.", + "description": "The MoonPay connector \u2014 sign and broadcast Yield.xyz transactions via MoonPay. Builds on the yield-xyz-agentkit base plugin.", "version": "1.0.0", "source": "./plugins/yield-xyz-agentkit-moonpay", - "author": { "name": "Yield.xyz", "url": "https://yield.xyz" }, + "author": { + "name": "Yield.xyz", + "url": "https://yield.xyz" + }, "homepage": "https://docs.yield.xyz", "repository": "https://github.com/stakekit/agentkit", - "keywords": ["defi", "yield", "moonpay", "connector", "wallet", "signing", "web3"] + "keywords": [ + "defi", + "yield", + "moonpay", + "connector", + "wallet", + "signing", + "web3" + ] }, { "name": "yield-xyz-agentkit-robinhood", - "description": "The Robinhood Chain connector — configure Robinhood Chain (mainnet, chain ID 4663) and act on Yield.xyz yields there. Builds on the yield-xyz-agentkit base plugin.", + "description": "The Robinhood Chain connector \u2014 configure Robinhood Chain (mainnet, chain ID 4663) and act on Yield.xyz yields there. Builds on the yield-xyz-agentkit base plugin.", "version": "1.1.0", "source": "./plugins/yield-xyz-agentkit-robinhood", - "author": { "name": "Yield.xyz", "url": "https://yield.xyz" }, + "author": { + "name": "Yield.xyz", + "url": "https://yield.xyz" + }, "homepage": "https://docs.yield.xyz", "repository": "https://github.com/stakekit/agentkit", - "keywords": ["defi", "yield", "robinhood", "connector", "mainnet", "evm", "web3"] + "keywords": [ + "defi", + "yield", + "robinhood", + "connector", + "mainnet", + "evm", + "web3" + ] + }, + { + "name": "yield-xyz-agentkit-pulse-verify", + "description": "The Pulse Network verification connector \u2014 deterministic pre-execution checks (token safety, holder concentration, exit depth, independent APY reads) before Yield.xyz actions, paid per call via x402. Builds on the yield-xyz-agentkit base plugin.", + "version": "1.0.0", + "source": "./plugins/yield-xyz-agentkit-pulse-verify", + "author": { + "name": "Pulse Network (The Aslan Group LLC)", + "url": "https://pulse.theaslangroupllc.com" + }, + "homepage": "https://pulse.theaslangroupllc.com", + "repository": "https://github.com/stakekit/agentkit", + "keywords": [ + "defi", + "yield", + "verification", + "token-safety", + "x402", + "connector", + "web3" + ] } ] } diff --git a/plugins/yield-xyz-agentkit-pulse-verify/.claude-plugin/plugin.json b/plugins/yield-xyz-agentkit-pulse-verify/.claude-plugin/plugin.json new file mode 100644 index 0000000..8a2da1e --- /dev/null +++ b/plugins/yield-xyz-agentkit-pulse-verify/.claude-plugin/plugin.json @@ -0,0 +1,11 @@ +{ + "name": "yield-xyz-agentkit-pulse-verify", + "description": "The Pulse Network verification connector — deterministic pre-execution checks (token safety, holder concentration, exit depth, independent APY reads) before Yield.xyz actions. Pay-per-call via x402, no API key. Builds on the yield-xyz-agentkit base plugin.", + "version": "1.0.0", + "author": { "name": "Pulse Network (The Aslan Group LLC)", "url": "https://pulse.theaslangroupllc.com" }, + "homepage": "https://pulse.theaslangroupllc.com", + "repository": "https://github.com/stakekit/agentkit", + "keywords": ["defi", "yield", "verification", "token-safety", "x402", "connector", "web3"], + "dependencies": ["yield-xyz-agentkit"], + "components": { "skills": ["./skills"] } +} diff --git a/plugins/yield-xyz-agentkit-pulse-verify/.codex-plugin/plugin.json b/plugins/yield-xyz-agentkit-pulse-verify/.codex-plugin/plugin.json new file mode 100644 index 0000000..9eb0f3a --- /dev/null +++ b/plugins/yield-xyz-agentkit-pulse-verify/.codex-plugin/plugin.json @@ -0,0 +1,23 @@ +{ + "name": "yield-xyz-agentkit-pulse-verify", + "version": "1.0.0", + "description": "The Pulse Network verification connector — deterministic pre-execution checks (token safety, holder concentration, exit depth, independent APY reads) before Yield.xyz actions. Requires the yield-xyz-agentkit plugin — install it too.", + "author": { "name": "Pulse Network (The Aslan Group LLC)", "url": "https://pulse.theaslangroupllc.com" }, + "homepage": "https://pulse.theaslangroupllc.com", + "repository": "https://github.com/stakekit/agentkit", + "license": "MIT", + "keywords": ["defi", "yield", "verification", "token-safety", "x402", "connector", "web3"], + "skills": "./skills", + "interface": { + "displayName": "Yield.xyz AgentKit + Pulse Verify", + "shortDescription": "Deterministic pre-execution verification for yields — pay-per-call via x402.", + "longDescription": "Connects the Yield.xyz AgentKit to Pulse Network's verification endpoints: token safety scans, holder concentration, exit depth, and independent on-chain APY reads, each paid per call in USDC via x402 with no API key. Install alongside the Yield.xyz AgentKit plugin.", + "category": "Finance", + "capabilities": ["Read"], + "websiteURL": "https://pulse.theaslangroupllc.com", + "privacyPolicyURL": "https://onchainpulse.theaslangroupllc.com/privacy.html", + "termsOfServiceURL": "https://onchainpulse.theaslangroupllc.com/terms.html", + "defaultPrompt": ["Verify this yield's reward token before I enter.", "Cross-check this vault's APY against on-chain state.", "Run a full due-diligence report on this token."], + "brandColor": "#0A6E5C" + } +} diff --git a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/README.md b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/README.md new file mode 100644 index 0000000..068b4f5 --- /dev/null +++ b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/README.md @@ -0,0 +1,66 @@ +# Yield.xyz AgentKit Skill × Pulse Verify + +> The Pulse Network verification connector for the Yield.xyz AgentKit. Adds a +> deterministic verification step — token safety, holder concentration, exit +> depth, independent on-chain APY reads — between yield discovery and execution. +> Pay-per-call in USDC via x402: no API key, no signup. + +--- + +## How it works + +One MCP server plus paid HTTPS calls: + +``` +User prompt + │ + ▼ +Yield.xyz AgentKit MCP Pulse Network (x402 HTTPS) +───────────────────── ─────────────────────────── +yields_get_all / yields_get → /api/evmtoken (token safety, $0.015) + → /api/vault-apy (on-chain APY read, $0.02) + → /api/holder-map (concentration, $0.02) + → /api/receipts (full report, $0.35) + │ │ + ▼ ▼ + user reviews the yield + the verification facts, then decides + │ + ▼ +actions_enter (base skill builds the unsigned transaction as usual) +``` + +**Yield.xyz AgentKit** handles: yield discovery, transaction building, signing flow. +**Pulse Verify** handles: read-only verification data, paid per call via x402. + +This skill never builds, signs, or modifies transactions, and it reports facts — +scan verdicts, percentages, on-chain reads — never advice. + +--- + +## Install + +Claude Code: + +``` +/plugin marketplace add stakekit/agentkit +/plugin install yield-xyz-agentkit-pulse-verify@agentkit +``` + +Requires the `yield-xyz-agentkit` base plugin. + +--- + +## Example prompts + +- "Before I enter this yield, scan its reward token." +- "Cross-check this vault's advertised APY against on-chain state." +- "How concentrated are the holders of this token, and what happens to the price if I exit $10k?" +- "Run the full due-diligence report on this token and show me the receipt." + +--- + +## Links + +- Catalog (machine-readable): https://pulse.theaslangroupllc.com/.well-known/x402 +- Endpoint reference: [`references/endpoints.md`](references/endpoints.md) +- Terms: https://onchainpulse.theaslangroupllc.com/terms.html diff --git a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md new file mode 100644 index 0000000..61636de --- /dev/null +++ b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md @@ -0,0 +1,137 @@ +--- +name: yield-xyz-agentkit-pulse-verify +description: The Pulse Network verification connector for the Yield.xyz AgentKit — deterministic pre-execution checks before entering a yield. Extends the yield-xyz-agentkit skill — that skill discovers yields and builds the unsigned transactions; this one verifies the venue first (token safety scan, holder concentration, exit depth, independent on-chain APY cross-check, optional full due-diligence report). Pay-per-call in USDC via x402, no API key or signup. Use when the user wants verification data on a yield, its underlying or reward token, or an independent second source on an advertised APY before actions_enter. +metadata: + author: Pulse Network (The Aslan Group LLC) + version: "1.0.0" +--- + +# Yield.xyz AgentKit × Pulse Verify + +The **verification connector** for the Yield.xyz AgentKit: before an agent enters a +position, Pulse Network endpoints return deterministic, machine-readable facts about +the venue — is the token a honeypot, who holds it, what happens on exit, and does the +advertised APY match on-chain state right now. + +`yield-xyz-agentkit` (this skill's base) owns all yield logic — discovery, schemas, +transaction building, signing flow. This skill only adds a verification step between +discovery and execution. It is **read-only**: it never builds, signs, or modifies +transactions, and it never holds funds. + +``` +yield-xyz-agentkit → discover yield (yields_get_all / yields_get) +Pulse Verify → verify token + venue + APY (paid HTTP calls via x402) +user → sees the verification facts, decides +yield-xyz-agentkit → build unsignedTransaction (actions_enter) if the user proceeds +``` + +--- + +## What this skill is NOT + +- **Not financial advice.** Every response is deterministic data (scan verdicts, + concentration percentages, on-chain reads). Surface the facts to the user verbatim; + the decision to enter, skip, or exit a yield is always the user's. +- **Not a gatekeeper.** A `CAUTION`/`AVOID` scan verdict does not block the base + skill — report it and let the user decide. +- **Not a signer.** Nothing here touches `unsignedTransaction`. + +--- + +## Payment: x402, no API key + +Every Pulse endpoint is a plain HTTPS GET that returns **HTTP 402** with an x402 v2 +challenge when unpaid. Pay with any x402 client (`@x402/core`-compatible wallets, +Circle Gateway nanopayments, MoonPay Paybox, Coinbase CDP payers). Settlement rails +advertised per call include USDC on Base plus 10+ other networks — pick whichever +your wallet supports from the 402 `accepts` array. + +Typical flow: `GET → 402 (challenge) → sign payment → retry with PAYMENT-SIGNATURE +→ 200 + PAYMENT-RESPONSE receipt`. Prices are fixed per endpoint ($0.015–$0.35) and +shown in the challenge. No account, no key, no subscription. + +See `references/endpoints.md` for the full endpoint list, prices, parameters, and +response shapes. + +--- + +## Verification flow + +### Step 1 — Resolve what to verify + +From the `yields_get` response, collect: +- the **deposit token** (what the user hands over), +- the **reward/receipt token** (what the position pays or mints), +- the **network** and, for Base USDC lending/vaults, the **protocol name**. + +### Step 2 — Scan the tokens (recommended default) + +For each non-bluechip token (skip natives and canonical stables like USDC): + +| Network | Endpoint | Price | +|---|---|---| +| Base + EVM chains | `GET /api/evmtoken?address=&chain=` | $0.015 | +| Solana | `GET /api/memecoin?mint=` | $0.015 | +| Algorand | `GET /api/asatoken?asset=` | $0.015 | + +Each returns a deterministic `verdict` (`CLEAR` / `CAUTION` / `AVOID`), a +`risk_score`, `red_flags[]`, and `green_flags[]`. Report the verdict and flags to +the user as-is. + +### Step 3 — Cross-check the APY (Base USDC lending/vaults) + +`GET /api/vault-apy` ($0.02) reads live USDC supply APYs on Base **directly from +chain state** (Aave v3, Compound v3, Moonwell, Euler v2, and the largest Morpho +MetaMorpho USDC vaults) — an independent second source +to compare against any aggregator-reported rate. If the two disagree materially, +tell the user both numbers and the timestamps. + +### Step 4 — Depth and concentration (long-tail tokens, optional) + +- `GET /api/holder-map?address=&chain=` ($0.02) — holder concentration + across Solana + 8 EVM chains: top-holder percentages, cluster analysis. +- `GET /api/exit-depth?token=
&chain=` ($0.02) — sell-impact estimate + for Uniswap-v3-compatible pools: what exiting a position of size X does to price. + +### Step 5 — Full report (high-value entries, optional) + +`GET /api/receipts?address=&chain=` ($0.35) — the complete +due-diligence report in one call: contract safety, holders, liquidity, provenance, +and narrative-vs-chain consistency, with a receipt suitable for audit trails. + +--- + +## When to run which check + +| Situation | Checks | +|---|---| +| Bluechip yield (Aave/Lido-class, canonical assets) | Step 3 only | +| Any yield paying or minting a non-bluechip token | Steps 2 + 3 | +| Long-tail / newly listed token | Steps 2 + 3 + 4 | +| Large position or treasury entry | Steps 2–5 | + +Keep it proportional: each check is a paid call the user funds. State the price +before running a batch, and skip checks the user declines. + +--- + +## CRITICAL + +- **Report, don't decide.** Verdicts and numbers go to the user; this skill never + auto-blocks or auto-approves an action. +- **Never modify `unsignedTransaction`** — that rule from the base skill applies + here absolutely; this skill has no business near transaction bytes. +- **Quote prices before batches.** Multiple checks = multiple paid calls; the user + should know the total (e.g., "3 checks ≈ $0.05") before you fire them. +- If an endpoint returns 402 after payment (settlement failure), the buyer was not + charged — retry once, then report the failure. Never fabricate a verdict for a + failed call. + +--- + +## Discovery + +The full Pulse Network catalog (75 intelligence APIs, 916 pay-per-call endpoints — +finance, travel, sports, health, legal, climate, and more, all x402) is +machine-readable at `https://pulse.theaslangroupllc.com/.well-known/pulse-catalog.json`. +Each service also publishes `/openapi.json` and `/.well-known/x402` on its own origin. diff --git a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md new file mode 100644 index 0000000..2b52f4d --- /dev/null +++ b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md @@ -0,0 +1,64 @@ +# Pulse Verify — Endpoint Reference + +Base origin: `https://onchainpulse.theaslangroupllc.com` + +All endpoints are `GET`, return JSON, and are x402-paywalled: an unpaid request +returns HTTP 402 with a v2 challenge (`PAYMENT-REQUIRED` header + JSON body whose +`accepts` array lists every settlement option and whose `extensions.bazaar` block +carries the full input/output schema). Prices below are per call, in USDC. + +## Token safety scans — $0.015 + +| Endpoint | Required | Optional | Covers | +|---|---|---|---| +| `/api/evmtoken` | `address` | `chain` (default base; also ethereum, bsc, arbitrum, polygon, optimism, avalanche, robinhood) | Honeypot, rug, tax, ownership, mint/pause traps for EVM tokens | +| `/api/memecoin` | `mint` | — | Solana SPL token safety (authorities, LP, holders) | +| `/api/asatoken` | `asset` (ASA id) | — | Algorand ASA safety | + +Response shape (all three): `{ verdict: "CLEAR"|"CAUTION"|"AVOID", is_safe, risk_score, +one_liner, red_flags[], green_flags[], ... }` — deterministic rule-based output, no +model in the loop. + +## Independent APY reads — $0.02 + +`/api/vault-apy` — live USDC supply APYs on Base read directly from chain state +(Aave v3, Compound v3, Moonwell, Euler v2, the largest Morpho MetaMorpho USDC +vaults, plus any ERC-4626 vault you pass). +Params: `window` (1|7|30 days, default 7), `vault` (optional 0x… ERC-4626 address +to read alongside the panel), `scope` (`pools`|`vaults`|`all`, default all). +Use as a second source against aggregator-reported rates. + +## Structure checks — $0.02 + +- `/api/holder-map` — `address` (required), `chain` (optional; Solana + 8 EVM + chains). Top-holder percentages and cluster/concentration analysis. +- `/api/exit-depth` — `token` or `pool`, plus optional `chain`. Sell-impact + estimate for Uniswap-v3-compatible pools: price impact of exiting size X. + +## Full due diligence — $0.35 + +`/api/receipts` — `address` (required), `chain` + project `url` (optional). +One-call report: contract safety, holders, liquidity, provenance, and +narrative-vs-chain consistency, returned with a receipt suitable for audit trails. + +## Paying the 402 + +Any x402-v2 client works. The `accepts` array on every challenge advertises +multiple rails — USDC on Base (vanilla exact scheme and Circle Gateway +nanopayments), plus Solana, Polygon, Arbitrum, World Chain, HyperEVM, Monad, +Algorand, XRPL, and more. Example with the standard TypeScript client: + +```ts +import { x402HTTPClient } from '@x402/core/http'; +// wrap your signer; then: +const res = await client.get('https://onchainpulse.theaslangroupllc.com/api/evmtoken?address=0x...&chain=base'); +``` + +Wallet-side alternatives that speak x402 today: Coinbase CDP payer SDKs, Circle +CLI / Agent Wallets (Gateway nanopayments), MoonPay Paybox. + +## Full catalog + +Machine-readable index of all 75 Pulse Network services (916 endpoints): +`https://pulse.theaslangroupllc.com/.well-known/pulse-catalog.json` — every entry +lists origin, endpoints, and prices; each origin also serves `/openapi.json`. From c95b10137fc8bd0eaac2ca8980e38514143f17a8 Mon Sep 17 00:00:00 2001 From: GTCC777 <255618185+GTCC777@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:32:51 +0000 Subject: [PATCH 2/3] Address Bugbot review: map actual Yield fields to scan params, scope Step 3 to Base USDC --- .../yield-xyz-agentkit-pulse-verify/SKILL.md | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md index 61636de..9187c34 100644 --- a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md +++ b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md @@ -59,10 +59,22 @@ response shapes. ### Step 1 — Resolve what to verify -From the `yields_get` response, collect: -- the **deposit token** (what the user hands over), -- the **reward/receipt token** (what the position pays or mints), -- the **network** and, for Base USDC lending/vaults, the **protocol name**. +Scans take **contract addresses, not symbols**. Map the Yield object from +`yields_get` to scan inputs like this: + +- **Deposit side** — `token` and `inputTokens[]`: each entry's `address` field + is a scan candidate. Entries without an `address` are native assets — skip + them (natives aren't scannable and don't need to be). +- **Receipt/reward side** — `outputToken` (and reward tokens where the yield + exposes them): the token the position mints or pays. Its `address` is usually + the more important scan for long-tail yields. +- **Network** — the yield's network id: selects the scanner and its parameter + (`address` on EVM chains, `mint` on Solana, `asset` id on Algorand). +- **Protocol** — `providerId`: used in Step 3 to match against the Base USDC + panel entries. + +Note: `yields_get_all` list items carry only `tokenSymbol` — call `yields_get` +on the specific yield first to get the full token objects with `address` fields. ### Step 2 — Scan the tokens (recommended default) @@ -78,7 +90,10 @@ Each returns a deterministic `verdict` (`CLEAR` / `CAUTION` / `AVOID`), a `risk_score`, `red_flags[]`, and `green_flags[]`. Report the verdict and flags to the user as-is. -### Step 3 — Cross-check the APY (Base USDC lending/vaults) +### Step 3 — Cross-check the APY (Base USDC lending/vaults ONLY) + +Applies only when the yield is a USDC lending market or ERC-4626 vault **on +Base** — skip this step for every other network or asset. `GET /api/vault-apy` ($0.02) reads live USDC supply APYs on Base **directly from chain state** (Aave v3, Compound v3, Moonwell, Euler v2, and the largest Morpho @@ -105,10 +120,11 @@ and narrative-vs-chain consistency, with a receipt suitable for audit trails. | Situation | Checks | |---|---| -| Bluechip yield (Aave/Lido-class, canonical assets) | Step 3 only | -| Any yield paying or minting a non-bluechip token | Steps 2 + 3 | -| Long-tail / newly listed token | Steps 2 + 3 + 4 | -| Large position or treasury entry | Steps 2–5 | +| Bluechip **Base USDC** lending/vault (Aave-class) | Step 3 | +| Bluechip yield elsewhere (canonical assets, major protocols) | usually none — scans add little | +| Any yield paying or minting a non-bluechip token | Step 2 (+ Step 3 if it's a Base USDC product) | +| Long-tail / newly listed token | Steps 2 + 4 | +| Large position or treasury entry | Steps 2, 4, 5 (+ Step 3 if Base USDC) | Keep it proportional: each check is a paid call the user funds. State the price before running a batch, and skip checks the user declines. From ec6589f957af33ac98dc812a1984e88b81e25692 Mon Sep 17 00:00:00 2001 From: GTCC777 <255618185+GTCC777@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:57:05 +0000 Subject: [PATCH 3/3] Update catalog counts to current canonical figures (77 services / 969 endpoints) --- .../skills/yield-xyz-agentkit-pulse-verify/SKILL.md | 2 +- .../yield-xyz-agentkit-pulse-verify/references/endpoints.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md index 9187c34..30af7c0 100644 --- a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md +++ b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/SKILL.md @@ -147,7 +147,7 @@ before running a batch, and skip checks the user declines. ## Discovery -The full Pulse Network catalog (75 intelligence APIs, 916 pay-per-call endpoints — +The full Pulse Network catalog (77 intelligence APIs, 969 pay-per-call endpoints — finance, travel, sports, health, legal, climate, and more, all x402) is machine-readable at `https://pulse.theaslangroupllc.com/.well-known/pulse-catalog.json`. Each service also publishes `/openapi.json` and `/.well-known/x402` on its own origin. diff --git a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md index 2b52f4d..e16c7df 100644 --- a/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md +++ b/plugins/yield-xyz-agentkit-pulse-verify/skills/yield-xyz-agentkit-pulse-verify/references/endpoints.md @@ -59,6 +59,6 @@ CLI / Agent Wallets (Gateway nanopayments), MoonPay Paybox. ## Full catalog -Machine-readable index of all 75 Pulse Network services (916 endpoints): +Machine-readable index of all 77 Pulse Network services (969 endpoints): `https://pulse.theaslangroupllc.com/.well-known/pulse-catalog.json` — every entry lists origin, endpoints, and prices; each origin also serves `/openapi.json`.