Skip to main content
POST
/
delta
/
orders
Submit a signed Delta order
curl --request POST \
  --url https://api.velora.xyz/delta/orders \
  --header 'Content-Type: application/json' \
  --data '
{
  "order": {},
  "signature": "<string>"
}
'

Documentation Index

Fetch the complete documentation index at: https://new-docs.velora.xyz/llms.txt

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

How this call breaks in production

SymptomRoot causeFix
400 Invalid signatureSigned payload doesn’t match the order field byte-for-byteSign the exact order returned by POST /delta/orders/build. Don’t re-sort, re-stringify, or re-encode
400 Order expired immediatelyMore than ~30s elapsed between build and submitSubmit the signed order within the validity window; if the user pauses, re-quote and rebuild
200 OK, but order stays at pending indefinitelySolver auction returned no fill (size, pair, or chain conditions)Poll GET /delta/orders/:id; if still pending past your SLA, cancel and re-quote — see Order lifecycle & status codes
Order transitions to failed post-acceptanceAllowance revoked, balance moved, or token-approval points at the wrong spenderConfirm allowance to the Delta contract spender persists for the order’s full lifecycle — see Chains & contracts
partialFill order settles partial then stallsSolver network couldn’t source the remainder at the signed priceDecide whether to cancel and re-quote the remainder, or wait for the full validity window
200 OK but no order id returnedClient treated empty response as success; gateway response was actually a 5xxAlways check status and presence of id; retry on 5xx with idempotent re-submission of the same signed payload
Updated from support tickets at each release. Last updated: 2026-05-15.

Body

application/json
order
object
required
signature
string
required

Response

Order accepted; returns order id and status URL.