Skip to main content

Transactions

Sphere's transaction system provides a seamless way to move funds on SphereNet through a single API interface. All transactions on SphereNet are routed through Sphere as the network's steward, requiring Sphere's signature for validation.

How It Works

Users have full control over their funds. When moving funds that are already on the network, a signature is required to authorize the transaction. Our SDK:

  • Generates the API request
  • Creates and signs the transaction data when required
    • Creates a transaction with your details
    • Signs it with your key
  • Formats everything into a single API call

Making Requests

All transactions use the same API endpoint:

  1. Provide your transaction details to the SDK
  2. The SDK generates an API request
  3. Send the request

Both source and destination can be:

  • Fiat accounts (bank accounts, debit cards)
  • Digital wallets (on supported blockchains)
  • SphereNet native accounts

Request States

API requests progress through several states:

  • awaitingFunds - Waiting for external funds to arrive (for deposits from bank/crypto)
  • awaiting_cosign - Waiting for user cloud share signature (for network movements)
  • funds_received - External funds received, processing has begun
  • processing - Request is being processed on the network
  • confirmed - Request completed successfully
  • failed - Request failed due to validation or other errors
  • returned - Funds were returned to sender due to processing issues
  • canceled - Request was canceled (only possible in awaitingFunds state)

A request will progress through states based on its type:

  • External deposits: awaitingFundsfunds_receivedprocessingconfirmed
  • Network movements: awaiting_cosignprocessingconfirmed

Once Sphere approves a request, they will either:

  • Submit the multi-signed transaction to the network, or
  • Create their own transaction to fund the account

External Deposits

For certain requests, additional steps may be needed to pull funds from the source account. In these cases, the API will return sourceDepositInstructions containing:

  • Deposit addresses
  • Wire transfer details
  • Other rail-specific instructions

Once the deposit is initiated according to these instructions, the request will proceed automatically through the remaining states.