Skip to content

POST /api/v1/withdrawals

Operation: createWithdrawal.

Withdraw to an address (code; a new address is confirmed by an email link)

Locked withdrawal intent to a saved address, or, for an address this account never used, a parked request that the emailed link (30 min) queues unchanged. New addresses are refused for 24 h after a password, 2FA or email change. API keys reach saved addresses only, without a code. No spendable credit while a transfer is pending.

POST https://amplerun-api.spiry.org/api/v1/withdrawals

Use the credential and scope required by this operation. For programmatic renter/host calls: Authorization: Bearer $AMPLERUN_API_KEY. A host-agent signature or other specialized proof is required where the description specifies it.

NameLocationPresenceTypeDescription
Idempotency-KeyheaderRequiredUUIDUUID scoped to authenticated principal, route and canonical request hash.

Required body.

FieldTypePresenceDescription
network“base”OptionalDefaults to base.
addressEvmAddressRequired
amount_microMicroAmountRequired
asset“USDC” / “USDT”OptionalDefaults to USDC.
labelstringOptionalSaved with a new address.
codestringOptional
siwe_messagestringOptional
signaturestringOptional
{
"$ref": "#/components/schemas/TransferRequest"
}

Queued, or waiting for the email link.

application/json

FieldTypePresenceDescription
state“INTENT” / “AWAITING_EMAIL_CONFIRMATION”Required
withdrawal_idUUIDOptional
payout_idUUIDOptional
confirmation_idUUIDOptional
address_idUUIDRequired
expires_atRfc3339UtcOptional
asset“USDC” / “USDT”Required
{
"$ref": "#/components/schemas/TransferAccepted"
}

Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.

application/json

FieldTypePresenceDescription
errorobjectRequired
{
"$ref": "#/components/schemas/ErrorEnvelope"
}

Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.

Terminal window
curl --request POST 'https://amplerun-api.spiry.org/api/v1/withdrawals' \
--header "Authorization: Bearer $AMPLERUN_API_KEY"

Schema definitions · Download OpenAPI · Authentication · Errors and recovery

Official AmpleRun documentation · Contract v3 · Generated from the API contract · Revision 52fe29de · Open AmpleRun · View Markdown · For agents