Introducing Starknet Network:   OffRamp and OnRamp USDC are now supported for Starknet network.  View changelog for details →.
Sphere Paysphere
Wallet

Create Wallet

POST
/v1/wallet
AuthorizationBearer <token>

In: header

customerstring

The id of the customer associated with the wallet. If not provided, this will be associated with the owner of the account.

networkstring

The network of the wallet. Transfer supported networks are sol, ethereum and base. Please refer to our Accepted Currency Guide for the full network and coins supported.

addressstring

The address of the wallet.

nickname?string

The name of the wallet for easier identification.

Response Body

curl -X POST "https://api.sandbox.spherepay.co/v1/wallet" \
  -H "Content-Type: application/json" \
  -d '{
    "customer": "{{customer_id}}",
    "network": "sol",
    "address": "9K6CyrAoG6zJYwi2hneXdxN47CpWqiywaS7fmgFAYc3v"
  }'
const body = JSON.stringify({
  "customer": "{{customer_id}}",
  "network": "sol",
  "address": "9K6CyrAoG6zJYwi2hneXdxN47CpWqiywaS7fmgFAYc3v"
})

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

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

func main() {
  url := "https://api.sandbox.spherepay.co/v1/wallet"
  body := strings.NewReader(`{
    "customer": "{{customer_id}}",
    "network": "sol",
    "address": "9K6CyrAoG6zJYwi2hneXdxN47CpWqiywaS7fmgFAYc3v"
  }`)
  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/wallet"
body = {
  "customer": "{{customer_id}}",
  "network": "sol",
  "address": "9K6CyrAoG6zJYwi2hneXdxN47CpWqiywaS7fmgFAYc3v"
}
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": {
    "wallet": {
      "id": "wallet_adc97840430947c2a6462c77cb67cf5b",
      "address": "9K6CyrAoG6zJYwi2hneXdxN47CpWqiywaS7fmgFAYc3v",
      "network": "sol",
      "nickname": null,
      "risk": "low",
      "primary": false,
      "feePayer": false,
      "signed": false,
      "mock": false,
      "lookupKey": null,
      "customer": "customer_68f1c089703945e7bbff6f04bf1c5041",
      "owner": "customer",
      "exported": null,
      "created": "2025-04-08T23:07:19.299Z",
      "updated": "2025-04-08T23:07:19.299Z",
      "deleted": null
    }
  },
  "ts": "2025-04-13T22:04:37.275Z",
  "request": "request_3d919acf664243be98012ee6289d723f"
}
{
  "ok": false,
  "object": "error",
  "statusCode": 400,
  "message": "Bad Request Exception",
  "data": null,
  "ts": "2025-04-20T21:44:31.448Z",
  "request": "request_acfb6cd72d0b46e4be4a15ca0a28b179"
}