A guide to withdrawing assets from a portfolio
const withdrawResponse = await fetch(`https://api.glider.fi/v1/portfolio/${portfolioId}/withdraw`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-API-KEY': 'your_api_key_here', }, body: JSON.stringify({ assets: [ { chainId: 8453, // Base chain address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // ETH on Base amount: '0.05' // 0.05 ETH } ] }), }); const withdrawData = await withdrawResponse.json();
body: JSON.stringify({ assets: [ { chainId: 8453, address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // ETH amount: '0.05' }, { chainId: 8453, address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC amount: '10000000' // 10 USDC (6 decimals) } ] })
// Example response { "success": true, "data": { "to": "0xPortfolioVaultAddress", "data": "0x...", // Transaction calldata "chainId": 8453 } }
// Using ethers.js const tx = await signer.sendTransaction({ to: withdrawData.data.to, data: withdrawData.data.data, chainId: withdrawData.data.chainId }); // Wait for confirmation const receipt = await tx.wait(); console.log("Withdrawal confirmed:", receipt.transactionHash);
const portfolioResponse = await fetch(`https://api.glider.fi/v1/portfolio/${portfolioId}`, { method: 'GET', headers: { 'X-API-KEY': 'your_api_key_here', }, }); const portfolio = await portfolioResponse.json(); console.log("Portfolio assets after withdrawal:", portfolio.data.vaults[0].assets);
const withdrawAsEthResponse = await fetch(`https://api.glider.fi/v1/portfolios/${portfolioId}/withdraw-as-eth`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-API-KEY': 'your_api_key_here', }, body: JSON.stringify({ assets: [ { chainId: 8453, address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC amount: '10000000' // 10 USDC } ] }), }); const withdrawAsEthData = await withdrawAsEthResponse.json();
// Full withdrawal of ETH body: JSON.stringify({ assets: [ { chainId: 8453, address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', amount: 'max' } ] })