Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.starkfi.io/llms.txt

Use this file to discover all available pages before exploring further.

POST /payment/execute/on-chain
1

Broadcast transaction

Broadcasting a transaction
ParameterTypeRequiredDescription
executor_idstringTransaction executor type. Use api_transaction when request comes via API
payment_idstringUnique payment identifier generated in the previous step
signed_transactionstringSigned transaction hex string generated by the user’s wallet

Expected Response

The broadcast was accepted and the transaction receipt confirmed it. The order status is updated to success.
{
  "statusCode": 200,
  "success": true,
  "status": "payment_confirmed",
  "message": "Payment confirmed",
  "data": {
    "id": "cmoejr9eh000401nyffxgmxtj",
    "tid_hash": "0xabc123...def456"
  }
}
data.id
string
Internal order ID in StarkNode
data.tid_hash
string
Confirmed transaction hash on the blockchain

Errors

These occur during payload or order validation, before any broadcast is sent to the network.
HTTPstatusWhen it occurs
400invalid_parametersInvalid payload (schema validation failed)
400invalid_chainOrder’s chain is not enabled or not supported
404payment_not_foundpayment_id does not exist
409invalid_payment_statusOrder is not in registered or retry status
409missing_unsigned_transactionUnsigned tx was not generated before execute
400invalid_signed_transactionInvalid signature or mismatch with the unsigned tx
400stale_transaction_nonceTransaction nonce is out of sync
These occur after validation, during or after the broadcast to the network.
HTTPstatusWhen it occurs
500payment_failedReceipt received but transaction was reverted on-chain
500finalizer_payment_order_on_chain_failedUnexpected exception inside the finalizer
500blockchain_transaction_failedException caught by the controller before reaching the finalizer

Order Status Lifecycle

registered / retry
  → processing          (execute started)
  → processing          (signed_tx saved)
  → success             (FinalizerTransferOnChain: broadcast confirmed)
  → received            (FinalizerBridgeSwapOnChain: waiting for worker)
  → success             (worker completes the bridge)
  → error               (any failure along the way)