Skip to main content

Currency Exchange

warning

Heads up: API coming soon.

This API is not currently accessible. The documentation below reflects the intended design and is meant for early familiarization, not active integration.

The example below shows how to exchange between different currencies on SphereNet. You can specify a slippage tolerance to protect against exchange rate fluctuations.

Example Request

POST v1/transactions
curl https://api.sphere.net/v1/transactions \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Idempotency-Key: <Unique Idempotency Key>' \
-d '{
"amount": "1000.00",
"customer": "cust_alice",
"signature": "base64_encoded_signature",
"source": {
"paymentRail": "spherenet",
"currency": "usd",
"account": "sphere1abc..."
},
"destination": {
"paymentRail": "spherenet",
"currency": "eur",
"account": "sphere1abc..."
},
"slippageTolerance": "0.01"
}'

Response

{
"ok": true,
"object": "object",
"statusCode": 200,
"error": null,
"message": "success",
"data": {
"id": "txn_123",
"state": "processing",
"customer": "cust_alice",
"amount": "1000.00",
"source": {
"paymentRail": "spherenet",
"currency": "usd",
"account": "sphere1abc..."
},
"destination": {
"paymentRail": "spherenet",
"currency": "eur",
"account": "sphere1abc..."
},
"networkData": {
"signature": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8aCxBwKE7k4PoHiH1ViQX8KgB9CKBY2RcKF8PSbBqhqFQXXX",
"slot": 430,
"confirmations": 1,
"commitment": "processed",
"error": null
},
"exchangeRate": "0.92",
"slippageTolerance": "0.01",
"createdAt": "2024-01-20T19:39:14.316Z",
"updatedAt": "2024-01-20T19:39:14.316Z"
},
"ts": "2024-08-22T16:15:42.707Z",
"request": "request_cdde26b2c0534183a1aaba6baebaec1f"
}

📘 The slippageTolerance field is optional and represents the maximum acceptable deviation from the expected exchange rate (as a decimal). For example, a value of "0.01" means the transaction will fail if the actual exchange rate differs by more than 1% from the expected rate at execution time.