Skip to main content

Autoramp Quote

This is a binding quote that guarantees the rate for a specific period. Once accepted a new autoramp is created to handle transactions that proceed at that guaranteed rate until expiration. This is particularly useful for offering exact-out semantics for payments. Quote Parameters include:
  • Quote type: exact in / exact out
  • Rate expiry policy: Return funds / Process with slippage (in bips)
  • Valid until: in hours. Maximum is 24 hour
  • Rate lock Duration: in minutes. Maximum is 20 minutes

Create a quote

The customer (or system) requests a quote for a specific currency pair / asset. You can request a quote through the API as shown in the following example.

Request

cURL
curl -X GET "http://api.sandbox.iron.xyz/api/autoramps/quote?customer_id=<your-customer-id>&source_currency_code=USDC&source_currency_chain=Ethereum&destination_currency_code=EUR&recipient_account=DE30100701240163238900&amount_out=100&rate_lock_duration_minutes=10&rate_expiry_policy=Return&expiry_in_hours=1" \
 -H "Accept: application/json; charset=utf-8" \
 -H "X-API-Key: <your-api-key>" \

Response

Returned Quote is a signed payload as shown in the following response sample.
JSON
{
  "amount_in": {
    "amount": "111.19863",
    "currency": {
      "blockchain": "Ethereum",
      "token": "USDC",
      "type": "Crypto"
    }
  },
  "amount_out": {
    "amount": "100",
    "currency": {
      "code": "EUR",
      "type": "Fiat"
    }
  },
  "customer_id": "<your-customer-id>",
  "destination_currency": {
    "code": "EUR",
    "type": "Fiat"
  },
  "fee": {
    "iron_fee": {
      "amount": "0.326433577532308069664907935",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    },
    "network_fees": [
      {
        "amount": "1.7345702248379309244896514326",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        },
        "type": "EthereumGas"
      },
      {
        "amount": "0.326433577532308069664907935",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        },
        "type": "SepaOut"
      }
    ],
    "partner_fee": {
      "amount": "0",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    },
    "total_fee": {
      "amount": "2.3874373799025470638194673027",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    }
  },
  "fee_settlement": "deductedImmediately",
  "partner_fee_settlement": "deductedImmediately",
  "quote_id": "e8cd73a4-54cc-4a34-916d-238c5ce5f898",
  "rate": "0.919023105",
  "rate_expiry_policy": "Return",
  "rate_lock_valid_until": "2025-03-14T11:37:24.250798+00:00",
  "recipient_account": {
    "iban": "DEIBANADDRESSEXAMPLE",
    "type": "Iban"
  },
  "signature": "36665918454471c078724046bcb82698eac2fb6f5f91c58a0f1a3923c5d95a28",
  "slippage_tolerance_in_bips": null,
  "source_currency": {
    "blockchain": "Ethereum",
    "token": "USDC",
    "type": "Crypto"
  },
  "valid_until": "2025-03-14T11:37:24.250798+00:00"
}

Confirm a quote

Customer can confirm a quote and create an autoramp by submitting the above signed quote payload to the create autoramp API. This will then follow the same implementation flow You can confirm the quote through the API as shown in the following example. Any changes to the signed quote payload send through the API will result in failure.

Request

cURL
curl -X POST "https://api.sandbox.iron.xyz/api/autoramps" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "IDEMPOTENCY-KEY: <your-idempotency-key>" \
  -H "X-API-Key: <your-api-key>" \
  -d '{
  "amount_in": {
    "amount": "111.19863",
    "currency": {
      "blockchain": "Ethereum",
      "token": "USDC",
      "type": "Crypto"
    }
  },
  "amount_out": {
    "amount": "100",
    "currency": {
      "code": "EUR",
      "type": "Fiat"
    }
  },
  "customer_id": "<your-customer-id>",
  "destination_currency": {
    "code": "EUR",
    "type": "Fiat"
  },
  "fee": {
    "iron_fee": {
      "amount": "0.326433577532308069664907935",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    },
    "network_fees": [
      {
        "amount": "1.7345702248379309244896514326",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        },
        "type": "EthereumGas"
      },
      {
        "amount": "0.326433577532308069664907935",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        },
        "type": "SepaOut"
      }
    ],
    "partner_fee": {
      "amount": "0",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    },
    "total_fee": {
      "amount": "2.3874373799025470638194673027",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    }
  },
  "fee_settlement": "deductedImmediately",
  "partner_fee_settlement": "deductedImmediately",
  "quote_id": "e8cd73a4-54cc-4a34-916d-238c5ce5f898",
  "rate": "0.919023105",
  "rate_expiry_policy": "Return",
  "rate_lock_valid_until": "2025-03-14T11:37:24.250798+00:00",
  "recipient_account": {
    "iban": "DEIBANADDRESSEXAMPLE",
    "type": "Iban"
  },
  "signature": "36665918454471c078724046bcb82698eac2fb6f5f91c58a0f1a3923c5d95a28",
  "slippage_tolerance_in_bips": null,
  "source_currency": {
    "blockchain": "Ethereum",
    "token": "USDC",
    "type": "Crypto"
  },
  "valid_until": "2025-03-14T11:37:24.250798+00:00"
}'

Response

JSON
{
  "id": "f8f9a8c7-d8b1-4f1a-8f15-7e6c8a1a8e50",
  "status": "Created",
  "deposit_account": {
    "type": "Crypto",
    "chain": "0xEthereumDepositAddress"
  },
  "created_at": "2025-01-20T12:34:56Z",
  "source": "Quote",
  "quote": {
    "amount_in": {
      "amount": "111.19863",
      "currency": {
        "blockchain": "Ethereum",
        "token": "USDC",
        "type": "Crypto"
      }
    },
    "amount_out": {
      "amount": "100",
      "currency": {
        "code": "EUR",
        "type": "Fiat"
      }
    },
    "customer_id": "<your-customer-id>",
    "destination_currency": {
      "code": "EUR",
      "type": "Fiat"
    },
    "fee": {
      "iron_fee": {
        "amount": "0.326433577532308069664907935",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        }
      },
      "network_fees": [
        {
          "amount": "1.7345702248379309244896514326",
          "currency": {
            "blockchain": "Ethereum",
            "token": "USDC",
            "type": "Crypto"
          },
          "type": "EthereumGas"
        },
        {
          "amount": "0.326433577532308069664907935",
          "currency": {
            "blockchain": "Ethereum",
            "token": "USDC",
            "type": "Crypto"
          },
          "type": "SepaOut"
        }
      ],
      "partner_fee": {
        "amount": "0",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        }
      },
      "total_fee": {
        "amount": "2.3874373799025470638194673027",
        "currency": {
          "blockchain": "Ethereum",
          "token": "USDC",
          "type": "Crypto"
        }
      }
    },
    "fee_settlement": "deductedImmediately",
    "partner_fee_settlement": "deductedImmediately",
    "quote_id": "e8cd73a4-54cc-4a34-916d-238c5ce5f898",
    "rate": "0.919023105",
    "rate_expiry_policy": "Return",
    "rate_lock_valid_until": "2025-03-14T11:37:24.250798+00:00",
    "recipient_account": {
      "iban": "DEIBANADDRESSEXAMPLE",
      "type": "Iban"
    },
    "slippage_tolerance_in_bips": null,
    "source_currency": {
      "blockchain": "Ethereum",
      "token": "USDC",
      "type": "Crypto"
    },
    "valid_until": "2025-03-14T11:37:24.250798+00:00"
  }
}
An autoramp created by confirming the quote has an expiry. When the validity expires, the autoramp is cancelled and no longer active. All deposits to the account, needs to be the same amount_in when creating a quote. Else, the deposit will be refunded.

Configuration

Rate expiry policy determines if the system “returns funds” (Return) or processes the deposit with “slippage” for market rate with slippage tolerance set when creating a quote. Slippage tolerance (in bips), only relevant for late arrival of deposits after the rate lock has expired, is set by the customer. It is used to determine a new rate in the case the deposit arrives late. This is mandatory when the rate expiry policy is set to “slippage” One of Amount in/Amount out Only one can be set, denoting whether it’s an exact in our exact-out quote. Valid Until Expiry set to a maximum of 24h. This results in the autoramp getting cancelled after this. It is set by the customer. It is overridden if the rate expiry policy is set to “return funds”. In this case, this reverts to the actual rate lock duration Rate Lock Duration Optional. If set, it enables the rate lock to the customer set duration. This is overridden based on the currency pair. For eg, if the currency pair contains stablecoin, then this can be a maximum of 20 mins.