# Get Wallet
> Source: /api-reference/members/wallet/get-wallet
> Retrieve wallet balance and transaction history
> Endpoint: GET /members/me/wallet

# Get Wallet Balance

Retrieve current wallet balance and recent transactions.

## Request [#request]

```http
GET /members/me/wallet
Authorization: Bearer <CLERK_JWT_TOKEN>
```

<ParamField query="limit" type="number" default="20">
  Number of transactions to return
</ParamField>

<ParamField query="offset" type="number" default="0">
  Pagination offset
</ParamField>

## Response [#response]

<ResponseField name="balance" type="object" required>
  <Expandable title="properties">
    <ResponseField name="spendablePoints" type="number">
      Available points for redemption
    </ResponseField>
    <ResponseField name="validBalance" type="number">
      Total valid points
    </ResponseField>
    <ResponseField name="creditBalance" type="number">
      Credit balance
    </ResponseField>
    <ResponseField name="pendingPoints" type="number">
      Points pending activation
    </ResponseField>
    <ResponseField name="expiringPoints" type="object">
      Points expiring soon with dates
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="transactions" type="array" required>
  Recent transaction history
  <Expandable title="transaction object">
    <ResponseField name="id" type="string">
      Transaction ID
    </ResponseField>
    <ResponseField name="type" type="string">
      EARN | SPEND | GIFT | ADJUST | EXPIRE
    </ResponseField>
    <ResponseField name="points" type="number">
      Points changed (positive or negative)
    </ResponseField>
    <ResponseField name="description" type="string">
      Transaction description
    </ResponseField>
    <ResponseField name="createdAt" type="string">
      ISO 8601 timestamp
    </ResponseField>
    <ResponseField name="metadata" type="object">
      Additional transaction details
    </ResponseField>
  </Expandable>
</ResponseField>

## Example [#example]

```typescript
const response = await fetch('https://api.journey.com/members/me/wallet', {
  headers: {
    'Authorization': `Bearer ${clerkToken}`
  }
});

const wallet = await response.json();

console.log(`Balance: ${wallet.balance.spendablePoints} points`);

wallet.transactions.forEach(tx => {
  console.log(`${tx.type}: ${tx.points} points - ${tx.description}`);
});

if (wallet.balance.expiringPoints) {
  console.log('Points expiring soon:', wallet.balance.expiringPoints);
}
```

## Transaction Types [#transaction-types]

| Type | Description |
|------|-------------|
| `EARN` | Points earned from stays |
| `SPEND` | Points redeemed |
| `GIFT` | Bonus points awarded |
| `ADJUST` | Manual adjustment |
| `EXPIRE` | Points expired |

## Bruno [#bruno]

`bruno/Members (Surface)/Wallet/Get Wallet.bru`
