Skip to main content

SphereNet to Fiat (TradFi Off-Ramp)

The example below shows how to transfer funds from SphereNet to a bank account via ACH or wire transfer.

ACH Example

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": "ach",
"currency": "usd",
"bankAccountId": "ext_123"
}
}'

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": "ach",
"currency": "usd",
"bankAccountId": "ext_123"
},
"networkData": {
"signature": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8aCxBwKE7k4PoHiH1ViQX8KgB9CKBY2RcKF8PSbBqhqFQXXX",
"slot": 430,
"confirmations": 1,
"commitment": "processed",
"error": null
},
"createdAt": "2024-01-20T19:39:14.316Z",
"updatedAt": "2024-01-20T19:39:14.316Z"
},
"ts": "2024-08-22T16:15:42.707Z",
"request": "request_cdde26b2c0534183a1aaba6baebaec1f"
}

Wire Example

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": "wire",
"currency": "usd",
"bankAccountId": "ext_123",
"wire_message": "Payment for Invoice #123"
}
}'

📘 The wire_message has strict formatting rules:

  • Maximum 3 lines (separated by "\n")
  • Each line maximum 35 characters
  • Request will be rejected if format is not met