# Me ## Current user profile `client.v1.me.retrieve(RequestOptionsoptions?): MeRetrieveResponse` **get** `/api/v1/me` Returns the authenticated user's profile, stats (cents earned/tipped), XP, level, and default AI model. ### Returns - `MeRetrieveResponse` - `id?: string` - `bio?: string | null` - `createdAt?: string` - `defaultAiModel?: string | null` - `email?: string | null` - `image?: string | null` - `lastPostAt?: string | null` - `level?: number` - `name?: string | null` - `postCount?: number` - `streakDays?: number` - `totalEarned?: number` Lifetime earnings in cents - `totalTipped?: number` Lifetime tips given in cents - `username?: string | null` - `xp?: number` ### Example ```typescript import Racks from 'racks.cash'; const client = new Racks(); const me = await client.v1.me.retrieve(); console.log(me.id); ``` #### Response ```json { "id": "clxxxxxxxxxxxxxxxxxxxxxxxx", "bio": "bio", "createdAt": "2019-12-27T18:11:19.117Z", "defaultAiModel": "anthropic/claude-sonnet-4-5", "email": "alice@example.com", "image": "https://avatars.githubusercontent.com/u/1234567", "lastPostAt": "2019-12-27T18:11:19.117Z", "level": 8, "name": "Alice", "postCount": 17, "streakDays": 5, "totalEarned": 42000, "totalTipped": 1000, "username": "alice", "xp": 3400 } ``` ## Earned badges for the token owner `client.v1.me.listBadges(RequestOptionsoptions?): MeListBadgesResponse` **get** `/api/v1/me/badges` Earned badges for the token owner ### Returns - `MeListBadgesResponse` - `badges?: Array` - `description?: string | null` - `earnedAt?: string` - `emoji?: string | null` - `name?: string` - `slug?: string` - `xpThreshold?: number | null` ### Example ```typescript import Racks from 'racks.cash'; const client = new Racks(); const response = await client.v1.me.listBadges(); console.log(response.badges); ``` #### Response ```json { "badges": [ { "description": "description", "earnedAt": "2019-12-27T18:11:19.117Z", "emoji": "⚔️", "name": "First Quest", "slug": "first-quest", "xpThreshold": 100 } ] } ``` ## Circle memberships for the token owner `client.v1.me.listCircles(RequestOptionsoptions?): MeListCirclesResponse` **get** `/api/v1/me/circles` Returns all circles the authenticated user belongs to, with role and timestamps. ### Returns - `MeListCirclesResponse` - `circles?: Array` - `id?: string` - `createdAt?: string` - `emoji?: string | null` - `isOwner?: boolean` - `isPrivate?: boolean` - `joinedAt?: string` - `name?: string` - `role?: "OWNER" | "ADMIN" | "MEMBER"` - `"OWNER"` - `"ADMIN"` - `"MEMBER"` ### Example ```typescript import Racks from 'racks.cash'; const client = new Racks(); const response = await client.v1.me.listCircles(); console.log(response.circles); ``` #### Response ```json { "circles": [ { "id": "clxxxxxxxxxxxxxxxxxxxxxxxx", "createdAt": "2019-12-27T18:11:19.117Z", "emoji": "🔥", "isOwner": true, "isPrivate": true, "joinedAt": "2019-12-27T18:11:19.117Z", "name": "Degen Questers", "role": "OWNER" } ] } ```