Sphere Paysphere

Accepting Transfers through the API

Ready to automate fiat on‑ramps and off‑ramps? Integrate Sphere’s Transfer API in minutes to let your users move seamlessly between fiat and stablecoins.

Easily integrate Sphere’s Transfer API into your backend so that your users can convert fiat into stablecoins (on‑ramp) or redeem stablecoins for fiat (off‑ramp), all through a single, secure endpoint.

Prerequisites

  • A Sphere account with an active API secret key.
  • A verified Customer (KYC approved).
  • Wallet addresses and bank accounts registered for transfers.

Transfer API

POST https://api.spherepay.co/v1/transfer

For full request/response details, see the Sphere API Reference.

Request Example

{
    "amount": "100",
    "customer": "{{customer_id}}",
    "source": {
	  "id": "{{bank_account_id}}",
      "currency": "usd",
      "network": "achPush"
    },
    "destination": {
      "id": "{{wallet_account_id}}",
      "currency": "usdc",
      "network": "ethereum"
	}
}

Tip: Make sure your source.currency and destination.currency align (e.g. "usd" → "usdc").

If you receive a 200 response with "status": "pending", the transfer is created and awaiting funds.

Response Example

{
  "ok": true,
  "object": "object",
  "statusCode": 200,
  "error": null,
  "message": "success",
  "data": {
    "transfer": {
      "id": "{{transfer_id}}",
      "number": 18,
      "type": "onRamp",
      "status": "pending",
      "meta": {},
      "lookupKey": null,
      "amount": "10.00",
      "finalAmount": null,
      "source": {
        "id": "{{bank_account_id}}",
        "currency": "usd",
        "network": "wire"
      },
      "destination": {
        "id": "{{wallet_account_id}}",
        "currency": "usdc",
        "network": "ethereum"
      },
      "instructions": {
        "memo": "BRGSFNHQBH3RKPEQDMD2",
        "imad": null,
        "omad": null,
        "human": "Send 10 usd via the wire network from {{bank_account_id}} with an account number of ********5771 to {{bank_account_id}} with an account number of ********2035. After sending usd, the transfer will be funded and 10 of usdc will be on-ramped to {{wallet_account_id}} with an address of {{wallet_address}} on the ethereum network.",
        "machine": "",
        "resource": {
          "id": "{{bank_account_id}}",
          "status": "active",
          "bankName": "Lead Bank",
          "accountHolderName": "Sphere Bank Account",
          "accountName": "Sphere Bank Account",
          "accountNumber": "1234567890",
          "customer": "{{customer_id}}",
          "last4": "2035",
          "routingNumber": "0987654321",
          "bankAddressString": "1801 Main St. Kansas City MO 64108, Kansas, United States of America",
          "meta": {},
          "currency": "usd",
          "accountType": "checking",
        }
      },
      "mock": false,
      "customer": "{{customer_id}}",
    }
  },
  "ts": "{{timestamp}}",
  "request": "{{request_id}}"
}

Last updated on

On this page