cURL
Account
Schedule Withdraw
POST
cURL
Documentation Index
Fetch the complete documentation index at: https://docs.bison.markets/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Schedule a USDC withdrawal request. This is step 1 of the two-phase withdrawal process. Scheduling requires only a signature (no gas). The withdrawal will be processed and become claimable after system batching.To avoid ambiguity, we denote the smallest possible multiple of USDC (0.000001 USDC) as one
uusdc,
which stands for µUSDC (micro-USDC), and denote the smallest possible multiple of a contract (0.01 contract)
as one ccontract (centicontract).User-facing USDC balances are specified as fixed-point strings (e.g. "1.2625" for USDC). Contract quantities
in the API and SDK are specified as integer ccontracts strings (e.g. "1050" for 10.50 contracts at precision 2).Withdrawal Flow
Bison uses a two-phase withdrawal process:- Schedule (this endpoint): User signs a message to request a withdrawal for a specific amount
- Claim (
/get-withdraw-authorization+ on-chain tx): User gets authorization and executes the withdrawal on-chain
Request Body
Chain to withdraw on. One of
base or bsc.User’s Ethereum wallet address.
Amount to withdraw in µUSDC as an integer string. Must be positive and not exceed deposited balance.
EIP-712 signature from the user authorizing the withdrawal request.
Unix timestamp when the signature expires. Should be set to ~10 minutes in the future.
Response
Unique identifier for the scheduled withdrawal.
Amount scheduled for withdrawal in µUSDC (integer string).
Initial withdrawal status. One of
pending, fill-locked, unclaimed, or claimed.ISO 8601 timestamp when the withdrawal was scheduled.
Withdrawal Status Flow
Withdrawals progress through these statuses:- pending: Scheduled, waiting for system processing
- fill-locked: Being processed by the system
- unclaimed: Ready to claim on-chain
- claimed: Successfully withdrawn
Error Responses
400 - Insufficient Balance
Returned when the withdrawal amount exceeds available balance.
400 - Invalid Signature
Returned when the signature is invalid or expired.
500 - Server Error
Returned when scheduling fails.
EIP-712 Signature
The signature must be generated using EIP-712 typed data with the following structure:Example Request
Example Response
Important Notes
- No gas is required to schedule a withdrawal
- Withdrawal amount is deducted from deposited balance immediately
- Multiple withdrawals can be scheduled and will be batched when claiming
- Signature expires after the specified
expirytimestamp - Use
/pending-withdraws/{userAddress}to check withdrawal status
Body
application/json