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})/PayWithWarpTransfer

Parameters

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?