Submit a transaction for verification
POST
/payments/process
const url = 'https://hub.stablezact.com/api/v1/payments/process';const options = { method: 'POST', headers: {'X-Public-Key': '<X-Public-Key>', 'Content-Type': 'application/json'}, body: '{"paymentId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","network":"example","transactionHash":"example","senderAddress":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://hub.stablezact.com/api/v1/payments/process \ --header 'Content-Type: application/json' \ --header 'X-Public-Key: <X-Public-Key>' \ --data '{ "paymentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "network": "example", "transactionHash": "example", "senderAddress": "example" }'Hands a broadcast transaction to the server to verify on chain. This can
take well over thirty seconds, because it waits on confirmations. A
transaction that has not confirmed yet is answered with 400 and a
verificationAttempts count rather than an error, and should be retried.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
paymentId
required
string format: uuid
network
required
Must match the network the payment was created on.
string
transactionHash
required
An EVM hash is 0x followed by 64 hex characters. Solana hashes are validated against their own format.
string
senderAddress
Optional. Validated against the address format for network.
string
Examplegenerated
{ "paymentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "network": "example", "transactionHash": "example", "senderAddress": "example"}Responses
Section titled “Responses”Verified.
Media typeapplication/json
object
success
boolean
Examplegenerated
{ "success": true}Rejected, or not yet confirmed on chain.
Media typeapplication/json
object
success
boolean
error
required
Short machine-ish reason.
string
message
Longer explanation, when there is one.
string
verificationAttempts
integer
Example
{ "success": false, "error": "Transaction not yet confirmed on blockchain", "verificationAttempts": 8}Missing or invalid credentials.
Media typeapplication/json
object
success
boolean
error
required
Short machine-ish reason.
string
message
Longer explanation, when there is one.
string
Example
{ "error": "API credentials required. Use x-public-key header or x-api-key and x-api-secret headers."}