add-stablecoin

Registers new stablecoins and derivatives across classification sets, metadata YAML, feeds, and logos.

823|187|Updated Jan 30, 2022
One-click install
npx skills add https://github.com/tradingstrategy-ai/web3-ethereum-defi --skill add-stablecoin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-stablecoin
Source: https://github.com/tradingstrategy-ai/web3-ethereum-defi/tree/main/.claude/skills/add-stablecoin
Command: npx skills add https://github.com/tradingstrategy-ai/web3-ethereum-defi --skill add-stablecoin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires web3.

What problem does it solve?

Vaults whose denomination token is an unrecognized yield-bearing stablecoin get silently dropped by the price-cleaning pipeline because is_stablecoin_like() does not know the symbol, so the vault never appears in top_vaults_by_chain.json. This Skill wires a new stablecoin or staked/wrapped derivative into all four decoupled layers that consume stablecoin data.

Core Features & Use Cases

  • Classification set update: Adds the exact on-chain symbol to the correct Python set (STABLECOIN_LIKE, YIELD_BEARING_STABLES, or WRAPPED_STABLECOIN_LIKE) in eth_defi/stablecoin_metadata.py, which is the only layer the vault filter reads.
  • Metadata and feed YAML creation: Generates per-slug metadata YAML (category, descriptions, links, verified contract addresses) and feed YAML (full entry or canonical-feeder-id alias) following existing repo examples.
  • On-chain verification: Verifies contract addresses by calling symbol() and ERC-4626 asset() via web3 before adding them, and validates results with the shared loaders.
  • Use Case: A vault denominated in savUSD is filtered out of the cleaned price data; use this Skill to add savUSD to YIELD_BEARING_STABLES, create savusd.yaml metadata and feed files, and confirm the vault survives cleaning.

Quick Start

Add the stablecoin savUSD so that is_stablecoin_like() recognizes it and its vault passes the price-cleaning filter.

Frequently Asked Questions about add-stablecoin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new stablecoin to is_stablecoin_like()?

Add the exact on-chain symbol string to the correct set in eth_defi/stablecoin_metadata.py: STABLECOIN_LIKE for base pegs, YIELD_BEARING_STABLES for staked derivatives, or WRAPPED_STABLECOIN_LIKE for vault-share wrappers. A YAML file alone does not affect the filter.

Why is my vault missing from top_vaults_by_chain.json?

The vault's denomination token is likely not in ALL_STABLECOIN_LIKE, so filter_vaults_by_stablecoin() drops it during price cleaning. Adding the symbol to the classification set and re-running post-process-prices.py restores it.

What is the difference between yield_bearing and wrapped stablecoin categories?

Yield-bearing tokens are staked forms of a listed base peg (sUSDe, savUSD), while wrapped tokens are ERC-4626 receipts over plain USDC/DAI with no distinct intermediate peg. Both sets feed the filter equally; the split only affects display grouping.

How do I verify a stablecoin contract address before adding it?

Call the contract's symbol() function via web3 on each chain and confirm it matches the expected ticker. For wrappers, read the ERC-4626 asset() to confirm a USD underlying; never trust block-explorer search results alone.

When should a feed YAML use canonical-feeder-id instead of twitter and rss?

Use canonical-feeder-id when an existing feeder already carries the same issuer's news source, whether under stablecoins, protocols, or curators. Write a full entry with its own twitter/rss only when no feeder for that issuer exists.