---
title: "Measured cost of a USDC transfer per chain, cheapest first"
method: GET
path: "/v1/settlement/costs"
tags: ["settlement", "gas-costs", "usdc", "cross-chain", "transfer-cost"]
---

# Measured cost of a USDC transfer per chain, cheapest first

`GET /v1/settlement/costs`

## Request

- Base URL: `https://api.402rates.com`
- URL: `https://api.402rates.com/v1/settlement/costs`
- Auth: none declared

Measured USDC transfer costs on Base, Polygon, Arbitrum, Ethereum and XDC: simulated gas, current token prices, fresh chain heads and applicable rollup L1 fees. Inputs and block references accompany each figure. Cheapest first; unmeasurable chains are excluded, not estimated. Business/professional use only. Terms: https://402rates.com/data-terms/

## Query parameters

- `chains` string: comma-separated list of: base, polygon, arbitrum, ethereum, xdc. Order does not matter and duplicates are ignored. Omit it to price all five, which is the usual call and costs exactly the same.

## Response `200`

Successful response

- object
  - `meta` object
    - `capability` string
    - `version` string
    - `schema_version` string
    - `generated_at` string
    - `request_id` string
    - `freshness` object
      - `policy_max_age_s` integer
      - `all_sources_within_policy` boolean
      - `oldest_source_age_s` integer
      - `valid_until` string
      - `cache_ttl_s` integer
    - `sources` object[]
      - `id` string
      - `kind` string
      - `block` integer
      - `fetched_at` string
      - `max_age_s` integer
    - `units` object
      - `est_cost_usd` string
      - `gas_price_wei` string
      - `fee_bps` string
      - `transfer_amount_atomic` string
    - `attributions` object[]
      - `source_id` string
      - `message` string
      - `url` string
      - `quote_asset` string
      - `fallback_used` boolean
      - `fetched_at` string
    - `fee_completeness` string
    - `chains_requested` string[]
    - `chains_unavailable` unknown[]
      - unknown
    - `limitations` string
  - `data` object[]
    - `chain` string
    - `tx_type` string
    - `transfer_amount_atomic` integer
    - `gas_units_assumed` unknown
    - `gas_units` integer
    - `gas_units_method` string
    - `gas_units_scenario` string
    - `gas_price_wei` string
    - `fee_model` string
    - `fee_components` object
      - `execution_usd` number
      - `l1_data_usd` unknown
      - `total_usd` number
    - `est_cost_usd` number
    - `cost_basis` string
    - `cost_bps` object[]
      - `notional_usd` integer
      - `fee_bps` number
    - `l1_data_fee_included` unknown
    - `head_age_s` integer
  - `cheapest` object
    - `scope` string
    - `chain` string
    - `est_cost_usd` number
    - `runner_up` unknown
    - `compared_chains` string[]
    - `excluded_chains` unknown[]
      - unknown
    - `caveats` unknown[]
      - unknown
    - `stability` object
      - `level` string
      - `historical_claim` boolean
  - `related` string[]

## Other responses

- `402`: Payment required. Decode the base64 JSON PAYMENT-REQUIRED header, sign one accepted USDC option, and retry the same request.

---

[API](https://skmtc.dev/402rates/apis/402rates-com.md) · [All operations](https://skmtc.dev/402rates/apis/402rates-com/llms.txt) · [OpenAPI document](https://skmtc.dev/402rates/apis/402rates-com/revisions/483a9d0a3f0b?raw)
