depositType: INTENTS or depositType: CONFIDENTIAL_INTENTS. In both cases, the funds are already inside NEAR Intents, so the user authorizes the swap by signing an intent message off-chain instead of sending an on-chain deposit.
For public Intents balances, this can speed execution because there is no on-chain deposit to wait for. For Confidential Intents balances, this is the required path because there is no RPC path for confidential intents.
POST /v0/generate-intent and POST /v0/submit-intent use partner authentication (X-API-Key recommended, JWT-auth legacy). They do not use the end-user User-Session token; the user’s authorization is the wallet signature submitted as signedData.1
Quote
Request a quote with
POST /v0/quote using depositType INTENTS or CONFIDENTIAL_INTENTS. Save the returned depositAddress; it links the signed intent back to the quote.See Making a Request for the full quote flow — the only required change is setting depositType (and matching refundType / recipientType when those balances also live in Intents).2
Generate
Call
For the exact request fields and response shape, see Generate an intent for signing.
POST /v0/generate-intent with the depositAddress, the user’s signerId, and their wallet’s signing standard (nep413, erc191, raw_ed25519, webauthn, ton_connect, sep53, or tip191). It returns the unsigned intent payload.Example response
Example response
3
Sign
The user signs the returned
intent payload with their wallet off-chain. Do not modify the payload between generation and signing; the signature must cover the exact payload returned by the API.The wallet returns public_key and signature. Combine those with the generated intent fields to form the full signedData MultiPayload you submit next. See Signing Intents for the payload shape across supported standards.4
Submit
Call
For the exact
POST /v0/submit-intent with the signed payload (type: swap_transfer, signedData: the signed MultiPayload). It returns the intentHash.Example response
Example response
signedData schema and response shape, see Submit a signed intent.5
Track
Poll
GET /v0/status with the depositAddress, as with any swap, see Making a Request → Monitor status for the status values. Include depositMemo if the quote response included one.