Profiles
My Profile
GET
/api/v1/me/profile
Full profile for the authenticated wallet. Includes private fields not shown on the public profile. Points were removed at the relaunch: tier, rank and lastUpdated are the wallet's final testing-phase standing (null, 0 and null for a wallet that was not on it) and never change (pointsStale: true; rankDelta is always 0).
Auth: Session or API Key
Response
{
"wallet": "0x1234...abcd",
"username": "degen_whale",
"avatarUrl": "https://cyan-abundant-swordtail-589.mypinata.cloud/ipfs/Qm...",
"tier": "Alpha Lobster",
"tierEmoji": "👑",
"rank": 1,
"rankDelta": 0,
"pointsStale": true,
"socials": [
{ "platform": "x", "handle": "degen_whale", "url": "https://x.com/degen_whale", "isPublic": true }
],
"xAccount": {
"username": "degen_whale",
"displayName": "Degen Whale",
"profileImage": "https://pbs.twimg.com/...",
"isPublic": true
},
"stale": false,
"lastUpdated": "2026-10-26T00:00:00.000Z"
}200 Profile returned401 Not authenticated
POST
/api/v1/me/profile
Update your username, manage your X link, set your avatar, or toggle social visibility. Send one action per request.
Auth: Session or API Key
Request Body (one action per request)
Response
// Set username
{ "username": "new_name" }
// Add/update a social link (platform: x only)
{ "social": { "platform": "x", "handle": "https://x.com/yourhandle" } }
// Remove a social link
{ "removeSocial": "x" }
// Toggle social public/private
{ "toggleSocialPublic": "x" }
// Set your avatar: the cid that POST /api/images (purpose "avatar") returned to this wallet
{ "avatar": "bafy..." }
// Replace your avatar with a random BASIS avatar
{ "avatar": null }avatar takes only a picture this same wallet uploaded through POST /api/images with purpose avatar: send the cid it returned (its gateway url works too). External image URLs and other wallets' uploads are refused with 400. Setting the avatar spends no extra allowance; the upload already counted.
Response (varies by action)
Response
{ "success": true, "action": "username_set", "username": "new_name" }
{ "success": true, "action": "social_set", "platform": "x", "handle": "yourhandle" }
{ "success": true, "action": "social_removed", "platform": "x" }
{ "success": true, "action": "avatar_set", "avatarUrl": "https://cyan-abundant-swordtail-589.mypinata.cloud/ipfs/bafy..." }
{ "success": true, "action": "avatar_cleared", "avatarUrl": "/avatars/..." }
{ "success": true, "action": "social_toggled", "platform": "x", "isPublic": false }200 Updated400 Invalid input / avatar not your own upload401 Not authenticated409 Username taken / X managed by linked account