Pay an invoice with WARP
This endpoint allows TEOS users to pay an invoice using the WARP mechanism. A WARP is a chain of supplies that enables exchanging sparks of offered assets for sparks of desired assets based on available offers in the TEOS Platform.
Users can execute a WARP to pay the invoice even if they do not hold the exact asset required, as long as they have enough of the offered asset in the WARP chain.
Preconditions:
The sender address has enough units of the WARP offered asset to cover the transaction.
📘 Learn more about invoices.
Request Endpoint
POST /odata/v1.0/Invoices({key})/PayWithWarpTransferParameters
Parameter
Type
Description
Mandatory
key
string($uuid)
Invoice ID
✅
Request Body
application/json — Contains the payment details for executing the WARP.
Parameter
Type
Description
Mandatory
senderAddress
string
Wallet address that will pay the invoice using the WARP
✅
inputAmount
string
Amount of the offered asset to spend in sparks
✅
supplyIds
array[string]
List of WARP supply IDs that define the chain of exchanges
✅
Example Request Body:
In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the "SenderAddress" is 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer, it is 63 characters.
{
  "senderAddress": "0xe0450ce1e2ef73b15514ae6a003b90d0ebac8835",
  "inputAmount": "100500",
  "supplyIds": [
    "0x827CB8534CFABA240CC90001C271BF2BEC1796539AB2000168E4D1DC000007C7",
    "0xC271BF2BEC1796539AB20001C271BF2BEC1796539CDE000168E4D1DC00000797"
  ]
}
Response Body
application/json  — Returns details of the WARP transaction for invoice payment.
Parameter
Description
Id
The unique ID of the transaction
State
Current state of the transaction
BlockchainTransactionId
Blockchain transaction hash
CorrelationId
Correlation ID for tracking
Type
Type of transaction (e.g., ActivateAsset)
OnCreated
Timestamp of transaction creation
OnUpdated
Timestamp of last update
OnSubmitted
Timestamp when transaction was submitted
OnCommitted
Timestamp when transaction was committed
OnConfirmed
Timestamp when transaction was confirmed on the blockchain
OnRevokedByBlockchain
Timestamp if revoked by blockchain
OnRevokedByUser
Timestamp if revoked by user
OnRevokedByTxServer
Timestamp if revoked by transaction server
SignedBy
Address or entity that signed the transaction
CreatedBy
ID of the entity that created the transaction
GasPrice
Gas price used (if applicable)
GasUsed
Gas used (if applicable)
DataAsJson
Additional transaction data
SigningParametersAsJson
Signing parameters in JSON
Example Response Body:
{
  "Id": "C0D34D73-6FD3-40F2-A7E1-08D9412448F7",
  "State": "3",
  "BlockchainTransactionId": "0x748ac47e7226cae0e4e13373375f33ab9e4d43ef29d85d233162a7e7e913703b",
  "CorrelationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Type": "ActivateAsset",
  "OnCreated": "2025-10-07T07:53:09.540Z",
  "OnUpdated": "2025-10-07T07:53:09.540Z",
  "OnSubmitted": "2025-10-07T07:53:09.540Z",
  "OnCommitted": "2025-10-07T07:53:09.540Z",
  "OnConfirmed": "2025-10-07T07:53:09.540Z",
  "OnRevokedByBlockchain": "2025-10-07T07:53:09.540Z",
  "OnRevokedByUser": "2025-10-07T07:53:09.540Z",
  "OnRevokedByTxServer": "2025-10-07T07:53:09.540Z",
  "SignedBy": "string",
  "CreatedBy": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "GasPrice": "string",
  "GasUsed": "string",
  "DataAsJson": "string",
  "SigningParametersAsJson": "string"
}Response Codes
Code
Description
202
Accepted. WARP payment transaction successfully placed
400
Bad Request. The request data is invalid
401
Unauthorized. The sender is not authorized
404
Not Found.
Last updated
Was this helpful?