# Oracle and CoinGecko Setup - Complete Implementation **Last Updated:** 2026-01-31 **Document Version:** 1.0 **Status:** Active Documentation --- **Date:** 2026-01-27 **Status:** ✅ All Recommendations Completed --- ## 📋 Summary This document summarizes the completion of all three recommendations for improving USD peg display and oracle functionality for cUSDT and cUSDC in MetaMask. --- ## ✅ Recommendation 1: Check Oracle Publisher Service Status ### Completed Tasks 1. **Created Status Check Script** - **Location:** `smom-dbis-138/scripts/check-oracle-publisher-status.sh` - **Purpose:** Comprehensive status check for Oracle Publisher service (VMID 3500) - **Features:** - Checks if container exists - Verifies service status - Validates configuration - Reviews recent logs - Checks oracle contract price data ### Usage ```bash cd /home/intlc/projects/proxmox/smom-dbis-138 ./scripts/check-oracle-publisher-status.sh ``` ### Current Status - **Container:** VMID 3500 needs to be created/configured - **Service:** Status can be checked with the script - **Oracle Contract:** Returns zero (needs price update) ### Next Steps 1. Create/configure Oracle Publisher container (VMID 3500) 2. Configure environment variables 3. Start the service 4. Monitor with status check script --- ## ✅ Recommendation 2: Create Script to Update Oracle with Current Prices ### Completed Tasks 1. **Oracle Update Script** - **Location:** `smom-dbis-138/scripts/update-oracle-price.sh` - **Purpose:** Manually update ETH/USD oracle with current prices - **Features:** - Fetches ETH price from CoinGecko (with Binance fallback) - Converts to 8 decimals format - Checks current oracle price - Only updates if price difference > 1% (saves gas) - Verifies update after transaction ### Usage ```bash cd /home/intlc/projects/proxmox/smom-dbis-138 # Using .env file (recommended) ./scripts/update-oracle-price.sh # Or with explicit parameters ./scripts/update-oracle-price.sh [rpc-url] [oracle-address] [private-key] ``` ### Script Features - ✅ Auto-loads `.env` file - ✅ Falls back to RPC_URL_138 if RPC_URL not set - ✅ Fetches from CoinGecko API - ✅ Falls back to Binance if CoinGecko fails - ✅ Smart update logic (only updates if >1% change) - ✅ Transaction verification - ✅ Error handling ### Oracle Contract - **Address:** `0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6` - **Type:** ETH/USD Price Feed - **Decimals:** 8 - **Update Method:** `updateAnswer(int256)` or `transmit(int256)` --- ## ✅ Recommendation 3: Prepare CoinGecko Listing Submissions ### Completed Tasks 1. **cUSDT Submission Document** - **Location:** `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_CUSDT.md` - **Contents:** - Complete token information - Contract details - Network information - Submission checklist - Logo requirements - Submission process 2. **cUSDC Submission Document** - **Location:** `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_CUSDC.md` - **Contents:** - Complete token information - Contract details - Network information - Submission checklist - Logo requirements - Submission process 3. **Submission Guide** - **Location:** `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_GUIDE.md` - **Contents:** - Step-by-step submission instructions - Prerequisites checklist - Timeline expectations - Common questions and answers - Post-listing verification steps ### Token Information Summary #### cUSDT (Compliant Tether USD) - **Address:** `0x93E66202A11B1772E55407B32B44e5Cd8eda7f22` - **Decimals:** 6 - **Peg:** USD (1:1) - **Explorer:** https://explorer.d-bis.org/address/0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 #### cUSDC (Compliant USD Coin) - **Address:** `0xf22258f57794CC8E06237084b353Ab30fFfa640b` - **Decimals:** 6 - **Peg:** USD (1:1) - **Explorer:** https://explorer.d-bis.org/address/0xf22258f57794CC8E06237084b353Ab30fFfa640b ### Submission Status - ✅ Token information prepared - ✅ Submission documents created - ✅ Submission guide created - ⏳ Logo preparation (pending) - ⏳ Actual submission to CoinGecko (pending) --- ## 📁 File Structure ``` proxmox/ ├── smom-dbis-138/ │ └── scripts/ │ ├── check-oracle-publisher-status.sh ✅ NEW │ └── update-oracle-price.sh ✅ IMPROVED │ └── docs/ └── 04-configuration/ ├── coingecko/ │ ├── COINGECKO_SUBMISSION_CUSDT.md ✅ NEW │ ├── COINGECKO_SUBMISSION_CUSDC.md ✅ NEW │ └── COINGECKO_SUBMISSION_GUIDE.md ✅ NEW │ └── ORACLE_AND_COINGECKO_COMPLETE.md ✅ NEW (this file) ``` --- ## 🚀 Quick Start Guide ### 1. Check Oracle Publisher Status ```bash cd /home/intlc/projects/proxmox/smom-dbis-138 ./scripts/check-oracle-publisher-status.sh ``` ### 2. Update Oracle Price (Manual) ```bash cd /home/intlc/projects/proxmox/smom-dbis-138 ./scripts/update-oracle-price.sh ``` ### 3. Submit to CoinGecko 1. Review submission documents: - `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_CUSDT.md` - `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_CUSDC.md` 2. Follow submission guide: - `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_GUIDE.md` 3. Submit at: https://www.coingecko.com/en/coins/new --- ## 📊 Current Status Summary ### Oracle Publisher Service - ✅ Status check script created - ⏳ Service needs to be configured/started (VMID 3500) - ⏳ Oracle contract needs price update ### Oracle Update Script - ✅ Script created and improved - ✅ Auto-loads .env configuration - ✅ Smart update logic (saves gas) - ✅ Ready to use ### CoinGecko Submissions - ✅ Complete submission documents prepared - ✅ Submission guide created - ⏳ Logos need to be prepared - ⏳ Actual submission pending --- ## 🎯 Next Actions ### Immediate (Can Do Now) 1. **Update Oracle Price:** ```bash cd /home/intlc/projects/proxmox/smom-dbis-138 ./scripts/update-oracle-price.sh ``` 2. **Check Service Status:** ```bash ./scripts/check-oracle-publisher-status.sh ``` ### Short-term (1-2 weeks) 1. **Prepare Logos:** - Create 512x512 PNG logos for cUSDT and cUSDC - Use USDT/USDC logos as reference - Ensure distinct branding 2. **Submit to CoinGecko:** - Follow submission guide - Submit both tokens - Monitor for approval 3. **Configure Oracle Publisher:** - Set up VMID 3500 container - Configure environment variables - Start service for automatic updates ### Long-term (After CoinGecko Listing) 1. **Verify MetaMask Integration:** - Add tokens to MetaMask - Verify USD values display automatically - Test price updates 2. **Monitor and Maintain:** - Monitor oracle price updates - Ensure service stays running - Update documentation as needed --- ## 📚 Related Documentation ### Oracle Setup - **Oracle Price Feed Setup:** `docs/04-configuration/metamask/ORACLE_PRICE_FEED_SETUP.md` - **WETH Oracle Quick Reference:** `docs/04-configuration/metamask/WETH_ORACLE_QUICK_REFERENCE.md` ### Token Information - **Token Addresses:** `docs/11-references/CHAIN138_TOKEN_ADDRESSES.md` - **Token Lists:** `docs/04-configuration/metamask/METAMASK_TOKEN_LIST.json` ### CoinGecko - **cUSDT Submission:** `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_CUSDT.md` - **cUSDC Submission:** `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_CUSDC.md` - **Submission Guide:** `docs/04-configuration/coingecko/COINGECKO_SUBMISSION_GUIDE.md` --- ## ✅ Completion Checklist - [x] Recommendation 1: Check Oracle Publisher service status - [x] Created status check script - [x] Script tests all components - [x] Provides actionable feedback - [x] Recommendation 2: Create script to update oracle - [x] Created/improved update script - [x] Auto-loads .env configuration - [x] Smart update logic - [x] Error handling and verification - [x] Recommendation 3: Prepare CoinGecko submissions - [x] Created cUSDT submission document - [x] Created cUSDC submission document - [x] Created submission guide - [x] All required information included --- **Last Updated:** 2026-01-27 **Status:** ✅ All Recommendations Completed