cURL
curl --request GET \
--url https://api.example.com/pending-withdraws/{userAddress}import requests
url = "https://api.example.com/pending-withdraws/{userAddress}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/pending-withdraws/{userAddress}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/pending-withdraws/{userAddress}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/pending-withdraws/{userAddress}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/pending-withdraws/{userAddress}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/pending-withdraws/{userAddress}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"withdraws": [
{
"id": "<string>",
"chain": "base",
"amountUusdc": "<string>",
"claimedAmountUusdc": "<string>",
"remainingUusdc": "<string>",
"status": "pending",
"scheduledAt": "<string>",
"lockedAt": "<string>",
"unclaimedAt": "<string>"
}
],
"totalPending": "<string>",
"totalFillLocked": "<string>",
"totalUnclaimed": "<string>",
"totalAvailableUnclaimed": "<string>"
}{
"error": "<string>"
}Account
Pending Withdrawals
GET
/
pending-withdraws
/
{userAddress}
cURL
curl --request GET \
--url https://api.example.com/pending-withdraws/{userAddress}import requests
url = "https://api.example.com/pending-withdraws/{userAddress}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/pending-withdraws/{userAddress}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/pending-withdraws/{userAddress}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/pending-withdraws/{userAddress}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/pending-withdraws/{userAddress}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/pending-withdraws/{userAddress}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"withdraws": [
{
"id": "<string>",
"chain": "base",
"amountUusdc": "<string>",
"claimedAmountUusdc": "<string>",
"remainingUusdc": "<string>",
"status": "pending",
"scheduledAt": "<string>",
"lockedAt": "<string>",
"unclaimedAt": "<string>"
}
],
"totalPending": "<string>",
"totalFillLocked": "<string>",
"totalUnclaimed": "<string>",
"totalAvailableUnclaimed": "<string>"
}{
"error": "<string>"
}Overview
Get all pending withdrawals for a user, including their status and claimable amounts.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).Path Parameters
string
required
User’s Ethereum wallet address.
Response
array
List of withdrawal records.
Show Withdrawal object properties
Show Withdrawal object properties
string
Unique withdrawal identifier.
string
Chain the withdrawal is on (
base or bsc).string
Original scheduled withdrawal amount in µUSDC (integer string).
string
Amount already claimed from this withdrawal in µUSDC (integer string).
string
Amount still available to claim in µUSDC (integer string).
string
Current status:
pending, fill-locked, unclaimed, or claimed.string
ISO 8601 timestamp when the withdrawal was scheduled.
string | null
ISO 8601 timestamp when the withdrawal was locked for processing.
string | null
ISO 8601 timestamp when the withdrawal became claimable.
string
Total amount in
pending status in µUSDC (integer string).string
Total amount in
fill-locked status in µUSDC (integer string).string
Total amount in
unclaimed status in µUSDC (integer string).string
Total amount available to claim right now in µUSDC (integer string). Use this value to determine if the user can call
/get-withdraw-authorization.Withdrawal Statuses
| Status | Description |
|---|---|
pending | Scheduled, waiting for system processing |
fill-locked | Being processed by the system |
unclaimed | Ready to claim on-chain |
claimed | Successfully withdrawn |
Example Request
GET /pending-withdraws/0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
Example Response
{
"withdraws": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"chain": "base",
"amountUusdc": "50000000",
"claimedAmountUusdc": "0",
"remainingUusdc": "50000000",
"status": "unclaimed",
"scheduledAt": "2024-11-09T15:30:00.000Z",
"lockedAt": "2024-11-09T15:35:00.000Z",
"unclaimedAt": "2024-11-09T15:40:00.000Z"
},
{
"id": "661f9511-f30c-52e5-b827-557766551111",
"chain": "base",
"amountUusdc": "25000000",
"claimedAmountUusdc": "0",
"remainingUusdc": "25000000",
"status": "pending",
"scheduledAt": "2024-11-09T16:00:00.000Z",
"lockedAt": null,
"unclaimedAt": null
}
],
"totalPending": "25000000",
"totalFillLocked": "0",
"totalUnclaimed": "50000000",
"totalAvailableUnclaimed": "50000000"
}
Usage
Check this endpoint to:- Monitor withdrawal progress: See when scheduled withdrawals become claimable
- Determine claimable amount: Use
totalAvailableUnclaimedto know how much can be claimed - Track partial claims: View
claimedAmountUusdcandremainingUusdcfor partial claim tracking
totalAvailableUnclaimed !== "0", the user can call /get-withdraw-authorization to get a claim signature.