Skip to main content

Method Signature

agent.getWithdrawalStatus(wallet: Address): Promise<WithdrawalStatusResponse>

Description

Gets the current status of a withdrawal or deactivation operation. Use this to check if a withdrawal has completed.

Parameters

wallet
Address
required
Smart account wallet address.

Return Value

status
AgentStatus
Current agent status:
  • active - Agent is actively optimizing
  • deactivated - Agent has been fully deactivated
  • deactivating - Agent is in the process of deactivating
  • activating - Agent is activating
  • activation_failed - Activation failed
  • deactivated_fee_not_paid - Deactivated due to unpaid fees
wallet
Address
Smart account wallet address.
activation_date
string
When the agent was activated.
last_deactivation_date
string
When the agent was last deactivated (optional).
last_reactivation_date
string
When the agent was last reactivated (optional).

Example

import { GizaAgent, Chain } from '@giza/agent-sdk';

const giza = new GizaAgent({ chainId: Chain.BASE });

// Check withdrawal status
const status = await giza.agent.getWithdrawalStatus(smartAccountAddress);

console.log('Status:', status.status);
console.log('Wallet:', status.wallet);

if (status.status === 'deactivated') {
  console.log('Withdrawal complete!');
  console.log('Deactivated at:', status.last_deactivation_date);
} else if (status.status === 'deactivating') {
  console.log('Withdrawal in progress...');
} else if (status.status === 'active') {
  console.log('Agent is still active');
}

Output

{
  status: 'deactivating',
  wallet: '0xabc123...',
  activation_date: '2024-01-15T12:00:00Z',
  last_deactivation_date: undefined,
  last_reactivation_date: undefined
}

Error Handling

import { ValidationError, GizaAPIError } from '@giza/agent-sdk';

try {
  const status = await giza.agent.getWithdrawalStatus(smartAccountAddress);
} catch (error) {
  if (error instanceof ValidationError) {
    console.error('Invalid wallet address:', error.message);
  } else if (error instanceof GizaAPIError) {
    console.error('Failed to get status:', error.message);
  }
}

Next Steps