Stablecoin Info Fetch
stablecoin-info-fetch
Verify and populate one tracked stablecoin's metadata (collateral, peg mechanism, jurisdiction, links, geckoId, contracts, proofOfReserves) in `shared/data/stablecoins/coins/*.json`. Use when adding a coin, filling metadata gaps, or auditing one coin's entry.
SKILL.md
Full skill instructions
Stablecoin Info Fetch
Verify one coin's metadata with structured APIs and primary sources first, then patch the matching JSON entry under shared/data/stablecoins/coins/*.json with the smallest defensible diff.
Read First
- Read the current entry in
shared/data/stablecoins/coins/*.json(orshared/data/stablecoins/coins.generated.jsonfor a canonical runtime view). - Treat the runtime stablecoin re-export as import-only; tracked metadata edits belong in the per-coin JSON registry and must match
shared/lib/stablecoins/schema.ts. - If the asset is dead/cemetery-only, use
shared/data/dead-stablecoins.jsonandDeadStablecoinAssetSchemainstead of this tracked-metadata workflow. - Read
shared/lib/chains/index.tsif contracts may change. - Read
docs/classification.mdordocs/data-pipeline.mdonly when those rules are directly relevant. - Do not change
flags,id,name,symbol,detailProvider,status, orcommodityOuncesunless the user explicitly asked.
Fields In Scope
collateralpegMechanismjurisdictionlinksgeckoIdcmcSlugcontractsproofOfReservesmintAuthority(reviewed-or-waived for high-value active additions and pre-launch promotions; descriptive only)
Workflow
-
Run
stablecoin-runtime-price-marketcap-gatebefore active additions or pre-launch promotions; metadata completeness does not prove runtime price + market-cap fetchability. -
Read the current coin entry and list missing or suspect fields.
-
Gather sources in parallel when possible:
- DefiLlama stablecoin detail by
llamaId - CoinGecko search API for slug discovery
- CoinGecko coin detail API for links, categories, and
detail_platforms - official site, docs, transparency page, legal page
- explorer APIs for contract verification
- verified contract source, proxy/admin reads, role registries, Safe/multisig state, bridge/OFT route docs, and issuer/backend signer docs for Mint Authority review
- secondary reporting only when official material is incomplete
-
Prefer structured APIs over page scraping. Use browser/web fallback only when the needed information is not available in an API response.
-
Verify fields:
collateral: specific assets, not marketing copypegMechanism: how the peg actually holdsjurisdiction: only for centralized or centralized-dependent coinslinks: use stable labels such asWebsite,Twitter,Docs,GitHub,Proof of ReservegeckoId: confirm via search plus coin detail, not by guessingcmcSlug: add only when genuinely needed for price fallbackcontracts: verify name, symbol, and decimals before addingproofOfReserves: store{ type, url, provider? }mintAuthority: if high-value or explicitly requested, either author a sourcedmintAuthorityprofile or record an intentional gap. The profile must includemintPath,authorityPosture,confidence,summary, andreview; privileged paths requirecontrols[]unless confidence isunknown.
-
If DefiLlama reports meaningful supply on a chain that is missing from
contracts, treat that as a gap signal and usecontract-populateorcontract-enrichstyle verification. -
For Mint Authority, treat
tsx scripts/maintenance/audit-mint-authority.ts --coin <id>output as a candidate queue only. Do not copy scanner output into metadata without source review. Admin mint authority belongs inmintAuthority, not incanBeBlacklisted/ FreezeWatch. -
Patch the coin's per-coin JSON file with minimal edits. If adding a new tracked coin, also keep
shared/data/stablecoins/canonical-order.jsonaligned and regenerateshared/data/stablecoins/coins.generated.json. -
Regenerate
shared/data/stablecoins/coins.generated.json, runnode scripts/build-data/build-client-registry.mjs(client-projected fields likegeckoId/proofOfReserves/reservesflow intocoins.client.generated.json), thennpm run check:stablecoin-data; for full additions, follow Phase 7 indocs/process/adding-a-stablecoin.md. Do not treatnpm run buildalone as sufficient.
Guardrails
- Do not add speculative metadata.
- Use
x.comlinks, nottwitter.com, unless the project itself still uses a different canonical URL. - Lowercase EVM addresses; preserve canonical case for non-EVM chains.
- If sources conflict, keep the current value unless a stronger primary source clearly wins.
- Mint Authority is descriptive and unscored. Missing reviewed data means the detail section is omitted; it must not be treated as safe.
- Verified Safe or multisig Mint Authority controls need threshold, signer count, and modules/guards status. If modules or guards are unknown, cap verified or probable confidence at
manual-review.
