Ripio wFiat
Registry + recipes for Ripio wFiat (wrapped LATAM fiat stablecoins). This
skill is the source of truth for identity; for full API mechanics load
coingecko-and-coinmarketcap-apis and/or uniswap-v4-subgraph.
Issuer docs: https://www.ripio.com/es/criptos/stablecoins-locales
Token detail tables and extra curl samples: references/tokens.md.
Canonical Registry
Same contract address per token across listed EVM chains (18 decimals). Prefer
lowercase addresses in GraphQL/where filters.
| Symbol | Fiat | CoinGecko id | Address | CoinGecko page |
|---|---|---|---|---|
| wARS | ARS | argentine-peso |
0x0dc4f92879b7670e5f4e4e6e3c801d229129d90d |
link |
| wBRL | BRL | brazilian-real |
0xd76f5faf6888e24d9f04bf92a0c8b921fe4390e0 |
link |
| wMXN | MXN | mexican-peso |
0x337e7456b420bd3481e7fa61fa9850343d610d34 |
link |
| wCOP | COP | colombian-peso |
0x8a1d45e102e886510e891d2ec656a708991e2d76 |
link |
| wPEN | PEN | peruvian-sol |
0x4f34c8b3b5fb6d98da888f0fea543d4d9c9f2ebe |
link |
| wCLP | CLP | chilean-peso |
0x61d450a098b6a7f69fc4b98ce68198fe59768651 |
link |
Chains (CoinGecko platforms)
For each token, CoinGecko lists the same address on:
ethereumbaseworld-chainbinance-smart-chain(BSC)polygon-posxdai(Gnosis)
Default when the user does not specify a chain: Ethereum, then Base.
Chain crosswalk (CoinGecko ↔ GeckoTerminal ↔ Uniswap app)
Same chains, three different vocabularies depending on which API you hit. GeckoTerminal network ids in particular aren't documented anywhere obvious — found by trial (Jul 2026):
| Chain | CoinGecko platform | GeckoTerminal network | Uniswap app slug | Uniswap v4 |
|---|---|---|---|---|
| Ethereum | ethereum |
eth |
ethereum |
✅ |
| Base | base |
base |
base |
✅ |
| BNB Smart Chain | binance-smart-chain |
bsc |
bnb |
✅ |
| Polygon | polygon-pos |
polygon_pos |
polygon |
✅ |
| World Chain | world-chain |
world-chain |
worldchain |
✅ (no public subgraph — see uniswap-v4-subgraph) |
| Gnosis | xdai |
xdai |
— | ❌ not deployed |
Pools are not guaranteed on every listed chain
A CoinGecko platform listing means the contract is deployed there, not that a pool exists. As of Jul 2026, Gnosis has zero Uniswap pools for any wFiat token despite being a listed platform. Don't assume liquidity from the registry alone — check GeckoTerminal:
# empty {"data":[]} means: contract may exist, no pool to query
curl -s "https://api.geckoterminal.com/api/v2/networks/xdai/tokens/0x0dc4f92879b7670e5f4e4e6e3c801d229129d90d/pools" | jq '.data | length'
Detecting a deployment CoinGecko hasn't listed yet
CoinGecko's platforms field lags real deployments. If asked about a chain
not in the registry above, verify onchain via a public RPC before concluding
"not deployed" — cheaper than waiting for CoinGecko to catch up, and this is
how the Celo deployment was confirmed before CoinGecko listed it as a
platform:
# symbol() call — 0x95d89b41 is the ERC-20 symbol() selector
curl -s -X POST "https://forno.celo.org" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x0dc4f92879b7670e5f4e4e6e3c801d229129d90d","data":"0x95d89b41"},"latest"],"id":1}'
# non-empty result + matching symbol string = deployed, even if CoinGecko/GeckoTerminal don't know yet
Public RPC endpoints for this recipe: Ethereum https://eth.llamarpc.com,
Base https://mainnet.base.org, BSC https://bsc-dataseed.binance.org,
Polygon https://polygon-rpc.com, Celo https://forno.celo.org, Gnosis
https://rpc.gnosischain.com.
Identity rules
- CoinGecko id (slug) is authoritative for prices — not the ticker alone.
- Do not look up CMC by symbol
WARS/WBRLalone (collisions exist, e.g. MetaWars). Prefer CoinGecko for wFiat. - Addresses are case-insensitive; normalize to lowercase for subgraph queries.
- These are informational market tokens, not financial advice.
Price display (inverted)
Always invert wFiat prices when presenting them. CoinGecko returns how much USD (or another fiat) one wFiat token is worth; in LATAM it is more natural to show how much local fiat equals 1 USD (e.g. "1 USD = 1.450 ARS", not "1 wARS = $0,00069").
| API field | Raw meaning | Present as |
|---|---|---|
.usd |
1 wFiat in USD | 1 USD = 1/price_usd {FIAT} |
Examples:
- wARS
usd: 0.00069→ 1 USD ≈ 1.449 ARS - wBRL
usd: 0.18→ 1 USD ≈ 5,56 BRL - wMXN
usd: 0.058→ 1 USD ≈ 17,24 MXN
Rounding: integers (or 0 decimals) for ARS, COP, CLP; 2–4 decimals for BRL, MXN, PEN. Always label the pair explicitly (USD/ARS, USD/BRL, etc.).
# Invert CoinGecko USD quote → fiat per 1 USD (wARS example)
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=argentine-peso&vs_currencies=usd" \
| jq '.["argentine-peso"].usd as $p | { pair: "USD/ARS", rate: (1 / $p) }'
Recipe map — which skill / API
| Intent | Use | Key input |
|---|---|---|
| Spot / multi-fiat price | CoinGecko keyless (coingecko-and-coinmarketcap-apis) |
CoinGecko id |
| Token markets / detail | CoinGecko /coins/{id} |
CoinGecko id |
| DEX pools / OHLCV onchain | GeckoTerminal | network + token address |
| Uniswap v4 pools / swaps / TVL | uniswap-v4-subgraph |
token address (lowercase) + chain deployment |
| CEX quotes ARS/BRL vs BTC/USDT | crypto-prices-criptoya (optional) |
different product; not the wrapped token itself |
Recipes
1) Price all wFiat (CoinGecko keyless)
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=argentine-peso,brazilian-real,mexican-peso,colombian-peso,peruvian-sol,chilean-peso&vs_currencies=usd,ars,brl,mxn&include_last_updated_at=true" | jq '.'
2) Single token price
# wARS
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=argentine-peso&vs_currencies=usd,ars" | jq '.'
# wBRL
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=brazilian-real&vs_currencies=usd,brl" | jq '.'
3) Coin detail (platforms, market data)
curl -s "https://api.coingecko.com/api/v3/coins/argentine-peso?localization=false&tickers=false&community_data=false&developer_data=false" \
| jq '{id, symbol, name, contract_address, platforms, price: .market_data.current_price.usd}'
4) GeckoTerminal token pools (example: Base wARS)
curl -s "https://api.geckoterminal.com/api/v2/networks/base/tokens/0x0dc4f92879b7670e5f4e4e6e3c801d229129d90d/pools" | jq '.'
Network names commonly used: eth, base, bsc, polygon_pos, xdai, world-chain (confirm against GeckoTerminal if empty — see chain crosswalk above).
For all 6 wFiat on one chain in a single request, use the batch endpoint
(1 request instead of 6 — saves rate-limit budget, see
coingecko-and-coinmarketcap-apis):
ADDRS="0x0dc4f92879b7670e5f4e4e6e3c801d229129d90d,0xd76f5faf6888e24d9f04bf92a0c8b921fe4390e0,0x337e7456b420bd3481e7fa61fa9850343d610d34,0x8a1d45e102e886510e891d2ec656a708991e2d76,0x4f34c8b3b5fb6d98da888f0fea543d4d9c9f2ebe,0x61d450a098b6a7f69fc4b98ce68198fe59768651"
curl -s "https://api.geckoterminal.com/api/v2/networks/base/tokens/multi/${ADDRS}?include=top_pools" | jq '.'
5) Uniswap v4 subgraph — token + pools (multi-chain)
Requires $THEGRAPH_API_KEY. Follow uniswap-v4-subgraph for auth, the
per-chain subgraph id table, and which chains have no public subgraph
(World Chain: Uniswap indexes it on a private Goldsky deployment, not on The
Graph network — GeckoTerminal is the only option there).
ENDPOINT="https://gateway.thegraph.com/api/${THEGRAPH_API_KEY}/subgraphs/id/DiYPVdygkfjDWhbxGSqAQxwBKmfKnkWQojqeM2rkLb3G"
TOKEN="0x0dc4f92879b7670e5f4e4e6e3c801d229129d90d" # wARS
curl -s "$ENDPOINT" \
-H 'Content-Type: application/json' \
-d "{\"query\":\"{ token(id: \\\"${TOKEN}\\\") { id symbol name decimals volumeUSD poolCount totalValueLockedUSD } pools(first: 10, orderBy: volumeUSD, orderDirection: desc, where: { or: [{ token0: \\\"${TOKEN}\\\" }, { token1: \\\"${TOKEN}\\\" }] }) { id feeTier liquidity volumeUSD hooks token0 { symbol } token1 { symbol } } }\"}" \
| jq '.'
Swap TOKEN for any other wFiat address from the registry. For non-Ethereum chains, use the matching Uniswap v4 subgraph deployment from The Graph Explorer (see uniswap-v4-subgraph).
Workflow
- Resolve symbol → registry row (address + CoinGecko id + fiat).
- If chain missing, default to Ethereum (mention the assumption). If asked about a chain not in the registry, verify onchain before saying "not deployed" (see Detecting a deployment above) — CoinGecko's platform list lags real deployments.
- Choose recipe by intent (price vs DEX vs Uniswap).
- Execute
curl+jq; on429backoff (CoinGecko/GeckoTerminal rate limits). - Present: symbol, fiat peg, address, chain, inverted price (and pool summary if DEX).
- Cross-load API skills only when deeper endpoint docs are needed.
Presenting Results
Lead with a compact card per token:
- Symbol / fiat / CoinGecko id
- Address + chain(s)
- Inverted price: fiat per 1 USD (e.g.
USD/ARS 1.449,USD/BRL 5,56) — never lead with "1 wFiat = X USD" - Optional: top pool / TVL if onchain query was run
Clarify data is informational; no investment advice.
Out of Scope
- Mint/redeem / Ripio app account flows
- Treating CMC symbol search as authoritative for wFiat
- Non-Ripio “ARS”/“BRL” tokens with different addresses
- Full Uniswap/CoinGecko schema docs (use sibling skills)
Reference
Per-token detail: references/tokens.md