Predict API (Beta)
  1. Guides
Predict API (Beta)
  • FAQs
  • Guides
    • Understanding the Orderbook
    • How to authenticate your API requests
    • How to create or cancel orders
  • Authorization
    • Get auth message
      GET
    • Get JWT with valid signature
      POST
  • Orders
    • Get order by hash
      GET
    • Get orderbook for specific market
      GET
    • Get orders
      GET
    • Create an order
      POST
    • Optimistically cancel orders
      POST
  • Categories
    • Get categories
      GET
    • Get category by slug
      GET
  • Markets
    • Get markets
      GET
    • Get market statistics
      GET
    • Get market last sale information
      GET
    • Get market activity
      GET
  • Positions
    • Get your positions
      GET
  • Season
    • Get leaderboard
      GET
    • Get season totals
      GET
  • Blast
    • Blast multiplier addresses
      GET
  • OAuth
    • Finalize a OAuth connection
    • Get the orders for a OAuth connection
    • Create an order for a OAuth connection
    • Cancel the orders for a OAuth connection
    • Get the positions for a OAuth connection
  • ZeroDev
    • Validate a user op
  1. Guides

How to authenticate your API requests

Authentication with API Key and JWT Token#

To interact with Predict's API, you'll need two things:
1.
API Key: Required for all endpoints (only on Mainnet).
2.
JWT Token: Required for performing personal operations for a specific wallet (e.g., sending a new order or viewing active orders).
Sections:
Obtaining a JWT Token (for EOAs)
Obtaining a JWT Token (for Predict accounts)
Passing the API Key and JWT Token in the requests

Obtaining a JWT Token (for EOAs)#

An API key is required to obtain a JWT token. Follow these steps to generate a JWT token for your wallet:
1.
Retrieve the message to sign:
Send a GET request to /auth/message to retrieve a message for signing.
2.
Sign the message with your wallet:
Use the wallet you want to authenticate with to sign the message retrieved in step 1.
3.
Send the signature:
Send a POST request to /auth with the following JSON structure:

Obtaining a JWT Token (for Predict accounts)#

An API key is required to obtain a JWT token. Follow these steps to generate a JWT token for your wallet:
1.
Retrieve the message to sign:
Send a GET request to /auth/message to retrieve a message for signing.
2.
Sign the message with your wallet via our SDK:
You will need two wallets:
Your Predict account address (aka deposit address)
Your Privy Wallet private key (can be exported from the account's settings)
NOTE: It's reccomended to fund with ETH your Privy Wallet to be able to set approvals and cancel orders.
3.
Send the signature:
Send a POST request to /auth with the following JSON structure:

Passing the API Key and JWT Token in Requests#

To authenticate your requests, you need to include both the API key and the JWT token in the request headers. The API key and x-api-key header are not required on Sepolia.
Request headers (as shown on the example above):
{
  "headers": {
    "x-api-key": "YOUR_API_KEY",
    "Authorization": "Bearer YOUR_JWT_TOKEN"
  }
}
Example usage:
Previous
Understanding the Orderbook
Next
How to create or cancel orders
Built with