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, include it in your API requests: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 }.