Skip to main content
POST
Submit signed transaction
There is one submit route in the Borrow API and no separate submit-hash route. Send exactly one body field: Sending both, or neither, returns 400. These are not the Earn field names signedTransaction and hash. A transaction can be submitted once, and only from CREATED. Any later call returns 400 Transaction <id> is not ready for submission. Status: <status>, including after a failed broadcast. Submit an action’s transactions in the order returned, then poll Get an action for CONFIRMED and the action’s final status. The success response is always BROADCASTED; it does not mean confirmed.

Authorizations

x-api-key
string
header
required

Path Parameters

transactionId
string
required

Transaction ID from action response (UUID)

Example:

"550e8400-e29b-41d4-a716-446655440000"

Body

application/json
signedPayload
string

Signed transaction payload. Required if transactionHash is not provided.

Example:

"0x1234567890abcdef..."

transactionHash
string

Transaction hash if already submitted. Required if signedPayload is not provided.

Example:

"0xabcdef1234567890..."

Response

Transaction submitted successfully

Link to view transaction on block explorer

Example:

"https://etherscan.io/tx/0x..."

status
enum<string>
required

Transaction status after submission

Available options:
NOT_FOUND,
CREATED,
BLOCKED,
WAITING_FOR_SIGNATURE,
SIGNED,
BROADCASTED,
PENDING,
CONFIRMED,
FAILED,
SKIPPED
Example:

"BROADCASTED"

transactionHash
string

Transaction hash (if available)

Example:

"0x1234567890abcdef..."

error
string

Error message if submission failed

details
object

Additional details