{"name":"Blip API","version":"1.0.2","endpoints":{"web":{"homepage":"GET /","apiIndex":"GET /api","contactShare":"GET /contact?name=...&q=0x...&qi=...","referralShare":"GET /referral/:code?name=...&q=0x...&qi=...","referralShortLink":"GET /r/:code","referralLeaderboard":"GET /leaderboard","referralsPage":"GET /referrals","admin":"GET /admin","payoutAdmin":"GET /admin/payouts","referralAdmin":"GET /admin/referrals","browserLink":"GET /browser?url=https%3A%2F%2Fquaiswap.io"},"price":{"current":"GET /api/price","history":"GET /api/price/history?days=7","full":"GET /api/price/full?days=7"},"feed":{"all":"GET /api/feed","news":"GET /api/feed/news","events":"GET /api/feed/events","social":"GET /api/feed/social","bookmarks":"GET /api/feed/bookmarks"},"ramp":{"finchpayUrl":"GET /api/ramp/finchpay/url?wallet=0x...&fiat=USD&crypto=ETH","finchpayStatus":"GET /api/ramp/finchpay/status","changeheroStatus":"GET /api/ramp/changehero/status","changeheroCurrencies":"GET /api/ramp/changehero/currencies","changeheroMinAmount":"GET /api/ramp/changehero/min-amount?from=btc&to=eth","changeheroRate":"GET /api/ramp/changehero/rate?from=btc&to=eth&amount=0.1","changeheroExchange":"POST /api/ramp/changehero/exchange { from, to, toAddress, amount }","changeheroTransaction":"GET /api/ramp/changehero/transaction/:id","managedQuaiStatus":"GET /api/ramp/managed-quai/status","managedQuaiCheckout":"POST /api/ramp/managed-quai/checkout { address, amount_cents, customer_email? }","managedQuaiInvoicePage":"GET /api/ramp/managed-quai/invoice-page?i=...&q=0x...&c=2500&t=Services&p=USDT","managedQuaiFundingStatus":"GET /api/ramp/managed-quai/funding-status?session_id=cs_...&q=0x...","managedQuaiConvertToWallet":"POST /api/ramp/managed-quai/convert-to-wallet { invoice_ref, quai_address }","managedQuaiRetryPayouts":"GET /api/ramp/managed-quai/retry-payouts (cron; protected by MANAGED_QUAI_RETRY_SECRET or CRON_SECRET)","managedQuaiStripeWebhook":"POST /api/ramp/managed-quai/stripe-webhook","adminStripeStatusSync":"POST /api/admin/payouts/sync-stripe (admin session required)"},"referrals":{"challenge":"POST /api/referrals/challenge { referralAddress }","status":"GET /api/referrals/status?referralAddress=0x... (public redacted)","ownerStatus":"POST /api/referrals/status { referralAddress, challengeId, signature }","profile":"PUT /api/referrals/profile { referralAddress, challengeId, signature, displayName?, avatarDataUrl?, referralCode?, countryCode? }","resolveShortCode":"GET /api/referrals/resolve/:code","leaderboard":"GET /api/referrals/leaderboard?limit=50","countryLeaderboard":"GET /api/referrals/leaderboard?countryCode=US&limit=50","countries":"GET /api/referrals/countries?limit=50","summary":"GET /api/referrals/summary?referralAddress=0x...","attribution":"POST /api/referrals/attributions { referrerReferralAddress, referredWalletAddress } (deprecated no-op)","scan":"GET /api/referrals/scan (cron; protected by REFERRAL_SCAN_SECRET or CRON_SECRET)"},"fund":{"invoice":"GET /fund/invoice?i=...&q=0x...","review":"GET /fund/review?address=0x...&amount_cents=2500","success":"GET /fund/success?session_id=cs_...&address=0x...&amount_cents=2500"},"admin":{"signIn":"POST /api/admin/session { secret } (sets a short-lived HttpOnly session)","signOut":"DELETE /api/admin/session","payouts":"GET /api/admin/payouts (admin session required)","syncStripeStatuses":"POST /api/admin/payouts/sync-stripe","referralProfiles":"GET /api/admin/referrals (admin session required)","refreshReferral":"POST /api/admin/referrals/refresh { referralAddress, txHashes }","reconcilePayout":"POST /api/admin/payouts/:id/reconcile","reconcilePayouts":"POST /api/admin/payouts/reconcile { ids: [...] }","retryPayout":"POST /api/admin/payouts/:id/retry"},"health":"GET /health"}}