Starknet: USDC On/OffRamp live.   Details →
Sphere Paysphere
Transfer

Create Transfer

POST
/v1/transfer
AuthorizationBearer <token>

JWT Bearer token authentication

In: header

amountstring

The amount for the transfer.

customerstring

The id of the customer for the transfer

Pattern"^customer_[a-z0-9]+$"
sourceobject

The source of the transfer

destinationobject

The recipient of the transfer.

Response Body

curl -X POST "https://api.sandbox.spherepay.co/v1/transfer" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "100",
    "customer": "customer_1234567890",
    "source": {
      "id": "wallet_1234567890",
      "currency": "usdc",
      "network": "ethereum"
    },
    "destination": {
      "id": "bankAccount_1234567890",
      "currency": "usd",
      "network": "achPush"
    }
  }'
const body = JSON.stringify({
  "amount": "100",
  "customer": "customer_1234567890",
  "source": {
    "id": "wallet_1234567890",
    "currency": "usdc",
    "network": "ethereum"
  },
  "destination": {
    "id": "bankAccount_1234567890",
    "currency": "usd",
    "network": "achPush"
  }
})

fetch("https://api.sandbox.spherepay.co/v1/transfer", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "https://api.sandbox.spherepay.co/v1/transfer"
  body := strings.NewReader(`{
    "amount": "100",
    "customer": "customer_1234567890",
    "source": {
      "id": "wallet_1234567890",
      "currency": "usdc",
      "network": "ethereum"
    },
    "destination": {
      "id": "bankAccount_1234567890",
      "currency": "usd",
      "network": "achPush"
    }
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://api.sandbox.spherepay.co/v1/transfer"
body = {
  "amount": "100",
  "customer": "customer_1234567890",
  "source": {
    "id": "wallet_1234567890",
    "currency": "usdc",
    "network": "ethereum"
  },
  "destination": {
    "id": "bankAccount_1234567890",
    "currency": "usd",
    "network": "achPush"
  }
}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
{
  "ok": true,
  "object": "object",
  "statusCode": 200,
  "error": null,
  "message": "success",
  "data": {
    "transfer": {
      "id": "payout_727a8a9a7e4a46a7839eb5a55424934c",
      "number": 4,
      "type": "onRamp",
      "status": "pending",
      "meta": {},
      "lookupKey": null,
      "amount": "100.00",
      "finalAmount": "99.00",
      "fee": "1.00",
      "source": {
        "id": "bankAccount_fdef235388c240eb8b14dad8ed542e53",
        "currency": "usd",
        "network": "achPush"
      },
      "funding": {
        "id": "bankAccount_15e94e2bfd614a0483afe09f96dae90a",
        "currency": "usd",
        "network": "achPush"
      },
      "destination": {
        "id": "wallet_5655089bfb164769b085f6fd9f1e25a0",
        "currency": "usdc",
        "network": "ethereum"
      },
      "instructions": {
        "memo": "BRGUEWY5SEWHESVTMW94",
        "imad": null,
        "omad": null,
        "human": "Send 100 usd via the achPush network from bankAccount_fdef235388c240eb8b14dad8ed542e53 with an account number of ********9389 to bankAccount_15e94e2bfd614a0483afe09f96dae90a with an account number of ********1267. After sending usd, the payout will be funded and 100 of usdc will be on-ramped to wallet_5655089bfb164769b085f6fd9f1e25a0 with an address of 0x7Aa40147383F5c985Bd6D90D8d6832cF9091fcF1 on the ethereum network.",
        "machine": "",
        "resource": {
          "id": "bankAccount_15e94e2bfd614a0483afe09f96dae90a",
          "status": "active",
          "bankName": "Lead Bank",
          "accountHolderName": "Sphere",
          "accountName": "Sphere",
          "accountNumber": "213796231267",
          "customer": "customer_654f29a47e1b46cdb9e241c8eb154c93",
          "last4": "1267",
          "routingNumber": "101019644",
          "bic": null,
          "iban": null,
          "bankAddressString": "1801 Main St. Kansas City MO 64108, Kansas, United States of America",
          "meta": {},
          "lookupKey": null,
          "currency": "usd",
          "walletBankAccounts": [],
          "accountType": "checking",
          "updated": "2025-01-16T21:05:22.192Z",
          "created": "2025-01-16T21:05:22.192Z",
          "deleted": null
        }
      },
      "failureReason": null,
      "failureReasonExplanation": null,
      "mock": false,
      "customer": "customer_68f1c089703945e7bbff6f04bf1c5041",
      "updated": "2025-04-19T21:46:09.554Z",
      "created": "2025-04-19T21:46:09.554Z"
    }
  },
  "ts": "2025-04-19T21:46:09.849Z",
  "request": "request_a067bc3693d242fe9cd0aeed3e6dabb2"
}
{
  "ok": false,
  "object": "error",
  "statusCode": 500,
  "error": {
    "response": "No eligible transfer provider",
    "status": 400,
    "message": "No eligible transfer provider",
    "name": "HttpException"
  },
  "message": "No eligible transfer provider",
  "data": null,
  "ts": "2025-04-19T21:51:19.150Z",
  "request": "request_7033125868b94b11b4dffb9ba8d86365"
}