Skip to main content

Withdrawals

Core private-payroll withdrawals

GET /api/v1/withdrawals/
GET /api/v1/withdrawals/available/
GET /api/v1/withdrawals/context/{payroll_pk}/
GET /api/v1/withdrawals/{uuid}/

Prepare:

POST /api/v1/withdrawals/prepare/

{
"payroll_id": 12
}

The current serializer rejects extra client-controlled fields.

Submit wallet signature:

POST /api/v1/withdrawals/{uuid}/submit/

{
"signature": "0x..."
}

Resume processing:

POST /api/v1/withdrawals/{uuid}/process/

Why the prepare payload is small

Earlier documentation examples allowed the client to supply destination and amount. The current source no longer does that. Authorization-sensitive fields are server-derived so an untrusted browser cannot alter the complete payroll withdrawal.