Earn

Submit a signed external-wallet withdrawal

The exit mirror of the deposit submit: signature verified over the exact built message, movement recorded before broadcast, Idempotency-Key required, one submission per built transaction.

post/v1/earn/external-wallet/withdrawals

Headers

x-project-idstring

Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

Example:prj_example

Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

Idempotency-Keystring required

Idempotency key for safely retrying mutating requests. 1-255 printable ASCII characters; echoed back on the response.

Example:idempotency_example_12345

Idempotency key for safely retrying mutating requests. 1-255 printable ASCII characters; echoed back on the response.

Request body

transactionIdstring required

The built transaction being submitted; single-use.

signedTransactionstring required

Base64 wire bytes of the signed transaction. They must be byte-for-byte the built message with only signatures added.

Example request

{
  "transactionId": "earn_external_wallet_transaction_example",
  "signedTransaction": "AUyx/sEc49/1l6jxo3nbViPAIUqdrXCo8Qx5SfDvIbtUI0zex3Bi6Cyhhn1QTVU8zWDzXTRyIX2aCmq9v7yk5AOAAQABAvSV602SJ67iQCUGLwHzVtPnlMbZqL79wnV/nb+Mi9SJBUpTWpkpIQZNJOhxYNo4fHw1td28kruB5B+oQEEFRI0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAtzZHAtZXhhbXBsZQA="
}

Response

Recorded withdrawal movement

Example response

{
  "data": {
    "withdrawal": {
      "movementId": "earn_movement_example",
      "positionId": "earn_position_example",
      "provider": "kamino",
      "providerReference": "7uib8xGAwkaPz4ZGCA6t8sSEid5Yp9ty13PHUweTypx",
      "ownerAddress": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
      "amount": "25",
      "denomination": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
      "createdAt": "2025-01-01T00:00:00.000Z",
      "confirmedAt": "2025-01-01T00:00:00.000Z",
      "settledAt": "2025-01-01T00:00:00.000Z"
    }
  },
  "meta": {
    "requestId": "req_example",
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}

Changes

Changed in 1 of the 10 revisions of this API.1