Initial Wallet Setup
API Authentication
To call WaaS APIs, you need credentials issued from the console. Please request a console account through Contact Us.
- API Key: A public key used to identify each project.
- API Secret: A secret key used for server-to-server authentication. Never expose it on the client side.
- How to configure: You can issue or reissue credentials in ABC WaaS Console > Select Project > [Settings] > [API Key].
Authentication Flow
This flow uses username as the identifier. It checks whether registration is possible, creates the account immediately, and then logs in.
1. Check Account Creation Availability
First, check whether the target username is available for registration.
- API:
GET /member/user-management/v3/{username} - API Console: Check availability
usernameformat: 5-64 characters including uppercase/lowercase letters, numbers, and special characters
2. Create Account (Sign Up)
If registration is available, create an account with that username.
- API:
POST /member/user-management/v3/signup - API Console: Sign up
- On success:
201 Created
3. Login and Issue Token
Log in with the created account to obtain the authentication token required for MPC and Core services.
- API:
POST /auth/auth-service/v3/login - API Console: Login
- Request Body:
grant_type=client_credentials,username={username} - Result: A JSON
access_tokenis issued
Wallet Creation
When you pass the access_token obtained from login to the wallet creation API, the MPC engine generates distributed key shares for that user and binds them to a blockchain network wallet address.
1. Generate Wallet Key (Generate MPC Key)
- Key share generation: Server-side, Mobile SDK
- The
access_tokenmust be included in the header - MPC key assignment: The WaaS server verifies whether the token belongs to a valid
usernameand then starts secure computation. - Wallet address response: The wallet address (
address) derived from the generated public key is returned immediately.
You must securely store all returned values (key_id, curve, public_key, secret_store, encrypted_share).
2. Get Wallet Info
This step derives and verifies the actual public address that will be used on blockchain networks such as EVM and Solana from the generated key.
- Get wallet info: Server-side, Mobile SDK
- The
access_tokenmust be included in the header - Returns network-specific wallet addresses (
address) based on generated MPC key information - Usage: When sending transactions through Core APIs later, use the address confirmed here as the sender (
From) address