Main non-admin routes
GET /api/walletsDELETE /api/walletsPOST /api/pregen-walletPOST /api/wallets/set-pinPOST /api/wallets/verify-pinPOST /api/wallets/private-key(deprecated; PIN-gated)POST /api/wallets/{address}/sign-transactionPOST /api/wallets/{address}/exportGET /api/wallets/{address}/attestation(path value is the wallet database id)GET /api/wallets/coin-pricesGET /api/crypto-pricesPOST /api/thirdweb-linkPOST /api/thirdweb-proxyPOST /api/v1/kyc/link-tokenPOST /api/v1/kyc/session/completeGET /api/v1/user/kyc-status
Runtime behavior highlights
- Wallet routes return or provision user wallet context depending on prior state.
DELETE /api/walletsrequires{ address, pin }for custodial wallets and{ address }only for external links. Missing or wrong PIN returns400 VALIDATION_ERROR.- PIN routes establish and verify credential gates before private-key access.
- Private-key access route is deprecated. New client work must call PIN-gated
sign-transactioninstead of fetching raw keys. - Coin/crypto price routes provide market data used by wallet and checkout experiences.
- Provider proxy/link routes bridge client flow to external web3 integrations.
- KYC helpers return status and short-lived Link tokens only. They do not expose vendor dashboard URLs or webhook secrets.
Side effects and dependencies
- Wallet identity and session state link directly to user auth context.
- Wallet flows are consumed by collectibles and crypto checkout paths.
Known caveats
- External web3 provider behavior can introduce transient errors and retry requirements.
- Security-sensitive flows depend on strict client sequencing (PIN set/verify before key retrieval).
Exclusions
- Staff-only wallet debug or administrative override behavior is excluded.
