---
title: "Get deposit status"
method: GET
path: "/v1/deposits/{trackingId}"
tags: ["Deposits"]
---

# Get deposit status

`GET /v1/deposits/{trackingId}`

Retrieves the current status and details of a deposit transaction using its unique tracking ID.

This endpoint allows you to monitor the progress of a deposit from initiation to completion.
The tracking ID is returned when you create a deposit in UUID format.

Please be aware that if you see failed state, it can be also due to high gas fees, max allowed is 1 USD in gas fees, otherwise it will fail.

**Status Values** (returned in `status`):
- `PROCESSING`: Deposit is queued or being handled on the source chain.
- `BRIDGING` (cross-chain only): Source-side funds movement succeeded and is bridging to the destination chain. Same-chain deposits go straight to final `SUCCESS` or `FAILED` status.
- `SUCCESS`: Deposit has been successfully completed and funds are in the protocol.
- `FAILED`: Deposit transaction has failed (e.g., insufficient gas, transaction reverted).
- `EMERGENCY_WITHDRAW`: Destination-side deposit could not complete; funds were recovered via emergency withdrawal.

The API only exposes the five values above. Any other internal persistence state is mapped to `PROCESSING` for this response until the flow resolves.

**Response Details:**
When successful, the response includes:
- Current deposit status ("SUCCESS")
- Target protocol name (e.g., "Aave", "Morpho", "Euler") where funds were deposited
- Pool/vault contract address receiving the funds
- Blockchain network where the deposit occurred

**Use Cases:**
- Poll this endpoint to track deposit progress after creation
- Verify successful completion before proceeding with other operations
- Display real-time status updates to users in your application

**Note:** If you receive a error code, the tracking ID is probably invalid or no deposit exists for that ID.

**Rate limiting**: 1 request per 3 seconds per client IP. Excess requests receive HTTP `429` with `Retry-After`, `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` headers (see `RateLimitExceeded` response).

## Path parameters

- `trackingId` string, required

## Response `200`

Deposit status retrieved successfully

- DepositStatusResponse
  - `status` 'PROCESSING' | 'BRIDGING' | 'SUCCESS' | 'FAILED' | 'EMERGENCY_WITHDRAW', required — Current status of the deposit. - `PROCESSING`: Deposit is queued or being handled on the source chain. - `BRIDGING` (cross-chain only): Source-side funds movement succeeded and is bridging to the destination chain. Same-chain deposits go straight to final `SUCCESS` or `FAILED` status. - `SUCCESS`: Deposit has been successfully completed and funds are in the protocol. - `FAILED`: Deposit transaction has failed (e.g., insufficient gas, transaction reverted). - `EMERGENCY_WITHDRAW`: Destination-side deposit could not complete; funds were recovered via emergency withdrawal.
  - `protocol` 'Aave' | 'Morpho' | 'Euler', nullable — Target protocol once known; may be null while still in `PROCESSING`.
  - `pool` string, nullable — Target pool address once known; may be null while still in `PROCESSING`.
  - `chain` string, nullable — Target chain once known; may be null while still in `PROCESSING`.

## Other responses

- `400` — Validation error
- `401` — No authorization header provided
- `404` — Tracking ID not found
- `429` — Too many requests for this endpoint. Limits are enforced per client IP for the public API routes backed by `RebalancerResource` (and related resources using the same filter). Response headers (when throttled): - `Retry-After`: seconds to wait before retrying (matches the rate-limit window duration for that endpoint). - `X-RateLimit-Limit`: maximum requests allowed in the window (e.g. `1`). - `X-RateLimit-Remaining`: remaining requests in the window (`0` when throttled). - `X-RateLimit-Reset`: Unix timestamp (seconds) when the limit window resets. `internalCode` in the JSON body is `THROTTLE_PER_IP` for IP-scoped limits (other values may apply for different scopes in the backend).
- `500` — Internal server error

---

[API](https://skmtc.net/metalend/apis/metalend-rebalancing-api.md) · [All operations](https://skmtc.net/metalend/apis/metalend-rebalancing-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/metalend/metalend-rebalancing-api/versions/1b9900a9e91e/schema)
