Skip to main content
POST
/
sandbox
/
send
Simulate sending funds
curl --request POST \
  --url https://api.lightspark.com/grid/2025-10-13/sandbox/send \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006",
  "currencyCode": "USD",
  "currencyAmount": 1000
}
'
{
  "id": "Transaction:019542f5-b3e7-1d02-0000-000000000004",
  "status": "PENDING",
  "type": "OUTGOING",
  "destination": {
    "destinationType": "ACCOUNT",
    "accountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123",
    "currency": "EUR"
  },
  "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "platformCustomerId": "18d3e5f7b4a9c2",
  "source": {
    "sourceType": "ACCOUNT",
    "accountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
    "currency": "USD"
  },
  "sentAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "settledAt": "2025-08-15T14:30:00Z",
  "createdAt": "2025-08-15T14:25:18Z",
  "updatedAt": "2025-08-15T14:30:00Z",
  "description": "Payment for invoice #1234",
  "counterpartyInformation": {
    "FULL_NAME": "John Sender",
    "BIRTH_DATE": "1985-06-15",
    "NATIONALITY": "DE"
  },
  "receivedAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "exchangeRate": 1.08,
  "fees": 10,
  "quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006",
  "paymentInstructions": [
    {
      "accountOrWalletInfo": {
        "accountType": "USD_ACCOUNT",
        "paymentRails": [
          "ACH",
          "WIRE"
        ],
        "accountNumber": "1234567890",
        "routingNumber": "021000021",
        "bankName": "Chase Bank",
        "reference": "UMA-Q12345-REF"
      },
      "instructionsNotes": "Include reference UMA-Q12345-REF in memo"
    },
    {
      "accountOrWalletInfo": {
        "accountType": "SPARK_WALLET",
        "assetType": "BTC",
        "address": "spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu",
        "invoice": "lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs"
      }
    }
  ],
  "refund": {
    "reference": "UMA-Q12345-REFUND",
    "initiatedAt": "2025-08-15T14:30:00Z",
    "status": "COMPLETED",
    "settledAt": "2025-08-15T14:35:00Z",
    "reason": "TRANSACTION_FAILED"
  },
  "rateDetails": {
    "counterpartyMultiplier": 1.08,
    "counterpartyFixedFee": 10,
    "gridApiMultiplier": 0.925,
    "gridApiFixedFee": 10,
    "gridApiVariableFeeRate": 0.003,
    "gridApiVariableFeeAmount": 30
  },
  "failureReason": "QUOTE_EXPIRED"
}

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Body

application/json
quoteId
string
required

The unique identifier of the quote

Example:

"Quote:019542f5-b3e7-1d02-0000-000000000006"

currencyCode
string
required

Currency code for the funds to be sent

Example:

"USD"

currencyAmount
integer<int64>

The amount to send in the smallest unit of the currency (eg. cents). If not provided, the amount will be derived from the quote.

Example:

1000

Response

Funds received successfully

id
string
required

Unique identifier for the transaction

Example:

"Transaction:019542f5-b3e7-1d02-0000-000000000004"

status
enum<string>
required

Status of an outgoing payment transaction.

StatusDescription
PENDINGQuote is pending confirmation
EXPIREDQuote wasn't executed before expiry window
PROCESSINGExecuting the quote after receiving funds
COMPLETEDPayout successfully reached the destination
FAILEDSomething went wrong — accompanied by a failureReason
Available options:
PENDING,
EXPIRED,
PROCESSING,
COMPLETED,
FAILED
type
enum<string>
required

Type of transaction (incoming payment or outgoing payment)

Available options:
OUTGOING
destination
Account Destination · object
required

Destination account details

customerId
string
required

System ID of the customer (sender for outgoing, recipient for incoming)

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

platformCustomerId
string
required

Platform-specific ID of the customer (sender for outgoing, recipient for incoming)

Example:

"18d3e5f7b4a9c2"

source
Account Source · object
required

Source account details

sentAmount
object
required

Amount sent in the sender's currency

settledAt
string<date-time>

When the payment was or will be settled

Example:

"2025-08-15T14:30:00Z"

createdAt
string<date-time>

When the transaction was created

Example:

"2025-08-15T14:25:18Z"

updatedAt
string<date-time>

When the transaction was last updated

Example:

"2025-08-15T14:30:00Z"

description
string

Optional memo or description for the payment

Example:

"Payment for invoice #1234"

counterpartyInformation
object

Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses.

Example:
{
"FULL_NAME": "John Sender",
"BIRTH_DATE": "1985-06-15",
"NATIONALITY": "DE"
}
receivedAmount
object

Amount to be received by recipient in the recipient's currency

exchangeRate
number

Number of sending currency units per receiving currency unit.

Example:

1.08

fees
integer<int64>

The fees associated with the quote in the smallest unit of the sending currency (eg. cents).

Required range: x >= 0
Example:

10

quoteId
string

The ID of the quote that was used to trigger this payment

Example:

"Quote:019542f5-b3e7-1d02-0000-000000000006"

paymentInstructions
object[]

Payment instructions for executing the payment.

Example:
[
{
"accountOrWalletInfo": {
"accountType": "USD_ACCOUNT",
"paymentRails": ["ACH", "WIRE"],
"accountNumber": "1234567890",
"routingNumber": "021000021",
"bankName": "Chase Bank",
"reference": "UMA-Q12345-REF"
},
"instructionsNotes": "Include reference UMA-Q12345-REF in memo"
},
{
"accountOrWalletInfo": {
"accountType": "SPARK_WALLET",
"assetType": "BTC",
"address": "spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu",
"invoice": "lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs"
}
}
]
refund
object

The refund if transaction was refunded.

rateDetails
object

Details about the rate and fees for the transaction.

failureReason
enum<string>

If the transaction failed, this field provides the reason for failure.

Available options:
QUOTE_EXPIRED,
QUOTE_EXECUTION_FAILED,
LIGHTNING_PAYMENT_FAILED,
FUNDING_AMOUNT_MISMATCH,
COUNTERPARTY_POST_TX_FAILED,
TIMEOUT