Withdraw USDC from Vault
curl --request POST \
--url https://api.aegisintent.xyz/v1/actions/yield/withdraw \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-Aegis-Email: <x-aegis-email>' \
--header 'X-Aegis-Nonce: <x-aegis-nonce>' \
--data '
{
"amount": "<string>"
}
'import requests
url = "https://api.aegisintent.xyz/v1/actions/yield/withdraw"
payload = { "amount": "<string>" }
headers = {
"X-Aegis-Email": "<x-aegis-email>",
"Idempotency-Key": "<idempotency-key>",
"X-Aegis-Nonce": "<x-aegis-nonce>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Aegis-Email': '<x-aegis-email>',
'Idempotency-Key': '<idempotency-key>',
'X-Aegis-Nonce': '<x-aegis-nonce>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({amount: '<string>'})
};
fetch('https://api.aegisintent.xyz/v1/actions/yield/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.aegisintent.xyz/v1/actions/yield/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([
'amount' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"X-Aegis-Email: <x-aegis-email>",
"X-Aegis-Nonce: <x-aegis-nonce>"
],
]);
$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.aegisintent.xyz/v1/actions/yield/withdraw"
payload := strings.NewReader("{\n \"amount\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Aegis-Email", "<x-aegis-email>")
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("X-Aegis-Nonce", "<x-aegis-nonce>")
req.Header.Add("Authorization", "Bearer <token>")
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.aegisintent.xyz/v1/actions/yield/withdraw")
.header("X-Aegis-Email", "<x-aegis-email>")
.header("Idempotency-Key", "<idempotency-key>")
.header("X-Aegis-Nonce", "<x-aegis-nonce>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aegisintent.xyz/v1/actions/yield/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Aegis-Email"] = '<x-aegis-email>'
request["Idempotency-Key"] = '<idempotency-key>'
request["X-Aegis-Nonce"] = '<x-aegis-nonce>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"txHash": "<string>",
"amount": "<string>"
}Actions API
Withdraw USDC
Burns aUSDC shares to withdraw the underlying USDC (including any accumulated yield appreciation) back to the agent’s wallet. Will return 403 if the MEV cooldown lock is still active.
POST
/
v1
/
actions
/
yield
/
withdraw
Withdraw USDC from Vault
curl --request POST \
--url https://api.aegisintent.xyz/v1/actions/yield/withdraw \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-Aegis-Email: <x-aegis-email>' \
--header 'X-Aegis-Nonce: <x-aegis-nonce>' \
--data '
{
"amount": "<string>"
}
'import requests
url = "https://api.aegisintent.xyz/v1/actions/yield/withdraw"
payload = { "amount": "<string>" }
headers = {
"X-Aegis-Email": "<x-aegis-email>",
"Idempotency-Key": "<idempotency-key>",
"X-Aegis-Nonce": "<x-aegis-nonce>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Aegis-Email': '<x-aegis-email>',
'Idempotency-Key': '<idempotency-key>',
'X-Aegis-Nonce': '<x-aegis-nonce>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({amount: '<string>'})
};
fetch('https://api.aegisintent.xyz/v1/actions/yield/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.aegisintent.xyz/v1/actions/yield/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([
'amount' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"X-Aegis-Email: <x-aegis-email>",
"X-Aegis-Nonce: <x-aegis-nonce>"
],
]);
$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.aegisintent.xyz/v1/actions/yield/withdraw"
payload := strings.NewReader("{\n \"amount\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Aegis-Email", "<x-aegis-email>")
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("X-Aegis-Nonce", "<x-aegis-nonce>")
req.Header.Add("Authorization", "Bearer <token>")
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.aegisintent.xyz/v1/actions/yield/withdraw")
.header("X-Aegis-Email", "<x-aegis-email>")
.header("Idempotency-Key", "<idempotency-key>")
.header("X-Aegis-Nonce", "<x-aegis-nonce>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aegisintent.xyz/v1/actions/yield/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Aegis-Email"] = '<x-aegis-email>'
request["Idempotency-Key"] = '<idempotency-key>'
request["X-Aegis-Nonce"] = '<x-aegis-nonce>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"txHash": "<string>",
"amount": "<string>"
}Burn
aUSDC shares to withdraw the underlying USDC (principal + accrued yield). If the MEV cooldown lock is still active, this request will return a 403 Forbidden error.Authorizations
BearerAuthAegisEmail
Provide raw API session token issued by /v1/connect/complete
Headers
Agent email address
Unique UUID for financial idempotency
Current agent nonce
Body
application/json
Amount of USDC to withdraw (e.g. '50.00')
Was this page helpful?
⌘I