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.
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 (defaults to 1.0)
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?

