Docs menuAccount

API reference

Account

Reads and settings for the signed in wallet.

My coins

GET/api/v1/user/coinsSigned in

The live coins the signed in wallet launched, newest first.

Sign in
Needed (session cookie)
CSRF header
Not needed
Cached
Never
Rate limit
None of its own

Response

200
{
  "success": true,
  "message": "User coins fetched successfully",
  "data": [Coin, ...]
}

Errors

StatusMessageWhen
401Connect your wallet and sign in first.No session cookie, or it expired.
500This could not be read just now. Try again in a moment.The database could not be read.

Example

Terminal
curl -s -b cookies.txt "/api/v1/user/coins"

My favorites

GET/api/v1/user/favoritesSigned in

The signed in wallet's favorite coins, newest first.

Sign in
Needed (session cookie)
CSRF header
Not needed
Cached
Never
Rate limit
None of its own

Response

200
{
  "success": true,
  "message": "Favorites fetched successfully",
  "data": [Coin, ...]
}

Errors

StatusMessageWhen
401Connect your wallet and sign in first.No session cookie, or it expired.
500This could not be read just now. Try again in a moment.The database could not be read.

Example

Terminal
curl -s -b cookies.txt "/api/v1/user/favorites"

My holdings

GET/api/v1/user/holdingsSigned in

The Zpad coins the signed in wallet holds now, read from the chain, the largest holding first.

Sign in
Needed (session cookie)
CSRF header
Not needed
Cached
Never
Rate limit
20 a minute per wallet

Response

200
{
  "success": true,
  "message": "Holdings fetched successfully",
  "data": [
    {
      "amount": "<tokens>",
      "coin": Coin
    }
  ]
}

Errors

StatusMessageWhen
401Connect your wallet and sign in first.No session cookie, or it expired.
429Too many requests. Wait a moment and try again.More than 20 a minute. No envelope: { error, code }.
503Your coins could not be read just now. Try again in a moment.Solana did not answer.

Example

Terminal
curl -s -b cookies.txt "/api/v1/user/holdings"

My settings

GET/api/v1/user/preferencesSigned in

The signed in wallet's settings, with its points, tickets and unclaimed graduation bonus.

Sign in
Needed (session cookie)
CSRF header
Not needed
Cached
Never
Rate limit
None of its own

Response

A wallet that never saved a setting gets the defaults: quick buys 0.1, 0.5 and 1, hideNsfw, antiMevProtection, tradingSettingsAuto, autoSortingEnabled and sidebarOpen on, the rest off or null. Without a chosen username, username is "Guest #" and a number. creatorPayout is the graduation bonus not claimed yet, in SOL.

200
{
  "success": true,
  "message": "User preferences fetched successfully",
  "data": {
    "bribeAmount": number | null,
    "priorityFeeAmount": number | null,
    "maxFee": number | null,
    "quickBuy": boolean,
    "quickBuy1": number,
    "quickBuy2": number,
    "quickBuy3": number,
    "sellPrefersCoin": boolean,
    "hideNsfw": boolean,
    "maxSlippage": number | null,
    "selectedQuickBuy": number,
    "autoSortingEnabled": boolean,
    "username": "<username>",
    "usernameUpdatedAt": "<ISO time>" | null,
    "points": number,
    "tickets": number,
    "creatorPayout": number,
    "pointsPumpFun": 0,
    "antiMevProtection": boolean,
    "tradingSettingsAuto": boolean,
    "sidebarOpen": boolean,
    "revealedBonusPoints": false
  }
}

Errors

StatusMessageWhen
401Connect your wallet and sign in first.No session cookie, or it expired.
500This could not be read just now. Try again in a moment.The database could not be read.

Example

Terminal
curl -s -b cookies.txt "/api/v1/user/preferences"

Change settings

PATCH/api/v1/user/preferencesSigned in, CSRF header

Saves any of the fields below and answers the whole settings object. Other fields are ignored.

Sign in
Needed (session cookie)
CSRF header
Needed: x-zpad: zpad
Cached
Never
Rate limit
30 a minute per wallet

Body

NameTypeWhat it is
usernamestring or null3 to 16 letters, numbers or _. Unique in any case. null clears it.
maxSlippagenumber or nullPercent, 0.1 to 100.
priorityFeeAmountnumber or nullSOL, 0 to 1. Trades use at most 0.1.
maxFeenumber or nullSOL, 0 to 1.
bribeAmountnumber or nullSOL, 0 to 1. Saved, not used by trades today.
antiMevProtectionbooleanSaved, not used by trades today.
tradingSettingsAutobooleanUse the automatic priority fee.
quickBuybooleanOne press quick buys on or off.
quickBuy1, quickBuy2, quickBuy3numberSOL, 0.000001 to 1000.
selectedQuickBuynumber0, 1 or 2.
sellPrefersCoinbooleanSell panel shows tokens first.
hideNsfwbooleanHide NSFW coins.
autoSortingEnabledbooleanPage setting.
sidebarOpenbooleanPage setting.

Response

200
{
  "success": true,
  "message": "User preferences updated successfully",
  "data": <the whole settings object, as above>
}

Errors

StatusMessageWhen
400Bad request.The body is not a JSON object.
400A username is 3 to 16 letters, numbers or _.username breaks the rule.
400Slippage needs to be between 0.1 and 100.A number is out of range. Each number field has the same kind of message.
400That setting is on or off.A true or false field got something else.
401Connect your wallet and sign in first.No session cookie, or it expired.
403Refused. Reload the page and try again.The CSRF header is missing, or the request came from another site.
409That username is taken.Another wallet has it, in any case.
429Too many changes. Wait a moment and try again.More than 30 changes a minute.

Example

Terminal
curl -s -X PATCH -b cookies.txt "/api/v1/user/preferences" \
  -H "x-zpad: zpad" \
  -H "content-type: application/json" \
  -d '{"maxSlippage":5}'
Cookies On Our Website. We use cookies to keep you signed in and remember your settings.