---
title: "Staking points for the signed-in user's wallet"
method: GET
path: "/v1/staking/points"
tags: ["Billing"]
---

# Staking points for the signed-in user's wallet

`GET /v1/staking/points`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/staking/points`
- Auth: HTTP bearer

Points earned by staking, what has been redeemed here, and what is
left.

The two halves come from different places on purpose. `earned` is
read per request from the staking service, which recomputes it from
on-chain events; `spent` is this service's own append-only ledger.
`available` is the difference, floored at zero.

The wallet is the one on the account, proven by a SIWE signature at
sign-in — there is no way to ask about another address.

`can_redeem` is false until the account has a real, verified email:
a wallet signature proves possession of a key, not a reachable
person, and `redeem_blocked_reason` says what to do about it.

## Response `200`

Points and rates

- object
  - `wallet_address` string
  - `earned` integer
  - `spent` integer
  - `available` integer
  - `can_redeem` boolean
  - `redeem_blocked_reason` string, nullable
  - `rates` object
    - `points_per_pro_month` integer
    - `micro_usd_per_point` integer
    - `points_per_day_per_100m_tokens` integer
    - `max_pro_months_per_redemption` integer
  - `recent` object[]
    - `id` string, uuid
    - `wallet_address` string
    - `points_spent` integer
    - `reward_type` 'pro_months' | 'credits'
    - `reward_detail` object
    - `created_at` string, date-time

## Other responses

- `400`: No wallet linked to this account
- `403`: Only a signed-in person can read staking points
- `503`: The staking service could not report points. Deliberately not reported as zero — that would tell a staker their earnings had vanished.

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/ae109b496830?raw)
