Registers a new user in the MPC Driven system.
Before calling this function, use ApiClient.generateKeysForMpcUser() to create keys.
After creating a user by calling createMpcUser, the new user should call this API for getting the relevant information (described in status code 0)
- This API sends an unsecured ip url, with an http address not an https.
Request Example:
.. code-block::
registerMpcUser(
PublicKey="01223456789ABCDEF",
SignatureType=0
)
Response Example:
.. code-block::
{
"FunctionData": {
"StatusCode": 0,
"ColdData": {
"Data" : {
"PublicKey256k1" : "0123456789ABCDEF",
"PublicKey256r1" : "0123456789ABCDEF",
"ServerIdentifier" : "0123456789ABCDEF",
"ApiPublicKey" : "0123456789ABCDEF"
},
"Signature" : "0123456789ABCDEF"
},
"Certificate": {
"ColdPublicKeyForMpcUser" : "0123456789ABCDEF",
"Gk8SignatureForMpcUser" : "0123456789ABCDEF"
}
},
"Meta": {
"AccessToken": "6276...79fe",
"Destination": "0453...9d56",
"Source": "fc581...42f3",
"Time": "2025-02-10 13:05:23.729"
}
}
**Error Responses**
| Error Type | Http Code | GK8 error code | Reason / Description | Example Response |
|------------------|-----------|----------------|------------------------------------------------------------------------------------------|------------------|
| Backend Response | 400 | 1 | Unknown user | "StatusCode": 1 |
| Backend Response | 400 | 2 | Unknown signature type | "StatusCode": 2 |
| Backend Response | 400 | 3 | Invalid public key | "StatusCode": 3 |
| Backend Response | 400 | 4 | No certificate found | "StatusCode": 4 |
public_keystring<p>The Diffie-Hellman public key that was inserted to the DesktopApp</p>
signature_typeinteger<p>The signature type of the user's public key (0 for ECDSA SECP256K1, 1 for ECDSA SECP256R1)</p>
ipstringThe hot wallet IP
is_productionbooleanBoolean indicating if this is a production environment
request_timeoutintegerTimeout for the request
contextstring<p>Controls where sensitive data is stored (GK8Context instance or file system path)</p>
is_strictbooleanWhether to enable strict mode
is_impenetrable_vault_deployedboolean<p>Checks if the system is deployed in uMPC-only mode or with an Impenetrable Vault installed</p>
additional_certsarrayList of trusted SSL certificates from intermediary machines between client and server
acceptstringGenerated from available response content types
200success
curl --request POST \
--url '/registerMpcUser?public_key=BD3F1A9C8E7D6B5A4C3F2E1D0A9B8C7D6E5F4A3B2C1D0E9F8A7B6C5D4E3F2A1&signature_type=integer&ip=192.168.1.10&is_production=true&request_timeout=30' \
--header 'accept: application/json'