> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zyf.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# getDepositStatus

> Fetch the custody handover and balance-credit lifecycle for a registered deposit.

Fetch the current lifecycle state for a deposit registered via [`logDeposit`](/docs/sdk/api/log-deposit) or [`sendDeposit`](/docs/sdk/api/send-deposit).

Use this for one-off checks. To await credit after `handover_pending`, use [`waitForDepositCredit`](/docs/sdk/api/wait-for-deposit-credit).

Requires `connectAccount()` on the **same** `ZyfaiSDK` instance.

## Signature

```typescript theme={null}
getDepositStatus(depositId: string): Promise<DepositLifecycleResponse>
```

## Parameters

| Parameter   | Type     | Required | Description                                                                      |
| ----------- | -------- | :------: | -------------------------------------------------------------------------------- |
| `depositId` | `string` |     ✅    | Lifecycle UUID from `logDeposit().deposit.id` or `sendDeposit().registration.id` |

## Returns

Current deposit lifecycle state.

## Return Type

```typescript theme={null}
type DepositLifecycleStatus =
  | "handover_pending"
  | "credited"
  | "recovered_to_eoa";

interface DepositLifecycleResponse {
  id: string;
  status: DepositLifecycleStatus;
  balanceCredited: boolean;
  statusUrl: string;
}
```

| Field             | Description                                                     |
| ----------------- | --------------------------------------------------------------- |
| `status`          | Custody and credit lifecycle stage                              |
| `balanceCredited` | Whether this deposit has been added to the Safe balance         |
| `statusUrl`       | Authenticated API path for polling (used internally by the SDK) |

<Info title="Investable only when credited">
  Treat a deposit as active only when `status === "credited"` **and** `balanceCredited === true`. `handover_pending` means the transfer is recorded but not yet investable.
</Info>

## Example

```typescript theme={null}
const result = await sdk.logDeposit(8453, txHash, "100000000");

const status = await sdk.getDepositStatus(result.deposit.id);
console.log(status.status);          // "handover_pending" | "credited" | "recovered_to_eoa"
console.log(status.balanceCredited);   // false until credit completes

if (status.status === "credited" && status.balanceCredited) {
  console.log("Deposit is investable");
}
```

## Related methods

* [`waitForDepositCredit`](/docs/sdk/api/wait-for-deposit-credit) — poll until credited
