Email Authentication

Authenticate (Email)

Authenticate a User using Email OTP. This endpoint is used to authenticate users who have logged in using Email OTP. For more details, see our Authentication Methods guide. Refer to the Email auth template script for implementation guidance.

POST
/api/oc/v1/authenticate

Request Body

application/jsonRequired
authDataRequiredobject
sessionDataRequiredobject
sessionPkClientSignatureRequiredstring

Client signature of the session public key

sessionDataUserSignatureRequiredstring

User signature of the session data

curl -X POST "https://sandbox-api.okto.tech/api/oc/v1/authenticate" \
  -H "Content-Type: application/json" \
  -d '{
    "authData": {
      "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2luZGN4X2lkIjoiNDQ3ODQ4ODItN2Q4Mi00OTQ3LTk2YTAtMWEzN2FlMGE4YzQ2IiwidXNlcl9pZCI6IjQ0Nzg0ODgyLTdkODItNDk0Ny05NmEwLTFhMzdhZTBhOGM0NiIsInNoYXJlZF9pZCI6bnVsbCwiZGN4X2NyZWF0ZWRfYXQiOm51bGwsInBvcnRmb2xpb0ZhY3RvciI6IjEiLCJhY2NUeXBlIjoid2ViMyIsImFjY291bnRfb3duZXJfaWQiOiJjNTcwMzA0Yi1hOTkwLTVkMGMtYTViZi1hYTI5ODk0ZjQ4MTciLCJzZXNzaW9uSWQiOiI5MGVkNzZjZS0wZjg5LTRiMTAtYmYyMy1lNTUwNzJjNDk1NTUiLCJ1c2VyX2xvZ2luX3ZlbmRvcl9pZCI6ImJkNjMwYWMyLWRiZjgtNGZmMS04YTNhLThjOGMxYjY3MzIzNSIsInMiOiJ3ZWIiLCJ1c2VyQWdlbnQiOiJheGlvcy8xLjguMSIsInNpcCI6IjEwNi4yMTMuODYuNTkiLCJzY2l0eSI6IlB1bmUiLCJzY291bnRyeSI6IklOIiwic3JlZ2lvbiI6Ik1IIiwibG9naW5fbWVkaXVtIjoiV0hBVFNBUFBfT1RQIiwiaWF0IjoxNzQ2MDI2MTk0LCJleHAiOjE3NDY4OTAxOTR9.Q0bekkzTfS1cNK9R3wocvVTUku8x-jwL7sV20DRUthc",
      "provider": "okto"
    },
    "sessionData": {
      "nonce": "598b94ab-5fcb-4cd8-a5b3-da2f35f0f61b",
      "clientSWA": "0xe8201E368557508bF183D4e2DcE1b1A1E0bd20FA",
      "sessionPk": "0x04b02f5edc4d2c23c44669a8686d66848dfa5b84f5d0c08c1387ec84b6563d9cf6591b1bb4b3357969b255e65cdbf994019f59fbabe5c3587f7a9cd526c5dd23ed",
      "maxPriorityFeePerGas": "0xBA43B7400",
      "maxFeePerGas": "0xBA43B7400",
      "paymaster": "0x74324fA6Fa67b833dfdea4C1b3A9898574d076e3",
      "paymasterData": "0x000000000000000000000000e8201e368557508bf183d4e2dce1b1a1e0bd20fa000000000000000000000000000000000000000000000000000000006812935f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000041d399e7bf1218cf5b4f1df928c54c4dd78560d56826e8cd646e92a687ccb2fa2a0514cfd91eb41923d9cc99f5e7b0ae54fd5a7cac5a8cf67e59adead514109a781c00000000000000000000000000000000000000000000000000000000000000"
    },
    "sessionPkClientSignature": "0xda23b15f04469f08c61c0356bb648532882178ae88f77e8114c7e83035ea49d4665bb75c979ef7c7243834520de046305dd241c0ecdbc916b3b3f12edc13e7db1c",
    "sessionDataUserSignature": "0xe3d1b0b9e2793a7a1d960280e1736f843cfbb405d486f3d9176f7207bc29c7911c44341ef2d54b9e5ba910f233f6ff7f9912689f30927396dc5bd9129bf796cc1c"
  }'

User Authenticated Successfully

{
  "status": "success",
  "data": {
    "userSWA": "0x8B20023FC47D8F8BDB7418722dBB0e3e9964a906",
    "nonce": "0x00000000000000000000000000000000f9d4db5746824690b2efeae9f9945858",
    "clientSWA": "0xe8201E368557508bF183D4e2DcE1b1A1E0bd20FA",
    "sessionExpiry": 1747481250
  }
}