---
title: "Create topup estimation"
method: POST
path: "/api/v1/cards/topup/estimate"
tags: ["Cards/Topup"]
---

# Create topup estimation

`POST /api/v1/cards/topup/estimate`

Creates a new card topup estimation

## Request body

- RequestCardTopupEstimateRequest
  - `destination_amount` string, required — DestinationAmount is the raw on-chain token amount the user wants to receive, expressed as an integer string already scaled by the token's decimals (e.g. "100000000" for 100 USDC). Sent as a string to avoid the precision loss a float64 introduces for large or high-decimal amounts.
  - `destination_token_address` string, required — DestinationTokenAddress is the token address the user wants to receive on chain
  - `external_card_id` string, required — ExternalCardId is the unique identifier for the external card to debit

## Response `200`

OK

- ResponseCardTopupEstimateResponse
  - `destination_amount` number, required — Destination amount the user receives on chain as a float displayed at 6 fractional digits
  - `destination_amount_precise` string, required — Destination precise amount as a decimal string in token base units
  - `destination_token_address` string, required — Destination token address
  - `destination_token_symbol` string, required — Destination token symbol
  - `estimation_id` string, required — Identifier of the created estimation
  - `expires_at` integer, required — UTC timestamp when the estimation will expire
  - `fee_amount` number, required — Fee amount denominated in fee_currency as a float displayed at 6 fractional digits
  - `fee_amount_precise` string, required — Fee precise amount as a decimal string in base units of the fee currency
  - `fee_currency` string, required — Fee currency code
  - `provider` string, required — Provider of the underlying topup
  - `rate` number, required — Card → reference currency conversion rate
  - `source_amount` number, required — Source-leg amount the card will be debited for (fiat) as a float displayed at 6 fractional digits
  - `source_amount_precise` string, required — Source-leg precise amount as a decimal string in base units of the source currency
  - `source_currency` string, required — Source-leg fiat currency code

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.dev/wirexapp/apis/wirex-baas-api.md) · [All operations](https://skmtc.dev/wirexapp/apis/wirex-baas-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/wirexapp/wirex-baas-api/revisions/b95a180790b1/schema)
