The Polymarket Profiles API is a secure username provisioning flow for apps that manage their own users and wallets. Use it when your user has an EOA wallet and you want to let them set up a Polymarket username without sending private keys or long-lived Polymarket credentials to PolyNode.Documentation Index
Fetch the complete documentation index at: https://docs.polynode.dev/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
Authentication
Every request requires a paid PolyNode API key.Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /v3/polymarket/profiles/username-available | Check whether a username is available |
POST | /v3/polymarket/profiles/username/challenge | Create the two wallet-signing payloads |
POST | /v3/polymarket/profiles/username/complete | Submit signatures and create or change the username |
GET | /v3/polymarket/profiles/{address} | Read public profile state |
Flow
- Check the username.
- Create a challenge for
{address, username, action}. - User signs the Polymarket SIWE message with
personal_sign. - User signs the PolyNode consent typed data with
eth_signTypedData_v4. - Complete the action from your backend.
Error shape
| Code | Meaning |
|---|---|
invalid_address | Invalid EVM address |
invalid_username | Username failed local validation |
username_taken | Username is unavailable |
challenge_not_found | Challenge expired, already consumed, or missing |
challenge_expired | Challenge is older than 10 minutes |
challenge_mismatch | Challenge fields or API key do not match |
signature_invalid | Wallet signature did not recover to the requested EOA |
polymarket_compliance_blocked | Polymarket rejected the action for compliance or eligibility reasons |
upstream_unavailable | Polymarket, Gamma, or Polygon RPC failed |
rate_limited | Profile-specific rate limit exceeded |

