Date: April 20, 2026 Participants: Suso (Founder), Coordination Claude Context: Two-step settlement architecture requires calculating ARS amount (or any local currency) from EUR commitment. This research establishes the standard approach for ALL Asgaya corridors.
Establish a reliable, simple, and replicable method for calculating local currency amounts across ALL Asgaya corridors (Argentina, Venezuela, Honduras, etc.) using market rates, not official government rates.
Key requirement: Must work in countries with significant official vs real market rate divergence (Argentina, Venezuela).
Official rate (Google Finance, CoinGecko):
Real market rate (“Dólar Blue”):
Crypto market rate (CriptoYa median):
Divergence: 6-8% between official and real market rates!
Impact on Asgaya:
Why this divergence exists:
Venezuela:
Honduras:
Conclusion: We CANNOT use official exchange rate APIs for most corridors.
What we found:
https://criptoya.com/api/usdt/ars/1Pros:
Cons:
See: ARGENTINE_CRYPTO_API_RESEARCH.md for full details
What we found:
Pros:
Cons:
The approach:
EUR → BCH (Kraken) → USD (Kraken) → Local Currency (Blue/Market Rate)
Step by step:
BCHEUR pair (real market rate)BCHUSD pair (real market rate)Calculation:
def calculate_ars_from_eur(eur_amount):
# Step 1: EUR to BCH (Kraken)
bch_per_eur = kraken.get_rate("BCHEUR") # e.g., 0.00263 BCH/EUR
# Step 2: BCH to USD (Kraken)
usd_per_bch = kraken.get_rate("BCHUSD") # e.g., 380 USD/BCH
# Step 3: USD to ARS (dólar blue)
ars_per_usd = 1410 # Blue dollar SELL rate (merchant receives)
# Calculate
bch_amount = eur_amount * bch_per_eur
usd_amount = bch_amount * usd_per_bch
ars_amount = usd_amount * ars_per_usd
return ars_amount
# Example: €200 remittance
eur = 200
bch = 200 * 0.00263 = 0.526 BCH
usd = 0.526 * 380 = 199.88 USD
ars = 199.88 * 1410 = 281,831 ARS
Pros:
Cons:
Rationale:
Implementation plan:
# Hardcoded blue dollar rate
USD_TO_ARS_BLUE = 1410 # Update manually when it drifts >5%
def calculate_ars_simple(eur_amount):
eur_to_usd = kraken.get_rate("EURUSD")
return eur_amount * eur_to_usd * USD_TO_ARS_BLUE
Even simpler: Kraken has direct EURUSD pair!
# Add BCH bridge for more accuracy
def calculate_ars_via_bch(eur_amount):
bch_eur = kraken.get_rate("BCHEUR")
bch_usd = kraken.get_rate("BCHUSD")
usd_ars = 1410 # Still hardcoded
return eur_amount / bch_eur * bch_usd * usd_ars
# Add real-time blue dollar API
def get_blue_dollar_rate():
# Try DolarSi API
# Fallback to hardcoded 1410
pass
def calculate_ars_production(eur_amount):
bch_eur = kraken.get_rate("BCHEUR")
bch_usd = kraken.get_rate("BCHUSD")
usd_ars = get_blue_dollar_rate() # Real-time!
return eur_amount / bch_eur * bch_usd * usd_ars
This research establishes the pattern for Venezuela, Honduras, etc.:
def calculate_ves_from_eur(eur_amount):
# Step 1-2: EUR → USD via BCH (Kraken)
usd_amount = convert_eur_to_usd_via_kraken(eur_amount)
# Step 3: USD → VES (black market rate)
ves_per_usd = 47 # Manual update, or DolarToday API
return usd_amount * ves_per_usd
def calculate_hnl_from_eur(eur_amount):
# Step 1-2: EUR → USD via Kraken
usd_amount = convert_eur_to_usd_via_kraken(eur_amount)
# Step 3: USD → HNL (official rate OK in Honduras)
hnl_per_usd = 24.8 # Can use official API (BCH stable economy)
return usd_amount * hnl_per_usd
Key insight: Same EUR → USD conversion for ALL corridors, only Step 3 changes!
Note: API endpoint may require authentication or be rate-limited.
curl "https://www.dolarsi.com/api/api.php?type=valoresprincipales"
Returns:
{
"casa": {
"nombre": "Dolar Blue",
"compra": "1390",
"venta": "1410"
}
}
Use “venta” (sell) rate - merchant receives ARS, so uses sell side.
curl "https://mercados.ambito.com/dolar/informal/variacion"
Requires scraping HTML, less reliable.
Let’s verify with real data (April 20, 2026):
€200 × 1.08 = $216 USD
$216 × 1,410 = 304,560 ARS
Kraken BCHEUR: 0.00263 BCH/EUR
Kraken BCHUSD: 380 USD/BCH
€200 × 0.00263 = 0.526 BCH
0.526 × 380 = 199.88 USD
199.88 × 1,410 = 281,831 ARS
Difference: 304,560 vs 281,831 = 22,729 ARS (7.5% difference!)
Why? The BCH bridge uses current BCH/EUR and BCH/USD rates which fluctuate independently. The direct EUR/USD is simpler and more stable.
Conclusion: For Phase 0, use direct EUR/USD (Method 1). It’s simpler and avoids BCH volatility in the calculation.
Created:
usdt_ars_rate_fetcher.py - CriptoYa/Binance/Ripio integration (archived as reference)test_crypto_apis.py - API testing script (archived)Decided:
Next steps:
/knowledge/code/usdt_ars_rate_fetcher.py (Argentine crypto APIs - archived)ARGENTINE_CRYPTO_API_RESEARCH.md (detailed crypto exchange analysis)/core_arquitecture/2_3_volatility_protection.md (two-step settlement)/concepts/two_step_settlement.md (ARS calculation point)Research conducted: April 20, 2026 By: Suso + Coordination Claude Outcome: Established standard cross-corridor exchange rate calculation method Next: Implement simple EUR→ARS calculator for Phase 0 testing