API Reference

Withdrawals

Send funds out of the master wallet. Octo builds, signs, and submits the Stellar payment for you; the seed is decrypted only in-memory at signing time and wiped immediately after.

Withdrawals require a dashboard login token. API keys are rejected (401) so an integration credential can never move funds out.

Create a withdrawal

POST/v1/wallets/:id/withdraw
FieldTypeDescription
destinationrequiredstringDestination account (G…) or muxed (M…) address.
amount_stroopsrequiredintegerAmount in stroops (1 XLM = 10,000,000). Must be > 0.
memo_idintegerOptional numeric memo on the payment.
Idempotency-KeyrequiredheaderUnique per withdrawal. Reusing it returns the original result (no double-spend).
Request
curl -X POST http://localhost:8080/v1/wallets/<WALLET_ID>/withdraw \
  -H "authorization: Bearer <LOGIN_TOKEN>" \
  -H "Idempotency-Key: payout-9f3c" \
  -H "content-type: application/json" \
  -d '{ "destination": "G…DEST", "amount_stroops": 10000000 }'
Response (201)
{
  "statusCode": 201,
  "message": "Created",
  "data": {
    "id": "b41a…",
    "status": "confirmed",
    "stellar_tx_hash": "9c0d…",
    "destination": "G…DEST",
    "amount_stroops": 10000000
  }
}

status is confirmed when the transaction succeeded on-chain, or failed otherwise. A retry with the same Idempotency-Key returns 409.