curl --request POST \
--url https://api.sandbox.iron.xyz/api/sandbox/transaction \
--header 'Content-Type: application/json; charset=utf-8' \
--header 'IDEMPOTENCY-KEY: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"amount": "<string>",
"autoramp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount_out": "<string>",
"deposit_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fee": "<string>",
"fx_rate": "<string>",
"input_currency": {
"blockchain": "Solana",
"token": "USDC"
},
"source": {
"blockchain": "Solana",
"deposit_tx_hash": "45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81",
"wallet_address": "7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp"
},
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.sandbox.iron.xyz/api/sandbox/transaction"
payload = {
"amount": "<string>",
"autoramp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount_out": "<string>",
"deposit_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fee": "<string>",
"fx_rate": "<string>",
"input_currency": {
"blockchain": "Solana",
"token": "USDC"
},
"source": {
"blockchain": "Solana",
"deposit_tx_hash": "45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81",
"wallet_address": "7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp"
},
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"IDEMPOTENCY-KEY": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json; charset=utf-8"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'IDEMPOTENCY-KEY': '<idempotency-key>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json; charset=utf-8'
},
body: JSON.stringify({
amount: '<string>',
autoramp_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
amount_out: '<string>',
deposit_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
fee: '<string>',
fx_rate: '<string>',
input_currency: {blockchain: 'Solana', token: 'USDC'},
source: {
blockchain: 'Solana',
deposit_tx_hash: '45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81',
wallet_address: '7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp'
},
transaction_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.sandbox.iron.xyz/api/sandbox/transaction', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.iron.xyz/api/sandbox/transaction",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => '<string>',
'autoramp_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'amount_out' => '<string>',
'deposit_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'fee' => '<string>',
'fx_rate' => '<string>',
'input_currency' => [
'blockchain' => 'Solana',
'token' => 'USDC'
],
'source' => [
'blockchain' => 'Solana',
'deposit_tx_hash' => '45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81',
'wallet_address' => '7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp'
],
'transaction_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json; charset=utf-8",
"IDEMPOTENCY-KEY: <idempotency-key>",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.iron.xyz/api/sandbox/transaction"
payload := strings.NewReader("{\n \"amount\": \"<string>\",\n \"autoramp_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount_out\": \"<string>\",\n \"deposit_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"fee\": \"<string>\",\n \"fx_rate\": \"<string>\",\n \"input_currency\": {\n \"blockchain\": \"Solana\",\n \"token\": \"USDC\"\n },\n \"source\": {\n \"blockchain\": \"Solana\",\n \"deposit_tx_hash\": \"45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81\",\n \"wallet_address\": \"7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp\"\n },\n \"transaction_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("IDEMPOTENCY-KEY", "<idempotency-key>")
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json; charset=utf-8")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.iron.xyz/api/sandbox/transaction")
.header("IDEMPOTENCY-KEY", "<idempotency-key>")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json; charset=utf-8")
.body("{\n \"amount\": \"<string>\",\n \"autoramp_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount_out\": \"<string>\",\n \"deposit_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"fee\": \"<string>\",\n \"fx_rate\": \"<string>\",\n \"input_currency\": {\n \"blockchain\": \"Solana\",\n \"token\": \"USDC\"\n },\n \"source\": {\n \"blockchain\": \"Solana\",\n \"deposit_tx_hash\": \"45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81\",\n \"wallet_address\": \"7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp\"\n },\n \"transaction_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.iron.xyz/api/sandbox/transaction")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["IDEMPOTENCY-KEY"] = '<idempotency-key>'
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json; charset=utf-8'
request.body = "{\n \"amount\": \"<string>\",\n \"autoramp_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount_out\": \"<string>\",\n \"deposit_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"fee\": \"<string>\",\n \"fx_rate\": \"<string>\",\n \"input_currency\": {\n \"blockchain\": \"Solana\",\n \"token\": \"USDC\"\n },\n \"source\": {\n \"blockchain\": \"Solana\",\n \"deposit_tx_hash\": \"45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81\",\n \"wallet_address\": \"7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp\"\n },\n \"transaction_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"amount_in": "<string>",
"amount_out": "<string>",
"autoramp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"currency_in": "<string>",
"currency_out": "<string>",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "<string>"
}"<string>""<string>""<string>"{
"message": "<string>",
"trace_id": "<string>"
}Mock a transaction
Creates a new fiat transaction directly from an autoramp configuration for testing purposes. This bypasses the normal deposit flow and creates a ramp transaction with the specified amount using the autoramp’s configuration (customer, recipient, currencies, etc.).
curl --request POST \
--url https://api.sandbox.iron.xyz/api/sandbox/transaction \
--header 'Content-Type: application/json; charset=utf-8' \
--header 'IDEMPOTENCY-KEY: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"amount": "<string>",
"autoramp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount_out": "<string>",
"deposit_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fee": "<string>",
"fx_rate": "<string>",
"input_currency": {
"blockchain": "Solana",
"token": "USDC"
},
"source": {
"blockchain": "Solana",
"deposit_tx_hash": "45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81",
"wallet_address": "7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp"
},
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.sandbox.iron.xyz/api/sandbox/transaction"
payload = {
"amount": "<string>",
"autoramp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount_out": "<string>",
"deposit_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fee": "<string>",
"fx_rate": "<string>",
"input_currency": {
"blockchain": "Solana",
"token": "USDC"
},
"source": {
"blockchain": "Solana",
"deposit_tx_hash": "45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81",
"wallet_address": "7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp"
},
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"IDEMPOTENCY-KEY": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json; charset=utf-8"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'IDEMPOTENCY-KEY': '<idempotency-key>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json; charset=utf-8'
},
body: JSON.stringify({
amount: '<string>',
autoramp_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
amount_out: '<string>',
deposit_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
fee: '<string>',
fx_rate: '<string>',
input_currency: {blockchain: 'Solana', token: 'USDC'},
source: {
blockchain: 'Solana',
deposit_tx_hash: '45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81',
wallet_address: '7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp'
},
transaction_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.sandbox.iron.xyz/api/sandbox/transaction', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.iron.xyz/api/sandbox/transaction",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => '<string>',
'autoramp_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'amount_out' => '<string>',
'deposit_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'fee' => '<string>',
'fx_rate' => '<string>',
'input_currency' => [
'blockchain' => 'Solana',
'token' => 'USDC'
],
'source' => [
'blockchain' => 'Solana',
'deposit_tx_hash' => '45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81',
'wallet_address' => '7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp'
],
'transaction_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json; charset=utf-8",
"IDEMPOTENCY-KEY: <idempotency-key>",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.iron.xyz/api/sandbox/transaction"
payload := strings.NewReader("{\n \"amount\": \"<string>\",\n \"autoramp_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount_out\": \"<string>\",\n \"deposit_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"fee\": \"<string>\",\n \"fx_rate\": \"<string>\",\n \"input_currency\": {\n \"blockchain\": \"Solana\",\n \"token\": \"USDC\"\n },\n \"source\": {\n \"blockchain\": \"Solana\",\n \"deposit_tx_hash\": \"45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81\",\n \"wallet_address\": \"7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp\"\n },\n \"transaction_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("IDEMPOTENCY-KEY", "<idempotency-key>")
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json; charset=utf-8")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.iron.xyz/api/sandbox/transaction")
.header("IDEMPOTENCY-KEY", "<idempotency-key>")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json; charset=utf-8")
.body("{\n \"amount\": \"<string>\",\n \"autoramp_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount_out\": \"<string>\",\n \"deposit_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"fee\": \"<string>\",\n \"fx_rate\": \"<string>\",\n \"input_currency\": {\n \"blockchain\": \"Solana\",\n \"token\": \"USDC\"\n },\n \"source\": {\n \"blockchain\": \"Solana\",\n \"deposit_tx_hash\": \"45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81\",\n \"wallet_address\": \"7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp\"\n },\n \"transaction_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.iron.xyz/api/sandbox/transaction")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["IDEMPOTENCY-KEY"] = '<idempotency-key>'
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json; charset=utf-8'
request.body = "{\n \"amount\": \"<string>\",\n \"autoramp_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"amount_out\": \"<string>\",\n \"deposit_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"fee\": \"<string>\",\n \"fx_rate\": \"<string>\",\n \"input_currency\": {\n \"blockchain\": \"Solana\",\n \"token\": \"USDC\"\n },\n \"source\": {\n \"blockchain\": \"Solana\",\n \"deposit_tx_hash\": \"45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81\",\n \"wallet_address\": \"7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp\"\n },\n \"transaction_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"amount_in": "<string>",
"amount_out": "<string>",
"autoramp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"currency_in": "<string>",
"currency_out": "<string>",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "<string>"
}"<string>""<string>""<string>"{
"message": "<string>",
"trace_id": "<string>"
}Authorizations
API Key
Headers
a UUID ensuring a Ramp Transaction operation is only processed once
Selects the API version for this request, as an ISO date (YYYY-MM-DD). Omit to use the default version (2025-03-13). Supported versions: 2025-03-13, 2026-07-01, 2026-08-01.
Body
Parameters required to create a new sandbox ramp transaction
The amount to deposit (in the autoramp's input currency)
The autoramp ID to use for the transaction
Optional: Specify the output amount directly (if not provided, calculated from amount, fee, and fx_rate)
Optional: Specify a deterministic deposit ID instead of generating one
Optional: Specify the fee amount (defaults to 0.25% of amount)
Optional: Specify the exchange rate. If omitted, the live mid-market rate from the fx feed service is used for the input/output currency pair.
Pending, Completed, Failed Currency
Can be either crypto or fiat
- Crypto
- Fiat
Show child attributes
Show child attributes
{ "blockchain": "Solana", "token": "USDC" }
A wallet deposit source of an autoramp transaction
- ApiWalletDepositSource
- ApiBankAccountSource
Show child attributes
Show child attributes
{
"blockchain": "Solana",
"deposit_tx_hash": "45E89p7aRyUzsqbqstCkKqxaaeYXgagbq8ccHCZWMRN1E8KAqoEPACDasVjkMMbDJGwrwFHz5RDT67kUN3p5Rk81",
"wallet_address": "7QqLDBU5iT4VWshsqRdWKHjKdqZqKqYbpjhCkqDnKXSp"
}
Optional: Specify a deterministic transaction ID instead of generating one
Response
The amount deposited
The amount to be paid out
The autoramp ID used
When the transaction was created
The input currency
The output currency
The customer ID
The ID of the created ramp transaction
The initial state
Was this page helpful?