curl --request POST \
--url https://api.inprocess.world/api/smartwallet/withdraw \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"currency": "eth",
"amount": "0.1",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
"chainId": 8453
}
'import requests
url = "https://api.inprocess.world/api/smartwallet/withdraw"
payload = {
"currency": "eth",
"amount": "0.1",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
"chainId": 8453
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
currency: 'eth',
amount: '0.1',
to: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0',
chainId: 8453
})
};
fetch('https://api.inprocess.world/api/smartwallet/withdraw', 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.inprocess.world/api/smartwallet/withdraw",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'currency' => 'eth',
'amount' => '0.1',
'to' => '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0',
'chainId' => 8453
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.inprocess.world/api/smartwallet/withdraw"
payload := strings.NewReader("{\n \"currency\": \"eth\",\n \"amount\": \"0.1\",\n \"to\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0\",\n \"chainId\": 8453\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.inprocess.world/api/smartwallet/withdraw")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"eth\",\n \"amount\": \"0.1\",\n \"to\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0\",\n \"chainId\": 8453\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.inprocess.world/api/smartwallet/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"eth\",\n \"amount\": \"0.1\",\n \"to\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0\",\n \"chainId\": 8453\n}"
response = http.request(request)
puts response.read_body{
"withdrawals": [
{
"hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"chainId": 8453,
"walletAddress": "0x1234567890123456789012345678901234567890",
"withdrawnAmount": "0.1",
"remainingAmount": "0.05"
}
],
"remainingTotalEthBalance": "0.05",
"remainingTotalUsdcBalance": "0"
}{
"status": "error",
"message": "Invalid input",
"errors": [
{
"field": "amount",
"message": "Amount must be a valid positive number"
}
]
}{
"status": "error",
"message": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"message": "Failed to withdraw from smart wallet"
}Withdraw from social smart wallets
Withdraw funds from a smart wallet. Supports both native ETH and USDC tokens. If amount is not provided, the full balance will be withdrawn. The withdrawal may span multiple smart wallets associated with the artist.
curl --request POST \
--url https://api.inprocess.world/api/smartwallet/withdraw \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"currency": "eth",
"amount": "0.1",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
"chainId": 8453
}
'import requests
url = "https://api.inprocess.world/api/smartwallet/withdraw"
payload = {
"currency": "eth",
"amount": "0.1",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
"chainId": 8453
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
currency: 'eth',
amount: '0.1',
to: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0',
chainId: 8453
})
};
fetch('https://api.inprocess.world/api/smartwallet/withdraw', 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.inprocess.world/api/smartwallet/withdraw",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'currency' => 'eth',
'amount' => '0.1',
'to' => '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0',
'chainId' => 8453
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.inprocess.world/api/smartwallet/withdraw"
payload := strings.NewReader("{\n \"currency\": \"eth\",\n \"amount\": \"0.1\",\n \"to\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0\",\n \"chainId\": 8453\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.inprocess.world/api/smartwallet/withdraw")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"eth\",\n \"amount\": \"0.1\",\n \"to\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0\",\n \"chainId\": 8453\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.inprocess.world/api/smartwallet/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"eth\",\n \"amount\": \"0.1\",\n \"to\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0\",\n \"chainId\": 8453\n}"
response = http.request(request)
puts response.read_body{
"withdrawals": [
{
"hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"chainId": 8453,
"walletAddress": "0x1234567890123456789012345678901234567890",
"withdrawnAmount": "0.1",
"remainingAmount": "0.05"
}
],
"remainingTotalEthBalance": "0.05",
"remainingTotalUsdcBalance": "0"
}{
"status": "error",
"message": "Invalid input",
"errors": [
{
"field": "amount",
"message": "Amount must be a valid positive number"
}
]
}{
"status": "error",
"message": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"message": "Failed to withdraw from smart wallet"
}Authorizations
Artist API key for authentication. Get your API key from https://inprocess.world/manage/api-keys
Body
The currency to withdraw. Use "eth" for native ETH or "usdc" for USDC tokens.
eth, usdc The recipient address where the funds will be sent
The amount to withdraw in human-readable token units (not base units/wei). Must be a valid positive number as a string. For example, use "0.1" for 0.1 ETH, not "100000000000000000" (which is 0.1 ETH in wei). For ERC20 tokens, use the token's decimal precision (e.g., "100.5" for 100.5 USDC if USDC has 6 decimals). If not provided, the full balance will be withdrawn.
Chain ID where the withdrawal will be executed. Optional parameter - if not provided, defaults to Base (8453).
Response
Successful withdrawal
Array of withdrawal results, one for each smart wallet that was used
Show child attributes
Show child attributes
Total remaining ETH balance across all smart wallets after withdrawal
Total remaining USDC balance across all smart wallets after withdrawal