/api/quoteLiveCitar uma operação
Retorna o detalhamento completo de uma venda: a taxa de mercado intermediária usada, cada cobrança em sua própria linha, o valor líquido e a taxa efetiva realmente obtida. As linhas somam exatamente a diferença entre bruto e líquido — o invariante é verificado antes de a resposta sair, e uma resposta desbalanceada nunca é retornada.
Autenticação: nenhuma hoje. O endpoint de cotação é aberto: uma cotação não revela dados pessoais.
Parâmetros
| Campo | Tipo | Descrição |
|---|---|---|
assetIdobrigatório | string | Identificador do ativo depositado, por exemplo “btc”, “usdt”, “sol”. |
railIdobrigatório | string | Identificador do método de pagamento, por exemplo “sepa_instant”, “br_pix”, “ke_mpesa”. |
networkId | string | Rede de depósito. Opcional: a primeira rede do ativo é usada por padrão. O custo da rede varia muito entre redes, portanto este campo altera o valor líquido. |
directionobrigatório | "sell" | "receive" | Direção de entrada. “sell”: o valor é o que você deposita. “receive”: o valor é o que você deseja receber, e o depósito necessário é resolvido por busca binária. |
amountobrigatório | string | Valor em unidades principais, enviado como STRING. Um float JSON perderia unidades fracionárias em valores grandes: uma string é o único formato no qual cliente e servidor concordam até o centavo. |
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"
}'{
"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
}- A resposta carrega Cache-Control: no-store. Uma cotação em cache é um preço desatualizado servido como firme.
- Uma violação de limite do canal não é um erro HTTP: a cotação é retornada com um objeto limitError contendo o código below_min ou above_max e o limite exato, para que sua interface possa mostrar a mensagem correta sem uma segunda chamada.
- rateSource indica de onde veio o preço. O valor “mock” é a fonte de desenvolvimento determinística: ela não pode iniciar em produção, onde o processo se recusa a iniciar em vez de cotar preços congelados.
Erros possíveis: invalid_request, unknown_asset_or_rail, rail_not_open, asset_not_offered, invalid_amount, rate_stale, rate_unavailable, quote_failed. Catálogo completo