Initiate a managed-wallet on-ramp
curl --request POST \
--url https://payment.gideondevrel.xyz/api/v1/business/onramps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payment_method": {
"type": "mobile_money",
"phone_number": "<string>",
"mobile_network": "<string>"
}
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
quote_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
payment_method: {type: 'mobile_money', phone_number: '<string>', mobile_network: '<string>'}
})
};
fetch('https://payment.gideondevrel.xyz/api/v1/business/onramps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://payment.gideondevrel.xyz/api/v1/business/onramps"
payload = {
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payment_method": {
"type": "mobile_money",
"phone_number": "<string>",
"mobile_network": "<string>"
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://payment.gideondevrel.xyz/api/v1/business/onramps"
payload := strings.NewReader("{\n \"quote_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"payment_method\": {\n \"type\": \"mobile_money\",\n \"phone_number\": \"<string>\",\n \"mobile_network\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"direction": "offramp",
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "created",
"source": {
"asset": "USDC",
"amount": "<string>",
"total_required": "<string>",
"chain": "base"
},
"destination": {
"currency": "<string>",
"asset": "<string>",
"amount": "<string>",
"chain": "base",
"wallet_address": "<string>",
"transaction_hash": "<string>"
},
"fees": {
"provider": "<string>",
"platform": "<string>"
},
"exchange_rate": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"external_reference": "<string>",
"beneficiary_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"funding_source": {
"type": "managed_wallet",
"reference": "<string>",
"address": "<string>"
},
"payment_source": {
"type": "mobile_money",
"reference": "<string>"
},
"failure": {
"code": "<string>",
"message": "<string>"
},
"completed_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}On-ramps
Initiate a managed-wallet on-ramp
Consumes an on-ramp quote and simulates mobile-money collection and USDC delivery. Currently available only with sandbox credentials.
POST
/
api
/
v1
/
business
/
onramps
Initiate a managed-wallet on-ramp
curl --request POST \
--url https://payment.gideondevrel.xyz/api/v1/business/onramps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payment_method": {
"type": "mobile_money",
"phone_number": "<string>",
"mobile_network": "<string>"
}
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
quote_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
payment_method: {type: 'mobile_money', phone_number: '<string>', mobile_network: '<string>'}
})
};
fetch('https://payment.gideondevrel.xyz/api/v1/business/onramps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://payment.gideondevrel.xyz/api/v1/business/onramps"
payload = {
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payment_method": {
"type": "mobile_money",
"phone_number": "<string>",
"mobile_network": "<string>"
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://payment.gideondevrel.xyz/api/v1/business/onramps"
payload := strings.NewReader("{\n \"quote_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"payment_method\": {\n \"type\": \"mobile_money\",\n \"phone_number\": \"<string>\",\n \"mobile_network\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"direction": "offramp",
"quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "created",
"source": {
"asset": "USDC",
"amount": "<string>",
"total_required": "<string>",
"chain": "base"
},
"destination": {
"currency": "<string>",
"asset": "<string>",
"amount": "<string>",
"chain": "base",
"wallet_address": "<string>",
"transaction_hash": "<string>"
},
"fees": {
"provider": "<string>",
"platform": "<string>"
},
"exchange_rate": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"external_reference": "<string>",
"beneficiary_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"funding_source": {
"type": "managed_wallet",
"reference": "<string>",
"address": "<string>"
},
"payment_source": {
"type": "mobile_money",
"reference": "<string>"
},
"failure": {
"code": "<string>",
"message": "<string>"
},
"completed_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"details": "<unknown>"
}
}Authorizations
A secret NorthFond business API key. Keep it on your server.
Headers
A unique key for this logical write operation. Reuse it when retrying the exact same request.
Required string length:
8 - 255Body
application/json
Response
On-ramp created
Available options:
offramp, onramp Available options:
created, awaiting_funds, funded, signing, submitting, processing, action_required, completed, failed Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I