/v1/triangular
Triangular-arbitrage detection
Essayez-le en direct
10 appels gratuits par jour — sans inscription, sans clé API. Passe par la passerelle oanor.
Ça marche. Récupérez une clé API et utilisez-la dans votre projet.
Obtenez une clé APIExtraits de code
curl "https://api.oanor.com/fxcross-api/v1/triangular" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/fxcross-api/v1/triangular", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/fxcross-api/v1/triangular");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/fxcross-api/v1/triangular",
headers={"x-oanor-key": "oanor_test_..."}
)
Exemple de réponse
Une réponse réelle de ce endpoint, capturée lors du dernier contrôle de santé.
{
"data": {
"legs": [
{
"pair": "EUR/USD",
"rate": 1.08
},
{
"pair": "USD/JPY",
"rate": 150
},
{
"pair": "JPY/EUR",
"rate": 0.00617
}
],
"note": "product>1 means cycling in the given (forward) direction profits; otherwise the reverse cycle does. Edge below 1 bp is treated as no arbitrage.",
"source": "FX-CROSS",
"notional": 10000,
"arbitrage": true,
"direction": "reverse",
"currencies": [
"EUR",
"USD",
"JPY"
],
"profit_pct": 0.046021,
"cycle_product": 0.99954,
"forward_cycle": "EUR -> USD -> JPY -> EUR",
"start_currency": "EUR",
"profit_on_notional": 4.60211697
},
"meta": {
"timestamp": "2026-06-11T07:49:28.122Z",
"request_id": "0c4b6c24-4e99-4036-a3dc-178f7567005a"
},
"status": "ok",
"message": "Triangular arbitrage computed",
"success": true
}