curl --request POST \
--url https://api.coinvoyage.io/v3/onramp/intents \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"destination_amount": "100.00",
"destination_currency": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
},
"order_id": "cuidjkhg3e289y74u5t6v123",
"source_amount": "125.00",
"source_currency": "usd",
"wallet_address": "0xabc123..."
}
'import requests
url = "https://api.coinvoyage.io/v3/onramp/intents"
payload = {
"destination_amount": "100.00",
"destination_currency": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
},
"order_id": "cuidjkhg3e289y74u5t6v123",
"source_amount": "125.00",
"source_currency": "usd",
"wallet_address": "0xabc123..."
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination_amount: '100.00',
destination_currency: {
address: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
chain_id: 30000000000001
},
order_id: 'cuidjkhg3e289y74u5t6v123',
source_amount: '125.00',
source_currency: 'usd',
wallet_address: '0xabc123...'
})
};
fetch('https://api.coinvoyage.io/v3/onramp/intents', 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.coinvoyage.io/v3/onramp/intents",
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([
'destination_amount' => '100.00',
'destination_currency' => [
'address' => 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
'chain_id' => 30000000000001
],
'order_id' => 'cuidjkhg3e289y74u5t6v123',
'source_amount' => '125.00',
'source_currency' => 'usd',
'wallet_address' => '0xabc123...'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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.coinvoyage.io/v3/onramp/intents"
payload := strings.NewReader("{\n \"destination_amount\": \"100.00\",\n \"destination_currency\": {\n \"address\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"chain_id\": 30000000000001\n },\n \"order_id\": \"cuidjkhg3e289y74u5t6v123\",\n \"source_amount\": \"125.00\",\n \"source_currency\": \"usd\",\n \"wallet_address\": \"0xabc123...\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.coinvoyage.io/v3/onramp/intents")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"destination_amount\": \"100.00\",\n \"destination_currency\": {\n \"address\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"chain_id\": 30000000000001\n },\n \"order_id\": \"cuidjkhg3e289y74u5t6v123\",\n \"source_amount\": \"125.00\",\n \"source_currency\": \"usd\",\n \"wallet_address\": \"0xabc123...\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coinvoyage.io/v3/onramp/intents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination_amount\": \"100.00\",\n \"destination_currency\": {\n \"address\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"chain_id\": 30000000000001\n },\n \"order_id\": \"cuidjkhg3e289y74u5t6v123\",\n \"source_amount\": \"125.00\",\n \"source_currency\": \"usd\",\n \"wallet_address\": \"0xabc123...\"\n}"
response = http.request(request)
puts response.read_body{
"destination_currency": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
},
"expires_at": "2024-01-01T00:00:00Z",
"id": "oi_123456789",
"order_id": "cuidjkhg3e289y74u5t6v123",
"session_id": "cos_test_123",
"source_amount": "125.00",
"source_currency": "usd",
"status": "requires_link_auth",
"stripe_publishable_key": "pk_test_123",
"wallet_address": "0xabc123..."
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}Create Onramp Intent
Create a reusable onramp intent. For Orders, amount, destination currency, and wallet fields are derived server-side from the Order and cannot be overridden by the client.
curl --request POST \
--url https://api.coinvoyage.io/v3/onramp/intents \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"destination_amount": "100.00",
"destination_currency": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
},
"order_id": "cuidjkhg3e289y74u5t6v123",
"source_amount": "125.00",
"source_currency": "usd",
"wallet_address": "0xabc123..."
}
'import requests
url = "https://api.coinvoyage.io/v3/onramp/intents"
payload = {
"destination_amount": "100.00",
"destination_currency": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
},
"order_id": "cuidjkhg3e289y74u5t6v123",
"source_amount": "125.00",
"source_currency": "usd",
"wallet_address": "0xabc123..."
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination_amount: '100.00',
destination_currency: {
address: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
chain_id: 30000000000001
},
order_id: 'cuidjkhg3e289y74u5t6v123',
source_amount: '125.00',
source_currency: 'usd',
wallet_address: '0xabc123...'
})
};
fetch('https://api.coinvoyage.io/v3/onramp/intents', 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.coinvoyage.io/v3/onramp/intents",
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([
'destination_amount' => '100.00',
'destination_currency' => [
'address' => 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
'chain_id' => 30000000000001
],
'order_id' => 'cuidjkhg3e289y74u5t6v123',
'source_amount' => '125.00',
'source_currency' => 'usd',
'wallet_address' => '0xabc123...'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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.coinvoyage.io/v3/onramp/intents"
payload := strings.NewReader("{\n \"destination_amount\": \"100.00\",\n \"destination_currency\": {\n \"address\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"chain_id\": 30000000000001\n },\n \"order_id\": \"cuidjkhg3e289y74u5t6v123\",\n \"source_amount\": \"125.00\",\n \"source_currency\": \"usd\",\n \"wallet_address\": \"0xabc123...\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.coinvoyage.io/v3/onramp/intents")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"destination_amount\": \"100.00\",\n \"destination_currency\": {\n \"address\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"chain_id\": 30000000000001\n },\n \"order_id\": \"cuidjkhg3e289y74u5t6v123\",\n \"source_amount\": \"125.00\",\n \"source_currency\": \"usd\",\n \"wallet_address\": \"0xabc123...\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coinvoyage.io/v3/onramp/intents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination_amount\": \"100.00\",\n \"destination_currency\": {\n \"address\": \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"chain_id\": 30000000000001\n },\n \"order_id\": \"cuidjkhg3e289y74u5t6v123\",\n \"source_amount\": \"125.00\",\n \"source_currency\": \"usd\",\n \"wallet_address\": \"0xabc123...\"\n}"
response = http.request(request)
puts response.read_body{
"destination_currency": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
},
"expires_at": "2024-01-01T00:00:00Z",
"id": "oi_123456789",
"order_id": "cuidjkhg3e289y74u5t6v123",
"session_id": "cos_test_123",
"source_amount": "125.00",
"source_currency": "usd",
"status": "requires_link_auth",
"stripe_publishable_key": "pk_test_123",
"wallet_address": "0xabc123..."
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}{
"code": 400,
"error": "Bad Request",
"message": "Invalid request parameters"
}Authorizations
Headers
API key for authentication
Body
CoinVoyage destination currency. Use chain_id to select the destination chain and address to select a token; omit address for native assets where supported.
Show child attributes
Show child attributes
{
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
}
CoinVoyage Order ID. When set, amount, currency, and wallet fields are derived server-side and must not be included.
"cuidjkhg3e289y74u5t6v123"
Crypto destination amount for a standalone onramp intent. Mutually exclusive with source_amount.
"100.00"
Fiat source amount for a standalone onramp intent. Mutually exclusive with destination_amount.
"125.00"
Fiat source currency for Stripe embedded onramp intents
usd, eur "usd"
"0xabc123..."
Response
Onramp intent created
"oi_123456789"
requires_link_auth, requires_kyc, requires_identity_verification, requires_document_verification, identity_verification_pending, session_created "requires_link_auth"
Fiat source currency for Stripe embedded onramp intents
usd, eur "usd"
"pk_test_123"
Show child attributes
Show child attributes
{
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
}
"0xabc123..."
"2024-01-01T00:00:00Z"
"cuidjkhg3e289y74u5t6v123"
"cos_test_123"
"125.00"
Was this page helpful?