Fiatside

Developers

操作のクォート

見積もりは、現在開いている唯一のエンドポイントであり、最も重要なものです。サイトに表示される明細を返します。キーは不要です。

POST/api/quoteLive

操作の見積もり

売却の完全な内訳を返します:使用された中間市場レート、各手数料を個別の行で、正味金額、実際に得られた実効レート。各行の合計は総額と正味額の差と正確に一致します。この不変条件はレスポンスが送信される前にチェックされ、不均衡なレスポンスが返されることはありません。

認証: 本日はありません。見積もりエンドポイントは公開されています。見積もりは個人データを明らかにしません。

パラメータ

パラメータ
フィールド説明
assetId必須string入金アセットの識別子。例:「btc」、「usdt」、「sol」。
railId必須string支払い方法の識別子。例:「sepa_instant」、「br_pix」、「ke_mpesa」。
networkIdstring入金ネットワーク。オプション:デフォルトではアセットの最初のネットワークが使用されます。ネットワークコストはネットワーク間で大きく異なるため、このフィールドは正味金額を変更します。
direction必須"sell" | "receive"入力方向。「sell」:金額は入金する額。「receive」:金額は受け取りたい額で、必要な入金額は二分探索で決定されます。
amount必須stringメジャーユニットでの金額。文字列として送信されます。JSON浮動小数点数は大きな金額でマイナーユニットを失う可能性があります:文字列は、クライアントとサーバーがセント単位まで一致する唯一の形式です。
リクエストbash
curl -sS -X POST https://fiatside.com/api/quote \
  -H 'Content-Type: application/json' \
  -d '{
    "assetId": "usdt",
    "railId": "sepa_instant",
    "networkId": "tron",
    "direction": "sell",
    "amount": "1000"
  }'
レスポンス — 実際の例json
{
  "deposit": { "amount": "1000.000000", "ticker": "USDT", "decimals": 6 },
  "gross": "921.68",
  "net": "912.28",
  "currency": "EUR",
  "currencyDecimals": 2,
  "midRate": "0.92168430",
  "effectiveRate": "0.91228000",
  "totalCostBps": 102,
  "lines": [
    { "code": "network", "amount": "1.11", "basis": "Cout reseau tron, preleve en USDT" },
    { "code": "spread",  "amount": "8.29", "basis": "0.90 % du montant converti" }
  ],
  "settlement": { "p50Minutes": 1, "p95Minutes": 12 },
  "lockSeconds": 1800,
  "rateAsOf": 1788356981608,
  "rateSource": "mock",
  "limitError": null
}
  • レスポンスにはCache-Control: no-storeが含まれます。キャッシュされた見積もりは、確定価格として提供される古い価格です。
  • 決済手段の制限違反はHTTPエラーではありません:見積もりはlimitErrorオブジェクトとともに返され、below_minまたはabove_maxコードと正確な制限が含まれるため、インターフェースは2回目の呼び出しなしで適切なメッセージを表示できます。
  • rateSourceは価格の出所を示します。値「mock」は決定論的な開発用ソースです:本番環境では起動できず、プロセスは凍結された価格を見積もる代わりに起動を拒否します。

考えられるエラー: invalid_request, unknown_asset_or_rail, rail_not_open, asset_not_offered, invalid_amount, rate_stale, rate_unavailable, quote_failed. 完全なカタログ

01

明細の読み方

lines配列には、実際の料金ごとに1つのエントリが含まれます。ゼロの行は返されません。「レール手数料: 0.00」と表示しても何も追加されず、インターフェースが乱雑になるだけです。

明細の読み方
code受取人内容
networkブロックチェーンネットワーク資産の移動コスト。変換前に預金から現物で差し引かれます。選択したネットワークによって変動し、場合によっては大きな差があります。そのため、networkIdによって正味額が変わります。
spread当社変換額のパーセンテージで表される当社のマージン。これは当社の収益となる唯一の行です。
rail決済機関支払い方法の手数料。固定、比例、またはその両方。レールが何も請求しない場合は存在しません。これはほとんどのオープンレールの場合です。
fx外国為替追加の変換が発生する場合の明示的な為替スプレッドのために予約された行。レール通貨が引用通貨である回廊には表示されません。

テーブルを検証可能にする不変条件

グロスから行の合計を差し引いたものが、最小単位まで正確にネットと等しくなります。この等式は、応答が送信される前にすべての見積もりでチェックされます。バランスが取れない場合、未申告のマージンがどこかに存在し、エンジンはそれを返すのではなくエラーを発生させます。算術を再確認できます。それがポイントです。

02

手数料がかかる送金手段の例

送金手数料がかかる送金手段に同額を送ると、3行目が浮かび上がります。これは決定論的な開発ソースで得られた実際の応答です。

リクエストbash
curl -sS -X POST https://fiatside.com/api/quote \
  -H 'Content-Type: application/json' \
  -d '{
    "assetId": "usdt",
    "railId": "ke_mpesa",
    "networkId": "tron",
    "direction": "sell",
    "amount": "1000"
  }'
応答 — 実際の例json
{
  "gross": "129525.90",
  "net": "128141.44",
  "currency": "KES",
  "totalCostBps": 107,
  "lines": [
    { "code": "network", "amount": "155.44", "basis": "Cout reseau tron, preleve en USDT" },
    { "code": "spread",  "amount": "582.17", "basis": "0.45 % du montant converti" },
    { "code": "rail",    "amount": "646.85", "basis": "0.50 % du montant converti" }
  ],
  "settlement": { "p50Minutes": 2, "p95Minutes": 45 },
  "limitError": null
}

3行、3つの異なる受取人: ネットワーク、当社、決済機関。totalCostBpsフィールドは、ミッドマーケットレートからの総差額をベーシスポイントで示します。これはサービス間で比較する価値のある唯一の数値であり、レート内に隠れてしまうものも含めてすべてをカバーします。

03

送金手段の制限

送金手段の範囲外の金額でもHTTPエラーは発生しません。見積もりはlimitErrorオブジェクトとともに返されます。したがって、インターフェースは2回目の呼び出しなしで金額と正確な理由の両方を表示できます。

応答の抜粋 — 実際の例json
{
  "net": "3.47",
  "currency": "EUR",
  "limitError": { "code": "below_min", "limit": "20.00" }
}

可能な値はbelow_minとabove_maxで、limitは送金手段の通貨のメジャーユニットで境界を保持します。注: 境界は入金ではなく正味額に適用されます。受取人が受け取る金額が送金手段の制限内に収まる必要があります。

04

有効期間

lockSecondsフィールドは、注文が作成されるとレートが固定される期間を示します。これは資産によって異なります: ステーブルコインでは長く、ボラティリティの高いものでは短くなります。

  • 見積もり自体は確定的ではありません。注文が作成されるまで参考値です。レートは見積もり呼び出し時ではなく、注文作成時に固定されます。
  • この期間はお客様の意思決定をカバーし、ネットワークの確認時間はカバーしません。ビットコインの入金には1時間の確認が必要な場合があります。ロックは、お客様が決定して入金する間の市場変動から保護します。
  • 有効期限後に着金した場合、注文は再見積もりされ、新しい金額を受け入れる必要があります。顧客に対する黙示の再価格設定は構造的に不可能です。
  • 古いレートエラーを隠すために見積もりをキャッシュしないでください。キャッシュされた見積もりは、確定的として提示される古い価格であり、これはまさに拒否コードが防ぐ問題です。