openapi: 3.0.3 info: title: Kalp Wallet - Open-API version: 1.0.0 contact: {} servers: - url: '{{HOST}}' - url: '{{base_url}}' paths: /wallet/create-mnemonics: post: tags: - API Reference summary: Create mnemonics description: Create mnemonics operationId: createMnemonics parameters: - name: apikey in: header schema: type: string example: 31a057fa-a9eb-4527-b3df-b7a6f79fab6c requestBody: content: application/json: schema: type: object properties: blockchain: type: string example: ETH network: type: string example: SEPOLIA userId: type: string example: 31a057fa-a9eb-4527-b3df-b7a6f79fab6c walletType: type: string example: SELF_CUSTODIAL examples: Create mnemonics: value: blockchain: ETH network: SEPOLIA userId: 31a057fa-a9eb-4527-b3df-b7a6f79fab6c walletType: SELF_CUSTODIAL responses: '200': description: create seed phrase / Self custodial 02082024 headers: Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '118' Date: schema: type: string example: Fri, 02 Aug 2024 12:26:37 GMT access-control-allow-origin: schema: type: string example: '*' etag: schema: type: string example: W/"76-pt/9T4rxMwCEAeudaHVyoRbBSVo" server: schema: type: string example: istio-envoy x-envoy-upstream-service-time: schema: type: string example: '6' x-powered-by: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: string example: >- lab narrow wheel picture plastic minimum cradle swear auto snow hover limit status: type: number example: 200 examples: Self custodial 02082024: value: message: success result: >- key better reunion pact real soap cream fish basic crumble globe diagram status: 200 create seed phrase: value: message: success result: >- lab narrow wheel picture plastic minimum cradle swear auto snow hover limit status: 200 /wallet/create-wallet: post: tags: - API Reference summary: Create Wallet description: Create Wallet operationId: createWallet parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: blockchain: type: string example: KALP mnemonic: type: string example: >- badge dinner nephew version staff keen candy thank primary loop edge gun network: type: string example: TESTNET userId: type: string example: 31a057fa-a9eb-4527-b3df-b7a6f79fab6c walletType: type: string example: SELF_CUSTODIAL examples: Create Wallet: value: |- { "network" : "HOLESKY", "blockchain" : "ETH", "walletType" : "MPC", // "mnemonic" : "badge dinner nephew version staff keen candy thank primary loop edge gun", "userId" : "aac40ea5-8218-4634-8a85-9446236d47ce" } responses: '200': description: >- Kalp Custodial / Eth Custodial / ETH Self Custodial / KALP Self Custodial / KALP MPC Wallet / ETH MPC wallet headers: Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '474' Date: schema: type: string example: Fri, 30 Aug 2024 10:32:59 GMT access-control-allow-origin: schema: type: string example: '*' etag: schema: type: string example: W/"1da-0eIv8qIIizrRj5YafRAMo4sbxeY" server: schema: type: string example: istio-envoy x-envoy-upstream-service-time: schema: type: string example: '2732' x-powered-by: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: CSRcertificate: type: string example: > -----BEGIN CERTIFICATE----- MIIDYTCCAwigAwIBAgIUbAt0PKD+xAHvMnFsrqBh4g1PGEQwCgYIKoZIzj0EAwIw gbIxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTFQME4GA1UEBxNHUDJF IExBQlMgTExDICAxMDA3IE4gT3JhbmdlIFN0LiA0dGggRmxvb3IgU3RlIDEzODIg V2lsbWluZ3RvbiBVLlMgMTk4MDExETAPBgNVBAoTCE1BSSBMYWJzMQ8wDQYDVQQL EwZjbGllbnQxGjAYBgNVBAMTEW1haWxhYnMtaW50LWFkbWluMB4XDTI0MDUyNzEy MDcwMFoXDTI1MDgzMDEwMTQwMFowgb0xCzAJBgNVBAYTAklOMRYwFAYDVQQIEw1Z b3VyIFByb3ZpbmNlMRYwFAYDVQQHEw1Zb3VyIExvY2FsaXR5MRowGAYDVQQKExFZ b3VyIE9yZ2FuaXphdGlvbjEvMA0GA1UECxMGY2xpZW50MA4GA1UECxMHY2xpZW50 czAOBgNVBAsTB21haWxhYnMxMTAvBgNVBAMTKGUxZmMxNGZhOGZhZmYzODgwMzk1 YTY1NzczZGI0N2I1NzdmYzA0Y2EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAST b4iHSrR+17A0OUlHcuonrpGZ0shdOeu/vloVKsWCpVD9q0R9KIlXCd2kl3K44Pjo klJPcPy9kY9i6Hsax17eo4HuMIHrMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8E AjAAMB0GA1UdDgQWBBTfnTC78EeZiIyp3i06h01nKQw4+TAfBgNVHSMEGDAWgBQP omAYvecJRvp4yFWVdUYay/PaaTCBigYIKgMEBQYHCAEEfnsiYXR0cnMiOnsiaGYu QWZmaWxpYXRpb24iOiJtYWlsYWJzLmNsaWVudHMiLCJoZi5FbnJvbGxtZW50SUQi OiJlMWZjMTRmYThmYWZmMzg4MDM5NWE2NTc3M2RiNDdiNTc3ZmMwNGNhIiwiaGYu VHlwZSI6ImNsaWVudCJ9fTAKBggqhkjOPQQDAgNHADBEAiBVZH739bXWNLQP1js5 nkexdg6lSzyix9Qi+GO85/cX4gIgcyeJE3jMMb/547/Sa5yMCEJnlZxWJmSa+V+O gcogayI= -----END CERTIFICATE----- address: type: string example: e1fc14fa8faff3880395a65773db47b577fc04ca balance: type: string example: '0.0' pemPrivateKey: type: string example: "-----BEGIN PRIVATE KEY-----\r\nMEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCA5P45UoCw+EI4BCj55\r\n5MmHSUJXL99DTQH+h5ArrDjhYw==\r\n-----END PRIVATE KEY-----\r\n" privateKey: type: string example: >- 0xa7b5e77d3776b8f73390a1e32d6e9febabe2e7147c3eb554ef3368f3ae4054b0 publicKey: type: string example: > -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEk2+Ih0q0ftewNDlJR3LqJ66RmdLIXTnrv75aFSrFgqVQ/atEfSiJVwndpJdyuOD46JJST3D8vZGPYuh7Gsde3g== -----END PUBLIC KEY----- userShard: type: string example: >- CAFUVRQ4YmQjoBb0qxVbE/1pq4gHg/0jLsR7INzbhTWY7ar511s59ApwNBY6E+etdRuFEWogEpodInQyplLHA1IQ09+tzTXdcANVlueorsaQ4mbEyZuWH0Xg6pWigMZBzRK8AxIHGLXeG97A/Y3iCleSz7lJ0Hs3S07dxZ5Qh2BVuduV5pudLGuNtLCq85aQVizdajWyMejJ1bjJyQHs//TYW7zhLhbmeUjg1B72jFMOnHrQ6F9lJOLECzf3xKa55BMgbfWwCK7P4Go3XUBuTdSKWCUPKNn6+b0u6MoPd4/fgMCbrQ+iDcrVMGeRpWDSilnVZuZtpKAu7EdTdOjCbd1JygjtsdW3NkcUHQpR05nJrznBynVkx7x1YvrpvmD4BMXTbnWg/qGpQw8JWwruSFadAMG1x+JgGsV7Kp+UhIf4ig== status: type: number example: 200 examples: ETH MPC wallet: value: message: success result: address: '0x65A0fA104d569Bc1f6955784C02bA0ca9c9Ee081' balance: '0.0' publicKey: >- 0x04eaa83117f36750f18f10c7118472f2dfef7ba148b5431a70148f15d316fa202c0f466bf54c49f0b38e788b90dfe424aeff6c578ec55c65ca22f1f9103d012481 userShard: >- CAGAoT8lCi8X85CS9XUUsIRP7WnShfmKDc77WqTCMyn9ZWhJN+GvBFqGVk8dMvEQD0mWkUUzjhcTkdUs0ReYXLAIBao9Mr/i8LHxNgwupY5bEdaMmjSQMQG8yMKkf3WovYCsBWHpVMykueLaKxU/wYEC1ko0Rb/7e5BleY4ykPA+Kvf7lWyx4cCmZ9C/ma1qllw= status: 200 ETH Self Custodial: value: message: success result: address: '0xB9833da5f14F8E9D22e8BEB9a7a27c758827a8b9' balance: '0.0' privateKey: >- 0xa7b5e77d3776b8f73390a1e32d6e9febabe2e7147c3eb554ef3368f3ae4054b0 publicKey: >- 0x0424b672e0080d09ffdad238ca34cb1c640a75deae9c5510ca14b1e1660544a5a82d543e30895b85014e25f7229a5ec67dd4a5b0e75092def27a330d6327092cd7 status: 200 Eth Custodial: value: message: success result: address: '0xa0a3367ef9A9f8A956B57AC77723538d302F2fbE' balance: '0.0' publicKey: >- 0x04b1b526984c10efc45568f153182677eaf7bf2b52446bd6e83f3e15a67ffddd2f95ba100128277cf7e7064b011cb78a4dd409cef29583521f0ee1c8d039367011 status: 200 KALP MPC Wallet: value: message: success result: CSRcertificate: > -----BEGIN CERTIFICATE----- MIIDYTCCAwigAwIBAgIUTqmH3QRGmHHf7UUs4AOiSqkTIxIwCgYIKoZIzj0EAwIw gbIxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTFQME4GA1UEBxNHUDJF IExBQlMgTExDICAxMDA3IE4gT3JhbmdlIFN0LiA0dGggRmxvb3IgU3RlIDEzODIg V2lsbWluZ3RvbiBVLlMgMTk4MDExETAPBgNVBAoTCE1BSSBMYWJzMQ8wDQYDVQQL EwZjbGllbnQxGjAYBgNVBAMTEW1haWxhYnMtaW50LWFkbWluMB4XDTI0MDUyNzEy MDcwMFoXDTI1MDgzMDEwMjIwMFowgb0xCzAJBgNVBAYTAklOMRYwFAYDVQQIEw1Z b3VyIFByb3ZpbmNlMRYwFAYDVQQHEw1Zb3VyIExvY2FsaXR5MRowGAYDVQQKExFZ b3VyIE9yZ2FuaXphdGlvbjEvMA0GA1UECxMGY2xpZW50MA4GA1UECxMHY2xpZW50 czAOBgNVBAsTB21haWxhYnMxMTAvBgNVBAMTKDU3YzFkY2Y3Njg4YWUwOTQ1ZGUy MzNlNzUwZDU2YzY1ZDMxMDhhMTYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATb COH7H5rNoKMB+8cjMsYypzJxXRxW1souGpKbOikqmoqabzkpDapFPN4iZyJmNRZP JcvP4YTwA0kgalrgKMHKo4HuMIHrMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8E AjAAMB0GA1UdDgQWBBR3TN7Mn1nQ/RAAdaBvFIBkdmCujzAfBgNVHSMEGDAWgBQP omAYvecJRvp4yFWVdUYay/PaaTCBigYIKgMEBQYHCAEEfnsiYXR0cnMiOnsiaGYu QWZmaWxpYXRpb24iOiJtYWlsYWJzLmNsaWVudHMiLCJoZi5FbnJvbGxtZW50SUQi OiI1N2MxZGNmNzY4OGFlMDk0NWRlMjMzZTc1MGQ1NmM2NWQzMTA4YTE2IiwiaGYu VHlwZSI6ImNsaWVudCJ9fTAKBggqhkjOPQQDAgNHADBEAiAisX+8xMTr8ftiv/Nx aNDHfAWBuu54G/FiK4cw2cG56AIgTHolExB6QaL+Vo9+Bmsns7WOlX6t7ydnnJu6 2UJz0/c= -----END CERTIFICATE----- address: 57c1dcf7688ae0945de233e750d56c65d3108a16 publicKey: > -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2wjh+x+azaCjAfvHIzLGMqcycV0cVtbKLhqSmzopKpqKmm85KQ2qRTzeImciZjUWTyXLz+GE8ANJIGpa4CjByg== -----END PUBLIC KEY----- userShard: >- CAFUVRQ4YmQjoBb0qxVbE/1pq4gHg/0jLsR7INzbhTWY7ar511s59ApwNBY6E+etdRuFEWogEpodInQyplLHA1IQ09+tzTXdcANVlueorsaQ4mbEyZuWH0Xg6pWigMZBzRK8AxIHGLXeG97A/Y3iCleSz7lJ0Hs3S07dxZ5Qh2BVuduV5pudLGuNtLCq85aQVizdajWyMejJ1bjJyQHs//TYW7zhLhbmeUjg1B72jFMOnHrQ6F9lJOLECzf3xKa55BMgbfWwCK7P4Go3XUBuTdSKWCUPKNn6+b0u6MoPd4/fgMCbrQ+iDcrVMGeRpWDSilnVZuZtpKAu7EdTdOjCbd1JygjtsdW3NkcUHQpR05nJrznBynVkx7x1YvrpvmD4BMXTbnWg/qGpQw8JWwruSFadAMG1x+JgGsV7Kp+UhIf4ig== status: 200 KALP Self Custodial: value: message: success result: CSRcertificate: > -----BEGIN CERTIFICATE----- MIIDYjCCAwigAwIBAgIUQuEY1t1KvtW8+GRWi5tu0+4z6O4wCgYIKoZIzj0EAwIw gbIxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTFQME4GA1UEBxNHUDJF IExBQlMgTExDICAxMDA3IE4gT3JhbmdlIFN0LiA0dGggRmxvb3IgU3RlIDEzODIg V2lsbWluZ3RvbiBVLlMgMTk4MDExETAPBgNVBAoTCE1BSSBMYWJzMQ8wDQYDVQQL EwZjbGllbnQxGjAYBgNVBAMTEW1haWxhYnMtaW50LWFkbWluMB4XDTI0MDUyNzEy MDcwMFoXDTI1MDgzMDEwMTgwMFowgb0xCzAJBgNVBAYTAklOMRYwFAYDVQQIEw1Z b3VyIFByb3ZpbmNlMRYwFAYDVQQHEw1Zb3VyIExvY2FsaXR5MRowGAYDVQQKExFZ b3VyIE9yZ2FuaXphdGlvbjEvMA0GA1UECxMGY2xpZW50MA4GA1UECxMHY2xpZW50 czAOBgNVBAsTB21haWxhYnMxMTAvBgNVBAMTKDc3YTFiNmU3ZTI1MGY1ZmUyMjA4 MmFjZTFlNWNlODhlYWRlZTE0MzkwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQL h9oY2EMm5zUf8omsfsh8Vb0wZpPyKertfh9oNVPLK7ch10WKQbHg6cKQeVTKR2Oo DhM4mkpHwseyw01LIQBTo4HuMIHrMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8E AjAAMB0GA1UdDgQWBBQctJcjndzm3M0AMq6ymwACKGMgIzAfBgNVHSMEGDAWgBQP omAYvecJRvp4yFWVdUYay/PaaTCBigYIKgMEBQYHCAEEfnsiYXR0cnMiOnsiaGYu QWZmaWxpYXRpb24iOiJtYWlsYWJzLmNsaWVudHMiLCJoZi5FbnJvbGxtZW50SUQi OiI3N2ExYjZlN2UyNTBmNWZlMjIwODJhY2UxZTVjZTg4ZWFkZWUxNDM5IiwiaGYu VHlwZSI6ImNsaWVudCJ9fTAKBggqhkjOPQQDAgNIADBFAiEAjD5HuOVfEM7DNEjw W6EZMtWxFiy52lTjlLSXbzwDFoUCIA42NyhrMqk6lLP3mqdHciG1BEQE19M8TCWQ vri58dtJ -----END CERTIFICATE----- address: 77a1b6e7e250f5fe22082ace1e5ce88eadee1439 pemPrivateKey: "-----BEGIN PRIVATE KEY-----\r\nMEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCA5P45UoCw+EI4BCj55\r\n5MmHSUJXL99DTQH+h5ArrDjhYw==\r\n-----END PRIVATE KEY-----\r\n" publicKey: > -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEC4faGNhDJuc1H/KJrH7IfFW9MGaT8inq7X4faDVTyyu3IddFikGx4OnCkHlUykdjqA4TOJpKR8LHssNNSyEAUw== -----END PUBLIC KEY----- status: 200 Kalp Custodial: value: message: success result: CSRcertificate: > -----BEGIN CERTIFICATE----- MIIDYTCCAwigAwIBAgIUbAt0PKD+xAHvMnFsrqBh4g1PGEQwCgYIKoZIzj0EAwIw gbIxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTFQME4GA1UEBxNHUDJF IExBQlMgTExDICAxMDA3IE4gT3JhbmdlIFN0LiA0dGggRmxvb3IgU3RlIDEzODIg V2lsbWluZ3RvbiBVLlMgMTk4MDExETAPBgNVBAoTCE1BSSBMYWJzMQ8wDQYDVQQL EwZjbGllbnQxGjAYBgNVBAMTEW1haWxhYnMtaW50LWFkbWluMB4XDTI0MDUyNzEy MDcwMFoXDTI1MDgzMDEwMTQwMFowgb0xCzAJBgNVBAYTAklOMRYwFAYDVQQIEw1Z b3VyIFByb3ZpbmNlMRYwFAYDVQQHEw1Zb3VyIExvY2FsaXR5MRowGAYDVQQKExFZ b3VyIE9yZ2FuaXphdGlvbjEvMA0GA1UECxMGY2xpZW50MA4GA1UECxMHY2xpZW50 czAOBgNVBAsTB21haWxhYnMxMTAvBgNVBAMTKGUxZmMxNGZhOGZhZmYzODgwMzk1 YTY1NzczZGI0N2I1NzdmYzA0Y2EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAST b4iHSrR+17A0OUlHcuonrpGZ0shdOeu/vloVKsWCpVD9q0R9KIlXCd2kl3K44Pjo klJPcPy9kY9i6Hsax17eo4HuMIHrMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8E AjAAMB0GA1UdDgQWBBTfnTC78EeZiIyp3i06h01nKQw4+TAfBgNVHSMEGDAWgBQP omAYvecJRvp4yFWVdUYay/PaaTCBigYIKgMEBQYHCAEEfnsiYXR0cnMiOnsiaGYu QWZmaWxpYXRpb24iOiJtYWlsYWJzLmNsaWVudHMiLCJoZi5FbnJvbGxtZW50SUQi OiJlMWZjMTRmYThmYWZmMzg4MDM5NWE2NTc3M2RiNDdiNTc3ZmMwNGNhIiwiaGYu VHlwZSI6ImNsaWVudCJ9fTAKBggqhkjOPQQDAgNHADBEAiBVZH739bXWNLQP1js5 nkexdg6lSzyix9Qi+GO85/cX4gIgcyeJE3jMMb/547/Sa5yMCEJnlZxWJmSa+V+O gcogayI= -----END CERTIFICATE----- address: e1fc14fa8faff3880395a65773db47b577fc04ca publicKey: > -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEk2+Ih0q0ftewNDlJR3LqJ66RmdLIXTnrv75aFSrFgqVQ/atEfSiJVwndpJdyuOD46JJST3D8vZGPYuh7Gsde3g== -----END PUBLIC KEY----- status: 200 /auth/google/verify: post: tags: - API Reference summary: MPC O_Auth Verify description: MPC O_Auth Verify operationId: mpcOAuthVerify parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: subId: type: string example: sdjdafnaknffdafdafdafdafda userId: type: string example: 9c1d4102-650f-47f5-bc34-222960cdad7d examples: MPC O_Auth Verify: value: subId: sdjdafnaknffdafdafdafdafda userId: 9c1d4102-650f-47f5-bc34-222960cdad7d responses: '200': description: New Request headers: Access-Control-Allow-Origin: schema: type: string example: '*' Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '102' Date: schema: type: string example: Mon, 08 Jul 2024 06:28:25 GMT ETag: schema: type: string example: W/"66-ZwIklpXxdVnfVxSdLbMYx3vLyvY" Keep-Alive: schema: type: string example: timeout=5 X-Powered-By: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: status: type: object properties: message: type: string example: o_auth is verified success: type: boolean example: true status: type: number example: 200 examples: New Request: value: message: success result: status: message: o_auth is verified success: true status: 200 /auth/email/send: post: tags: - API Reference summary: Send Email OTP description: Send Email OTP operationId: sendEmailOtp parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: email: type: string example: jayantk7722@gmail.com userId: type: string example: 709d7259-5b09-4252-9fa9-2a1f1ddae5b6 examples: Send Email OTP: value: |- { "email" : "aditya01080+5@gmail.com", "userId" : "709d7259-5b09-4252-9fa9-2a1f1ddae5b6" // "type" : "verify" } responses: '200': description: send Email otp / MPC wallet 02082024 / MPC wallet 02082024 headers: Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '101' Date: schema: type: string example: Fri, 02 Aug 2024 12:37:49 GMT access-control-allow-origin: schema: type: string example: '*' etag: schema: type: string example: W/"65-8+Rv6r7sN/aC358M0mnqzjQyVOo" server: schema: type: string example: istio-envoy x-envoy-upstream-service-time: schema: type: string example: '70' x-powered-by: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: status: type: object properties: message: type: string example: Email OTP is sent success: type: boolean example: true status: type: number example: 200 examples: MPC wallet 02082024: value: message: success result: status: message: Email OTP is sent success: true status: 200 send Email otp: value: message: success result: status: message: Email OTP is sent success: true status: 200 /auth/email/verify: post: tags: - API Reference summary: Verify Email OTP description: Verify Email OTP operationId: verifyEmailOtp parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: email: type: string example: jayantk7722@gmail.com otp: type: string example: '998707' userId: type: string example: 709d7259-5b09-4252-9fa9-2a1f1ddae5b6 examples: Verify Email OTP: value: email: jayantk7722@gmail.com otp: '998707' userId: 709d7259-5b09-4252-9fa9-2a1f1ddae5b6 responses: '200': description: verify Email otp headers: Access-Control-Allow-Origin: schema: type: string example: '*' Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '105' Date: schema: type: string example: Mon, 08 Jul 2024 07:37:40 GMT ETag: schema: type: string example: W/"69-tCGhi9WbMounnVjSS96j8iCacLg" Keep-Alive: schema: type: string example: timeout=5 X-Powered-By: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: status: type: object properties: message: type: string example: Email OTP is verified success: type: boolean example: true status: type: number example: 200 examples: verify Email otp: value: message: success result: status: message: Email OTP is verified success: true status: 200 /auth/phone/send: post: tags: - API Reference summary: Send Phone Sms description: Send Phone Sms operationId: sendPhoneSms parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: countryCode: type: string example: '91' phone: type: string example: '7011094328' userId: type: string example: aac40ea5-8218-4634-8a85-9446236d47ce examples: Send Phone Sms: value: countryCode: '91' phone: '7011094328' userId: aac40ea5-8218-4634-8a85-9446236d47ce responses: '200': description: New Request headers: Access-Control-Allow-Origin: schema: type: string example: '*' Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '101' Date: schema: type: string example: Mon, 08 Jul 2024 07:55:13 GMT ETag: schema: type: string example: W/"65-9pXP2xn4qrQnsztO4zZNUeeZBxE" Keep-Alive: schema: type: string example: timeout=5 X-Powered-By: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: status: type: object properties: message: type: string example: Phone OTP is sent success: type: boolean example: true status: type: number example: 200 examples: New Request: value: message: success result: status: message: Phone OTP is sent success: true status: 200 /auth/phone/verify: post: tags: - API Reference summary: Verify Phone OTP description: Verify Phone OTP operationId: verifyPhoneOtp parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: countryCode: type: string example: '91' otp: type: string example: '319239' phone: type: string example: '7011094328' userId: type: string example: aac40ea5-8218-4634-8a85-9446236d47ce examples: Verify Phone OTP: value: countryCode: '91' otp: '319239' phone: '7011094328' userId: aac40ea5-8218-4634-8a85-9446236d47ce responses: '200': description: verify Phone otp headers: Access-Control-Allow-Origin: schema: type: string example: '*' Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '105' Date: schema: type: string example: Mon, 08 Jul 2024 09:28:26 GMT ETag: schema: type: string example: W/"69-perSj4nR+XgnpvFNqxyc4t/tjmM" Keep-Alive: schema: type: string example: timeout=5 X-Powered-By: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: status: type: object properties: message: type: string example: Phone OTP is verified success: type: boolean example: true status: type: number example: 200 examples: verify Phone otp: value: message: success result: status: message: Phone OTP is verified success: true status: 200 /auth/mpc/verify: post: tags: - API Reference summary: MPC Verify description: MPC Verify operationId: mpcVerify parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: application/json: schema: type: object properties: isInternalWallet: type: boolean example: false userId: type: string example: e4ccf0d3-5db9-4d65-a8dc-d48a2611781a userIndentifier: type: string example: sdjdafnaknffddeafdafdafdafda examples: MPC Verify: value: isInternalWallet: false userId: e4ccf0d3-5db9-4d65-a8dc-d48a2611781a userIndentifier: sdjdafnaknffddeafdafdafdafda responses: '200': description: Mpc Verify headers: Access-Control-Allow-Origin: schema: type: string example: '*' Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '351' Date: schema: type: string example: Fri, 19 Jul 2024 11:06:28 GMT ETag: schema: type: string example: W/"15f-yf4ghKS+AyV7wo9A/oqLcmkeaUE" Keep-Alive: schema: type: string example: timeout=5 X-Powered-By: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: status: type: object properties: AuthType: type: string example: GOOGLE success: type: boolean example: true userIndentifier: type: string example: sdjdafnaknffddeafdafdafdafda userShard: type: string example: >- CAENX3j7ccEeg25p9GfxGaIe/UQFcg1NdIHGEhYLQViU4cxTWsF6FE+Ckpd0xUKksEozaewYRUAlDuhcATkRg8MV1wDl8eM/P3oB78spEBJab6Z4ZOlE0ZEtkcSISXEU6Fzvl/tNG3TalNGevlyaVTJgD//3uVUhh0z/rA7o7GtpPR5Aw9a4dxJJnqWryFhrsFM= status: type: number example: 200 examples: Mpc Verify: value: message: success result: status: AuthType: GOOGLE success: true userIndentifier: sdjdafnaknffddeafdafdafdafda userShard: >- CAENX3j7ccEeg25p9GfxGaIe/UQFcg1NdIHGEhYLQViU4cxTWsF6FE+Ckpd0xUKksEozaewYRUAlDuhcATkRg8MV1wDl8eM/P3oB78spEBJab6Z4ZOlE0ZEtkcSISXEU6Fzvl/tNG3TalNGevlyaVTJgD//3uVUhh0z/rA7o7GtpPR5Aw9a4dxJJnqWryFhrsFM= status: 200 /wallet/send-contract-deploy-request: post: tags: - API Reference summary: Send Deploy Request description: Send Deploy Request operationId: sendDeployRequest parameters: - name: apikey in: header schema: type: string example: '{{apiKey}}' requestBody: content: multipart/form-data: schema: type: object properties: address: type: string example: '0xb4295b46DA1d9460419a1487b838CB776b5B2068' blockchain: type: string example: POLY network: type: string example: AMOY solFile: type: string format: binary userIndentity: type: string example: sdjdafnaknffdafdafdafdafda userShard: type: string example: >- CAG26qxJo/WnzfQl8POPeEILG4ieRyUm5tqK7jP4o1PC8u9u6/2DtxOC2B6Mq2w8sPCkAp66k3G/XRTiTtuF2QlgBCM2LaJWuJd8iyUZiF7T/uNlZ+e6Rc0jUkOvkVLKt6JVubqA24mJo0K0sK3wK4eRoSa4hsXuiv+XjnsXiWmMnIJ+93fsOhWzQcYSMOBR1SE= responses: '200': description: send Deploy Request headers: Connection: schema: type: string example: keep-alive Content-Length: schema: type: string example: '605' Date: schema: type: string example: Fri, 30 Aug 2024 10:29:34 GMT access-control-allow-origin: schema: type: string example: '*' etag: schema: type: string example: W/"25d-zOWQlAOqdqzjoxHo8Zsm4l9cOfA" server: schema: type: string example: istio-envoy x-envoy-upstream-service-time: schema: type: string example: '15352' x-powered-by: schema: type: string example: Express content: application/json: schema: type: object properties: message: type: string example: success result: type: object properties: blockchain: type: string example: POLY blockchainUrl: type: string example: >- https://www.oklink.com/amoy/tx/0xd1aecffc30b47d5a5e3807440783f597f55325ee7161242c1f4f6581825dc8a4 contractAddress: type: string example: '0x240fADAdD962171E7633Fa4EE4b0da5E0Ea0529A' contractName: type: string example: MultiFunctionContract fromAddress: type: string example: '0xb4295b46DA1d9460419a1487b838CB776b5B2068' gasPrice: type: number example: 25.000000015 gasUsed: type: number example: 407396 network: type: string example: AMOY status: type: string example: COMPLETED toAddress: type: string example: '0x240fADAdD962171E7633Fa4EE4b0da5E0Ea0529A' transactionHash: type: string example: >- 0xd1aecffc30b47d5a5e3807440783f597f55325ee7161242c1f4f6581825dc8a4 transactionType: type: string example: CONTRACT_DEPLOYMENT status: type: number example: 200 examples: send Deploy Request: value: message: success result: blockchain: POLY blockchainUrl: >- https://www.oklink.com/amoy/tx/0xd1aecffc30b47d5a5e3807440783f597f55325ee7161242c1f4f6581825dc8a4 contractAddress: '0x240fADAdD962171E7633Fa4EE4b0da5E0Ea0529A' contractName: MultiFunctionContract fromAddress: '0xb4295b46DA1d9460419a1487b838CB776b5B2068' gasPrice: 25.000000015 gasUsed: 407396 network: AMOY status: COMPLETED toAddress: '0x240fADAdD962171E7633Fa4EE4b0da5E0Ea0529A' transactionHash: >- 0xd1aecffc30b47d5a5e3807440783f597f55325ee7161242c1f4f6581825dc8a4 transactionType: CONTRACT_DEPLOYMENT status: 200 tags: - name: General Usage description: >- Kalp Wallet OpenAPI provides an API that allows users to create and manage different types of wallets programmatically. The API supports the creation of self-custodial, MPC (Multi-Party Computation), and custodial wallets. - name: Request, Response & Error codes Copy description: >- ### Request Payloads The Kalp Wallet API supports the following types of request payloads: - **Form-Encoded**: `Content-Type: application/x-www-form-urlencoded` - **Raw** - **Form Data** - **JSON** ## Responses Each response payload is encoded into JSON and contains a result indicating success or an error message for failed or rejected requests. ## Error Codes Status codes other than 200 indicate an issue with the request. Here are some common error codes: ### Auth Errors - Unauthorized: Un Authorized , Invalid Access Token (Error Code: 1001) - API Key Missing: auth Api Key Missing (Error Code: 1002) - Max OTP Resend Attempts Exceeded: max Otp Resend Attempts Exceeded (Error Code: 1003) - Invalid Phone Number: Please Enter Valid Phone Number (Error Code: 1004) - OTP Expired: The OTP you entered has expired. Please request a new OTP to proceed. (Error Code: 1005) - Invalid OTP: Please Enter Valid Otp (Error Code: 1006) - Unable to Generate API Key: Unable to genrate Api key (Error Code: 1007) ### Wallet Errors - Unsupported Blockchain Request: Invalid Request Blockchain Not Supported Yet (Error Code: 101001) - RPC Node Not Found: RPC Node for the blockchain not found (Error Code: 101002) - Wallet Address Not Found: wallet Address not found for Current user (Error Code: 101003) - Wallet Type Is Self Custodial: wallet Type Is Self Custodial (Error Code: 101004) - User Seed Phrase Mnemonics Mismatch: user Seed Phrase Mnemonics Mis Match (Error Code: 101005) - Unable to Fetch Blockchain Network: RPC Node for the blockchain not found (Error Code: 101006) - MPC Wallet User Shard Is Required: For Mpc Wallet User Shard Is Required , Pass User Shard and userIndentiity in Req Body (Error Code: 101007) - No User Hashed Shard Found In DB: no User Hashed Shard Found In DB , Please input correct user Shard or Indentifier (Error Code: 101008) - Self Custodial Wallet Seed Phrase Is Required: for Self Custodial Wallet Seed Phrase Is Required , Pass seed Phrase in Req Body (Error Code: 101009) - Mnemonics Is Expired: mnemonics/seedPhrase Expired , Kindly Follow Instructions within 10 min (Error Code: 101010) - Verify User Detail for MPC: for Mpc First Verfify User Detail from MPC Auth (Error Code: 101011) - Seed Phrase Generation Only for Self Custodial Wallet: seed Phrase Generation Can Be Only Done For Self Custodial Wallet (Error Code: 101012) - No Transaction ABI Data Found: No Transaction Abi Data Found (Error Code: 101013) - MPC Wallet Cannot Send Route Transaction: for Mpc Wallet Can Not Send Route Transaction (Error Code: 101014) - MPC Wallet Can Only Have User Shard: mpc Wallet Can Only Have User Shard (Error Code: 101015) - MPC Wallet Can Only Be Verified: mpc Wallet Can Only Be Verifed (Error Code: 101016) - Invalid API Key User: invalid Api Key ! Only Contract deployed User apiKey is vaild (Error Code: 101017) - Only Custodial Wallet Address Can Sign Transaction: only Custodial Wallet Address Can Sign Transaction through Generated Routes (Error Code: 101018) - Deployed Smart Contract Address Not Found in DB: deployed Smart Contract Address Not Found in Db (Error Code: 101019) - User Auth Credential Already Exists: The social Auth Credential you have entered is already associated with an existing wallet. Please use a different one create a new MPC wallet or log in to your existing wallet. (Error Code: 101020) - Invalid Credentials: Invalid credentials or access denied. Please check your credentials and try again. (Error Code: 101021). - name: Authentication description: >- ## Authentication Authentication is handled via API key middleware guards. The API key ensures that the request is from a valid user with the correct permissions. ### Steps to Authenticate 1. **Obtain API Key**: Request an API key from the Kalp Wallet interface. 2. **Include API Key in Request**: Use the API key in the headers of your API requests. ### Example Authentication Header ``` typescript Authorization: Bearer YOUR_API_KEY ``` - name: FAQ description: >- #### General FAQ **Q1: What types of wallets can I create using the Kalp Wallet API?** A1: You can create self-custodial, MPC (Multi-Party Computation), and custodial wallets using the Kalp Wallet API. **Q2: What formats are supported for request payloads?** A2: The Kalp Wallet API supports form-encoded (`Content-Type: application/x-www-form-urlencoded`), raw, form data, and JSON formats for request payloads. **Q3: How are responses formatted?** A3: Each response payload is encoded into JSON and contains either a successful result or an error message for failed or rejected requests. **Q4: How is authentication handled?** A4: Authentication is managed through API key middleware guards. The API key ensures that the request is from a valid user with the correct permissions. **Q5: What should I do if I encounter an error code?** A5: If you encounter an error code, refer to the detailed list of authentication and wallet errors provided. Each error code includes a description to help you understand the issue and how to resolve it. #### Authentication FAQ **Q6: What does the error "Un Authorized , Invalid Access Token" mean?** A6: This error (Error Code: 1001) means that the access token provided is invalid. Ensure you are using a valid and authorized access token. **Q7: What should I do if I receive the "auth Api Key Missing" error?** A7: This error (Error Code: 1002) indicates that the API key is missing from your request. Ensure you include a valid API key in your request headers. **Q8: What does "max Otp Resend Attempts Exceeded" mean?** A8: This error (Error Code: 1003) occurs when you have exceeded the maximum number of OTP resend attempts. Wait for some time before requesting a new OTP. **Q9: Why am I getting the "Please Enter Valid Phone Number" error?** A9: This error (Error Code: 1004) indicates that the phone number entered is invalid. Ensure you enter a valid phone number. **Q10: What does "The OTP you entered has expired" mean?** A10: This error (Error Code: 1005) means that the OTP you entered has expired. Request a new OTP to proceed. **Q11: What should I do if I get the "Please Enter Valid Otp" error?** A11: This error (Error Code: 1006) indicates that the OTP entered is invalid. Ensure you enter the correct OTP sent to your phone or email. **Q12: What does "Unable to generate API key" mean?** A12: This error (Error Code: 1007) means that there was an issue generating the API key. Try again later or contact support for assistance. #### Wallet FAQ **Q13: What does the error "Invalid Request Blockchain Not Supported Yet" mean?** A13: This error (Error Code: 101001) indicates that the requested blockchain is not supported by Kalp Wallet. Ensure you are requesting a supported blockchain. **Q14: Why am I getting the "RPC Node for the blockchain not found" error?** A14: This error (Error Code: 101002) means that the RPC node for the requested blockchain could not be found. Check your blockchain configuration. **Q15: What does "wallet Address not found for Current user" mean?** A15: This error (Error Code: 101003) indicates that the wallet address for the current user could not be found. Ensure the wallet address is correct and exists. **Q16: What should I do if I see the "wallet Type Is Self Custodial" error?** A16: This error (Error Code: 101004) means that the wallet type specified is self-custodial. Ensure you are handling the wallet type correctly. **Q17: What does "user Seed Phrase Mnemonics Mis Match" mean?** A17: This error (Error Code: 101005) indicates that the user seed phrase mnemonics do not match. Ensure the seed phrase is entered correctly. **Q18: Why am I getting the "RPC Node for the blockchain not found" error again?** A18: This error (Error Code: 101006) means the RPC node for the blockchain could not be fetched. Verify the blockchain network configuration. **Q19: What does "For Mpc Wallet User Shard Is Required" mean?** A19: This error (Error Code: 101007) indicates that a user shard is required for MPC wallet creation. Pass the user shard and user identity in the request body. **Q20: What should I do if I get the "no User Hashed Shard Found In DB" error?** A20: This error (Error Code: 101008) means that the user hashed shard could not be found in the database. Ensure you input the correct user shard or identifier. **Q21: What does "for Self Custodial Wallet Seed Phrase Is Required" mean?** A21: This error (Error Code: 101009) indicates that a seed phrase is required for self-custodial wallet creation. Pass the seed phrase in the request body. **Q22: What does "mnemonics/seedPhrase Expired" mean?** A22: This error (Error Code: 101010) means that the mnemonics or seed phrase has expired. Follow the instructions and complete the process within the specified time frame. **Q23: What should I do if I see the "for Mpc First Verify User Detail" error?** A23: This error (Error Code: 101011) indicates that you need to verify user details from MPC Auth before proceeding. Complete the verification step. **Q24: What does "seed Phrase Generation Can Be Only Done For Self Custodial Wallet" mean?** A24: This error (Error Code: 101012) indicates that seed phrase generation is only applicable for self-custodial wallets. Ensure you are using the correct wallet type. **Q25: Why am I getting the "No Transaction Abi Data Found" error?** A25: This error (Error Code: 101013) means that no transaction ABI data could be found. Verify the transaction details. **Q26: What does "for Mpc Wallet Can Not Send Route Transaction" mean?** A26: This error (Error Code: 101014) indicates that MPC wallets cannot send route transactions. Ensure the transaction type is supported. **Q27: What should I do if I get the "mpc Wallet Can Only Have User Shard" error?** A27: This error (Error Code: 101015) means that MPC wallets can only have user shards. Verify the wallet configuration. **Q28: What does "mpc Wallet Can Only Be Verified" mean?** A28: This error (Error Code: 101016) indicates that MPC wallets can only be verified. Complete the verification process. **Q29: What does "invalid Api Key ! Only Contract deployed User apiKey is valid" mean?** A29: This error (Error Code: 101017) means that the API key is invalid. Only the API key of the user who deployed the contract is valid. **Q30: Why am I getting the "only Custodial Wallet Address Can Sign Transaction through Generated Routes" error?** A30: This error (Error Code: 101018) means that only custodial wallet addresses can sign transactions through generated routes. Ensure you are using the correct wallet type. **Q31: What does "deployed Smart Contract Address Not Found in DB" mean?** A31: This error (Error Code: 101019) indicates that the deployed smart contract address could not be found in the database. Verify the smart contract address. **Q32: What should I do if I see the "user Auth Credential Already Exists" error?** A32: This error (Error Code: 101020) means that the social auth credential entered is already associated with an existing wallet. Use a different credential to create a new MPC wallet or log in to the existing wallet. **Q33: Why am I getting the "Invalid credentials or access denied" error?** A33: This error (Error Code: 101021) indicates that the credentials are invalid or access is denied. Check your credentials and try again. - name: API Reference components: {}