Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

Kalp Wallet - Open-API (1.0.0)

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://kalp-studio.redocly.app/_mock/untitled-1.yaml/
https://kalp-studio.redocly.app/{{HOST}}/
https://kalp-studio.redocly.app/{{base_url}}/

General Usage

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.

Request, Response & Error codes Copy

Authentication

FAQ

API Reference

Operations

Create mnemonics

Request

Create mnemonics

Headers
apikeystring
Example:

31a057fa-a9eb-4527-b3df-b7a6f79fab6c

Bodyapplication/json
blockchainstring
Example:

"ETH"

networkstring
Example:

"SEPOLIA"

userIdstring
Example:

"31a057fa-a9eb-4527-b3df-b7a6f79fab6c"

walletTypestring
Example:

"SELF_CUSTODIAL"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/wallet/create-mnemonics \
  -H 'Content-Type: application/json' \
  -H 'apikey: 31a057fa-a9eb-4527-b3df-b7a6f79fab6c' \
  -d '{
    "blockchain": "ETH",
    "network": "SEPOLIA",
    "userId": "31a057fa-a9eb-4527-b3df-b7a6f79fab6c",
    "walletType": "SELF_CUSTODIAL"
  }'
Experience it firsthand in the API Explorer!

Responses

create seed phrase / Self custodial 02082024

Headers
Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"118"

Datestring
Example:

"Fri, 02 Aug 2024 12:26:37 GMT"

access-control-allow-originstring
Example:

"*"

etagstring
Example:

"W/"76-pt/9T4rxMwCEAeudaHVyoRbBSVo""

serverstring
Example:

"istio-envoy"

x-envoy-upstream-service-timestring
Example:

"6"

x-powered-bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultstring
Example:

"lab narrow wheel picture plastic minimum cradle swear auto snow hover limit"

statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": "key better reunion pact real soap cream fish basic crumble globe diagram", "status": 200 }

Create Wallet

Request

Create Wallet

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
blockchainstring
Example:

"KALP"

mnemonicstring
Example:

"badge dinner nephew version staff keen candy thank primary loop edge gun"

networkstring
Example:

"TESTNET"

userIdstring
Example:

"31a057fa-a9eb-4527-b3df-b7a6f79fab6c"

walletTypestring
Example:

"SELF_CUSTODIAL"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/wallet/create-wallet \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}'
Experience it firsthand in the API Explorer!

Responses

Kalp Custodial / Eth Custodial / ETH Self Custodial / KALP Self Custodial / KALP MPC Wallet / ETH MPC wallet

Headers
Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"474"

Datestring
Example:

"Fri, 30 Aug 2024 10:32:59 GMT"

access-control-allow-originstring
Example:

"*"

etagstring
Example:

"W/"1da-0eIv8qIIizrRj5YafRAMo4sbxeY""

serverstring
Example:

"istio-envoy"

x-envoy-upstream-service-timestring
Example:

"2732"

x-powered-bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "address": "0x65A0fA104d569Bc1f6955784C02bA0ca9c9Ee081", "balance": "0.0", "publicKey": "0x04eaa83117f36750f18f10c7118472f2dfef7ba148b5431a70148f15d316fa202c0f466bf54c49f0b38e788b90dfe424aeff6c578ec55c65ca22f1f9103d012481", "userShard": "CAGAoT8lCi8X85CS9XUUsIRP7WnShfmKDc77WqTCMyn9ZWhJN+GvBFqGVk8dMvEQD0mWkUUzjhcTkdUs0ReYXLAIBao9Mr/i8LHxNgwupY5bEdaMmjSQMQG8yMKkf3WovYCsBWHpVMykueLaKxU/wYEC1ko0Rb/7e5BleY4ykPA+Kvf7lWyx4cCmZ9C/ma1qllw=" }, "status": 200 }

MPC O_Auth Verify

Request

MPC O_Auth Verify

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
subIdstring
Example:

"sdjdafnaknffdafdafdafdafda"

userIdstring
Example:

"9c1d4102-650f-47f5-bc34-222960cdad7d"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/auth/google/verify \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}' \
  -d '{
    "subId": "sdjdafnaknffdafdafdafdafda",
    "userId": "9c1d4102-650f-47f5-bc34-222960cdad7d"
  }'
Experience it firsthand in the API Explorer!

Responses

New Request

Headers
Access-Control-Allow-Originstring
Example:

"*"

Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"102"

Datestring
Example:

"Mon, 08 Jul 2024 06:28:25 GMT"

ETagstring
Example:

"W/"66-ZwIklpXxdVnfVxSdLbMYx3vLyvY""

Keep-Alivestring
Example:

"timeout=5"

X-Powered-Bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "status": { … } }, "status": 200 }

Send Email OTP

Request

Send Email OTP

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
emailstring
Example:

"jayantk7722@gmail.com"

userIdstring
Example:

"709d7259-5b09-4252-9fa9-2a1f1ddae5b6"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/auth/email/send \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}'
Experience it firsthand in the API Explorer!

Responses

send Email otp / MPC wallet 02082024 / MPC wallet 02082024

Headers
Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"101"

Datestring
Example:

"Fri, 02 Aug 2024 12:37:49 GMT"

access-control-allow-originstring
Example:

"*"

etagstring
Example:

"W/"65-8+Rv6r7sN/aC358M0mnqzjQyVOo""

serverstring
Example:

"istio-envoy"

x-envoy-upstream-service-timestring
Example:

"70"

x-powered-bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "status": { … } }, "status": 200 }

Verify Email OTP

Request

Verify Email OTP

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
emailstring
Example:

"jayantk7722@gmail.com"

otpstring
Example:

"998707"

userIdstring
Example:

"709d7259-5b09-4252-9fa9-2a1f1ddae5b6"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/auth/email/verify \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}' \
  -d '{
    "email": "jayantk7722@gmail.com",
    "otp": "998707",
    "userId": "709d7259-5b09-4252-9fa9-2a1f1ddae5b6"
  }'
Experience it firsthand in the API Explorer!

Responses

verify Email otp

Headers
Access-Control-Allow-Originstring
Example:

"*"

Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"105"

Datestring
Example:

"Mon, 08 Jul 2024 07:37:40 GMT"

ETagstring
Example:

"W/"69-tCGhi9WbMounnVjSS96j8iCacLg""

Keep-Alivestring
Example:

"timeout=5"

X-Powered-Bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "status": { … } }, "status": 200 }

Send Phone Sms

Request

Send Phone Sms

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
countryCodestring
Example:

"91"

phonestring
Example:

"7011094328"

userIdstring
Example:

"aac40ea5-8218-4634-8a85-9446236d47ce"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/auth/phone/send \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}' \
  -d '{
    "countryCode": "91",
    "phone": "7011094328",
    "userId": "aac40ea5-8218-4634-8a85-9446236d47ce"
  }'
Experience it firsthand in the API Explorer!

Responses

New Request

Headers
Access-Control-Allow-Originstring
Example:

"*"

Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"101"

Datestring
Example:

"Mon, 08 Jul 2024 07:55:13 GMT"

ETagstring
Example:

"W/"65-9pXP2xn4qrQnsztO4zZNUeeZBxE""

Keep-Alivestring
Example:

"timeout=5"

X-Powered-Bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "status": { … } }, "status": 200 }

Verify Phone OTP

Request

Verify Phone OTP

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
countryCodestring
Example:

"91"

otpstring
Example:

"319239"

phonestring
Example:

"7011094328"

userIdstring
Example:

"aac40ea5-8218-4634-8a85-9446236d47ce"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/auth/phone/verify \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}' \
  -d '{
    "countryCode": "91",
    "otp": "319239",
    "phone": "7011094328",
    "userId": "aac40ea5-8218-4634-8a85-9446236d47ce"
  }'
Experience it firsthand in the API Explorer!

Responses

verify Phone otp

Headers
Access-Control-Allow-Originstring
Example:

"*"

Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"105"

Datestring
Example:

"Mon, 08 Jul 2024 09:28:26 GMT"

ETagstring
Example:

"W/"69-perSj4nR+XgnpvFNqxyc4t/tjmM""

Keep-Alivestring
Example:

"timeout=5"

X-Powered-Bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "status": { … } }, "status": 200 }

MPC Verify

Request

MPC Verify

Headers
apikeystring
Example:

{{apiKey}}

Bodyapplication/json
isInternalWalletboolean
Example:

false

userIdstring
Example:

"e4ccf0d3-5db9-4d65-a8dc-d48a2611781a"

userIndentifierstring
Example:

"sdjdafnaknffddeafdafdafdafda"

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/auth/mpc/verify \
  -H 'Content-Type: application/json' \
  -H 'apikey: {{apiKey}}' \
  -d '{
    "isInternalWallet": false,
    "userId": "e4ccf0d3-5db9-4d65-a8dc-d48a2611781a",
    "userIndentifier": "sdjdafnaknffddeafdafdafdafda"
  }'
Experience it firsthand in the API Explorer!

Responses

Mpc Verify

Headers
Access-Control-Allow-Originstring
Example:

"*"

Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"351"

Datestring
Example:

"Fri, 19 Jul 2024 11:06:28 GMT"

ETagstring
Example:

"W/"15f-yf4ghKS+AyV7wo9A/oqLcmkeaUE""

Keep-Alivestring
Example:

"timeout=5"

X-Powered-Bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "message": "success", "result": { "status": { … } }, "status": 200 }

Send Deploy Request

Request

Send Deploy Request

Headers
apikeystring
Example:

{{apiKey}}

Bodymultipart/form-data
addressstring
Example:

"0xb4295b46DA1d9460419a1487b838CB776b5B2068"

blockchainstring
Example:

"POLY"

networkstring
Example:

"AMOY"

solFilestring(binary)
userIndentitystring
Example:

"sdjdafnaknffdafdafdafdafda"

userShardstring
Example:

"CAG26qxJo/WnzfQl8POPeEILG4ieRyUm5tqK7jP4o1PC8u9u6/2DtxOC2B6Mq2w8sPCkAp66k3G/XRTiTtuF2QlgBCM2LaJWuJd8iyUZiF7T/uNlZ+e6Rc0jUkOvkVLKt6JVubqA24mJo0K0sK3wK

curl -i -X POST \
  https://kalp-studio.redocly.app/_mock/untitled-1.yaml/wallet/send-contract-deploy-request \
  -H 'Content-Type: multipart/form-data' \
  -H 'apikey: {{apiKey}}' \
  -F address=0xb4295b46DA1d9460419a1487b838CB776b5B2068 \
  -F blockchain=POLY \
  -F network=AMOY \
  -F solFile=string \
  -F userIndentity=sdjdafnaknffdafdafdafdafda \
  -F 'userShard=CAG26qxJo/WnzfQl8POPeEILG4ieRyUm5tqK7jP4o1PC8u9u6/2DtxOC2B6Mq2w8sPCkAp66k3G/XRTiTtuF2QlgBCM2LaJWuJd8iyUZiF7T/uNlZ+e6Rc0jUkOvkVLKt6JVubqA24mJo0K0sK3wK4eRoSa4hsXuiv+XjnsXiWmMnIJ+93fsOhWzQcYSMOBR1SE='
Experience it firsthand in the API Explorer!

Responses

send Deploy Request

Headers
Connectionstring
Example:

"keep-alive"

Content-Lengthstring
Example:

"605"

Datestring
Example:

"Fri, 30 Aug 2024 10:29:34 GMT"

access-control-allow-originstring
Example:

"*"

etagstring
Example:

"W/"25d-zOWQlAOqdqzjoxHo8Zsm4l9cOfA""

serverstring
Example:

"istio-envoy"

x-envoy-upstream-service-timestring
Example:

"15352"

x-powered-bystring
Example:

"Express"

Bodyapplication/json
messagestring
Example:

"success"

resultobject
statusnumber
Example:

200

Response
application/json
{ "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 }