Account features

Referrals, points, giveaways, and creator rewards belong to the authenticated account. Changing the selected trading wallet does not change that ownership.

Referrals

GET /v1/referrals returns the current primary code, referral counts, totalEarnedMicros, and paginated reward entries. Share links use /invite?ref=CODE; existing /login?ref=CODE links remain valid.

Attribution is set when a new account is created and cannot be changed through a later login. The standard fee-share-v1 policy rewards the referrer with 10 percent of a confirmed trade's vaultFeeMicros. A reward is spendable only after it has been durably posted. Read returned rewards instead of calculating a second balance from quotes.

Changing the primary code through PUT /v1/referrals/code requires a browser session and CSRF token. Earlier generated and custom codes remain active aliases. Accounts can create five new custom aliases in a rolling 24 hours; reselecting an owned alias is exempt. Codes remain exclusive to their original owner.

Points

GET /v1/points returns totalPoints, tradePoints, referralPoints, confirmedSpendMicros, and paginated point entries. Point totals are integer strings.

Confirmed trading volume earns one whole point per cumulative settlement-token dollar, with fractional dollars carried forward. A referrer earns 100 points once when an invited account first qualifies through a positive confirmed referral reward. Points are non-spendable and do not change cash balances or giveaway eligibility.

Giveaways

GET /v1/giveaways returns published campaigns, each campaign's dates and rules, the account's confirmed balance, and any existing entry. An empty list means there is no published campaign to show.

Entry uses POST /v1/giveaways/:giveawayId/entries from a browser session with CSRF protection and an idempotency key. Each account can enter once. Eligibility checks a point-in-time balance across all owned wallets, including available, reserved, and gas-reserved settlement funds. It excludes pending deposits and portfolio prices, and it does not lock funds after entry.

Creator rewards

GET /v1/rewards returns claimable Pump.fun and PumpSwap creator rewards for the account's wallets. These native Solana amounts use lamports, not settlement micros. POST /v1/rewards/pumpfun/claims requires mutation authentication and an idempotency key, and returns claimed amounts and transaction references.

Account history and share cards

GET /v1/account/portfolio-history accepts range=day, week, month, or all, defaulting to week. It combines wallet balances and onchain position values across the account. Account-value change includes transfers, deposits, and withdrawals; label it separately from realized PnL.

POST /v1/pnl-cards creates a share card from a confirmed sell, a verified open wallet position, or a period recap. GET /v1/pnl-cards/:cardId is public. The owner can remove a card with DELETE /v1/pnl-cards/:cardId. Quotes are optional single-line text of at most 60 characters. Use the returned card path instead of constructing one from an account identifier.

See OpenAPI for request and response fields, and Wallets for cost-basis and pending-settlement semantics.