Skip to main content

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
  • username format: 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_token is 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_token must be included in the header
  • MPC key assignment: The WaaS server verifies whether the token belongs to a valid username and then starts secure computation.
  • Wallet address response: The wallet address (address) derived from the generated public key is returned immediately.
Important

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_token must 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