Pay an invoice with transfer
Pays a specific Invoice using a direct transfer of the specified asset from the sender's address. The invoice represents a digital record of payment obligation, and this operation transfers the required asset amount (in sparks) to the invoice's target address.
📘 Learn more about invoices.
Request Endpoint
POST /odata/v1.0/Invoices({key})/PayWithTransferParameters
Parameter
Type
Description
Mandatory
key
string($uuid)
The unique identifier of the invoice to pay.
✅
Request Body
Content type: application/json  — Specifies the sender address initiating the payment.
Parameter
Type
Description
Mandatory
senderAddress
string
Wallet address which will pay the invoice. Must have enough units of the asset.
✅
Example Request
POST /Invoices(68c6abdb-0650-46d5-7d33-08da44a68d8c)/PayWithTransferContent-Type: application/json 
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"
}Response Body
Content type: application/json — Returns details of the blockchain transaction created for invoice payment.
Parameter
Description
Id
Transaction ID in TEOS system.
State
State of the transaction.
BlockchainTransactionId
ID of the transaction on the blockchain.
CorrelationId
Correlation ID for tracking across services.
Type
Type of the transaction (e.g., ActivateAsset).
OnCreated
Timestamp when transaction was created.
OnUpdated
Timestamp when transaction was last updated.
OnSubmitted
Timestamp when transaction was submitted to blockchain.
OnCommitted
Timestamp when transaction was committed on blockchain.
OnConfirmed
Timestamp when transaction was confirmed on blockchain.
OnRevokedByBlockchain
Timestamp if transaction was revoked by blockchain.
OnRevokedByUser
Timestamp if transaction was revoked by user.
OnRevokedByTxServer
Timestamp if transaction was revoked by transaction server.
SignedBy
Entity that signed the transaction.
CreatedBy
ID of the user who created the transaction.
GasPrice
Gas price used for the blockchain transaction.
GasUsed
Gas used by the blockchain transaction.
DataAsJson
Additional transaction data in JSON format.
SigningParametersAsJson
JSON containing parameters used for signing.
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:48:55.206Z",
  "OnUpdated": "2025-10-07T07:48:55.206Z",
  "OnSubmitted": "2025-10-07T07:48:55.206Z",
  "OnCommitted": "2025-10-07T07:48:55.206Z",
  "OnConfirmed": "2025-10-07T07:48:55.206Z",
  "OnRevokedByBlockchain": "2025-10-07T07:48:55.206Z",
  "OnRevokedByUser": "2025-10-07T07:48:55.206Z",
  "OnRevokedByTxServer": "2025-10-07T07:48:55.206Z",
  "SignedBy": "string",
  "CreatedBy": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "GasPrice": "string",
  "GasUsed": "string",
  "DataAsJson": "string",
  "SigningParametersAsJson": "string"
}Response Codes
Code
Description
202
Invoice payment transaction accepted.
400
Bad request, invalid data or insufficient asset balance.
401
Unauthorized.
404
Invoice not found.
Last updated
Was this helpful?