Get your JWT token from the Partner Dashboard for authenticated API access and fee-free swaps.
How to Use Your API Key
Once you have your JWT token from the Partner Dashboard, send it asX-API-Key on API requests. Authorization: Bearer is also accepted for the same partner JWT.
Authenticating end users (Confidential Intents)
Your Partner JWT authenticates your integration and waives the platform fee. It does not let you read a user’s confidential data. Reading private balances or confidential transaction history requires a separate User-Session token that proves the account owner (an end user, or a solver checking its own balance) actually controls the account, since none of that data is exposed by any public endpoint.Get a User-Session token
public_key and signature aren’t something you type in, they come from having the account owner’s wallet sign a message:
- Build a
MultiPayloadmessage:recipientset to"intents.near", a freshnonce, andmessageset to a stringified JSON object with an emptyintentsarray plus adeadlineand the account’ssigner_id. The emptyintentsarray is what makes this a proof of ownership instead of a real swap, see Signing Intents for the fullMultiPayloadspec across every supported wallet standard. - Have that account’s wallet sign the message. The wallet returns the
public_keythat signed and the resultingsignature. - Send
payload,public_key, andsignaturetogether assignedDatato/v0/auth/authenticate.
Refresh a token
WhenaccessToken expires, exchange refreshToken for a new one instead of re-signing:
{ accessToken, expiresIn }.