executionMode and submitEndpointRequired in the order response.
Escrow Fill Submission
The transaction of an escrow fill (async) is complete after the user signs. The app sends it to Solana through its own RPC and tracks it as in Track an Escrow Fill.
Direct Fill Submission
A response withsubmitEndpointRequired: true goes to the submit transaction endpoint. Any other response goes through the app’s own RPC.
Point the app’s send call at the endpoint and pass the API key in the x-api-key header; it returns the transaction’s signature.
Submit Endpoint Differences from a Solana RPC
- The transaction must be the one
/orderreturned plus the user’s signature (and the sponsor’s, when the request sets one). The endpoint rejects a transaction whose terms were changed. - The endpoint serves
sendTransactiononly, and ignores configuration fields other thanencoding. - The returned signature is not yet confirmed, so the app tracks the transaction onchain.
Submit Endpoint Errors
Errors are JSON-RPC error objects in an HTTP200 response, as on a Solana RPC.
sendRawTransaction throws with the error message only. To read error.code and error.data.reason, the app posts the request itself:
Submit Endpoint Rejection Reasons
After a rejection, the app calls the order endpoint again and the user signs the new transaction.