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

# How-to: Check your Earn position

> Query your current balance and yield earned in an Earn vault

Look up a wallet's deposited balance and yield. This is a read-only operation
and doesn't submit a transaction.

## Prerequisites

Before you begin, ensure that you've:

* [Installed the App Kit SDK](/app-kit/tutorials/installation)
* [Configured an adapter](/app-kit/tutorials/adapter-setups)

These are required so any example below runs with a valid `kit` and `adapter`.

## Check your position

Pass the vault address and the wallet's adapter and chain to query the current
position:

```typescript TypeScript theme={null}
const position = await kit.earn.getPosition({
  from: { adapter, chain: "Arc_Testnet" },
  vaultAddress: process.env.VAULT_ADDRESS as string,
});

console.dir(position, { depth: null });
```

You will see an output similar to:

```bash Shell theme={null}
{
  wallet: "0x...",
  chain: "ARC-TESTNET",
  vaultAddress: "0x...",
  vaultName: "Steakhouse USDC",
  asset: "USDC",
  currentBalance: "10.04",
  currentApy: 0.0425,
  shares: "9.999...",
  pnl: {
    status: "available",
    principalDeposited: "10.00",
    totalYieldEarned: "0.04",
  },
  accruedRewards: [],
}
```

<Note>
  `pnl.status` is a discriminated union with three values:

  * `"available"`: P\&L is computed. `pnl.principalDeposited` and
    `pnl.totalYieldEarned` are present.
  * `"pending"`: P\&L is still reconciling. Retry after a short delay.
    `currentBalance` and `shares` are still accurate.
  * `"unavailable"`: P\&L cannot be computed for this position. `pnl.reason`
    explains why. `currentBalance` and `shares` are still accurate.
</Note>

You can call `getPosition` as often as you need. Cache the result if you're
polling frequently. Vault balances update on the vault's own schedule, not
per-block.
