Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add decentralized-usd/usdd-skills --skill usdd-earn-v1git clone --depth 1 https://github.com/decentralized-usd/usdd-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/decentralized-usd/usdd-skills/usdd-earn-v1)<a href="https://agentmods.dev/skills/decentralized-usd/usdd-skills/usdd-earn-v1"><img src="https://agentmods.dev/badge/skills/decentralized-usd/usdd-skills/usdd-earn-v1/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/decentralized-usd/usdd-skills/usdd-earn-v1"><img src="https://agentmods.dev/badge/skills/decentralized-usd/usdd-skills/usdd-earn-v1.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.02147 |
| Opus 5 | $0.00000 | $0.01073 |
| Sonnet 5 | $0.00000 | $0.00429 |
| Haiku 4.5 | $0.00000 | $0.00215 |
Grade A, and why
usdd-earn-v1 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
USDD Earn (Savings) — AI Agent Skill
This skill enables AI agents to inspect USDD Savings, compare APY/sUSDD supply analytics, deposit USDD to receive sUSDD, and withdraw USDD from sUSDD through the official @usdd/mcp-server-usdd MCP server.
Use the official MCP for current savings status and all writes. Use this repo's local analytics MCP for public API APY, APY history, USDD/sUSDD supply, and Earn TVL analytics.
Prerequisites
- Node.js v20+
- Official MCP installed:
npm install -g @usdd/mcp-server-usdd - This repo's MCP server registered for analytics tools
Network Scope
Official MCP supports tron, eth, bsc, tron_nile, eth_sepolia, and bsc_testnet, but Savings is only usable where get_savings_status({ network }) returns supported: true.
If an Earn request depends on a blockchain network and the user omitted it, the first response must ask which network. Do not call any MCP tool before the user names the network. Never default to TRON, tron, mainnet, testnet, set_network, get_network, or any configured default.
For USDD and Savings addresses, use the official Chainlog-backed resolver first: call get_protocol_addresses({ network }), or get_chainlog_address({ network, key }) for one known key such as MCD_USDD or SUSDD. Do not use local full-address tables or copy addresses from docs. The resolver may return live Chainlog data or cache. If it fails with TronGrid 429 or another RPC error and no cache is available, stop and ask the user to configure TRONGRID_API_KEY / TRON_FULL_NODE or the relevant RPC; do not fallback to get_protocol_overview just to discover addresses, and do not guess addresses.
Before any Earn write, call get_savings_status({ network }). If it returns supported: false, refuse the write and quote the returned message. Do not assume TRON Savings exists just because USDD exists on TRON.
Available Tools
| Tool | Inputs | Description | Write? |
|---|---|---|---|
get_savings_status (official) |
network |
Savings support, contract addresses, rate metrics, wallet shares | No |
get_protocol_addresses (official) |
network |
Chainlog-backed USDD token and protocol addresses | No |
get_chainlog_address (official) |
network, key |
Resolve one Chainlog key such as MCD_USDD or SUSDD |
No |
get_wallet_address (official) |
network |
Active MCP wallet address | No |
get_native_balance (official) |
owner?, network |
Gas-token balance | No |
get_token_balance (official) |
token, owner?, decimals?, network |
USDD / sUSDD balance | No |
check_allowance (official) |
token, spender, owner?, amount?, decimals?, network |
USDD allowance for sUSDD contract | No |
approve_token (official) |
token, spender, amount, decimals?, network |
Approve USDD for the sUSDD contract | Yes |
deposit_savings (official) |
amount, network |
Deposit USDD and mint sUSDD shares | Yes |
withdraw_savings (official) |
amount, network |
Withdraw USDD amount from sUSDD | Yes |
get_earn_apy (local MCP) |
— | Per-chain APY analytics via this repo's analytics MCP | No |
get_susdd_supply (local MCP) |
— | sUSDD supply breakdown via this repo's analytics MCP | No |
get_public_dsr_apy (local MCP) |
— | DSR APY current / average / history | No |
get_public_protocol_overview (local MCP) |
— | Public protocol overview including Earn TVL | No |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 113 lines · 0 tokens per session scan A e8ba0157c5ec
usdd-earn-v1 is a skill published in the GitHub repository decentralized-usd/usdd-skills (1 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,147 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
mpp-agent
Pay HTTP 402 APIs via Machine Payments Protocol (MPP).
bridge
Cross-chain token transfers using Wormhole and CCTP.
hyperliquid
Hyperliquid L1 perps DEX (69% market share).
marginfi
MarginFi — Solana lending and borrowing.
crypto-market-rank
Crypto market rankings and leaderboards. Query trending tokens, top searched tokens, Binance Alpha tokens, tokenized stocks, social hype sentiment ranks, smart money inflow token rankings, top meme token rankings from Pulse launchpad, and top trader PnL leaderboards. Use this skill when users ask about token rankings…
trading-signal
Subscribe and retrieve on-chain Smart Money signals. Monitor trading activities of smart money addresses, including buy/sell signals, trigger price, current price, max gain, and exit rate. Use this skill when users are looking for investment opportunities — smart money signals can serve as valuable references for…