Building semi-custodial wallet

๐Ÿšง

Before integrating the Transaction APIs, please proceed with the following steps.

  1. Sign Up
  2. Generating Wallet
  3. Issuing API Tokens
  4. Register API Callable IP

Generally, semi-custodial wallets are built as follows. Other features can be implemented in various ways depending on the type of service.





Building a Child Address System

Generating Child Addresses

Generates addresses to be issued to end users. Generally, one child address is issued to each end user. Child addresses are generated by calling respective APIs, and issued child addresses can be checked from the console.


Managing the Balance of Child Addresses

You can access the balance of each child address by calling the Access Address Balance API.





Building a Deposit System

Deposit Occurrence Confirmation

When an outside asset is deposited to Octetโ€™s address, the transaction data will be sent to the clientโ€™s server from Octetโ€™s server as an HTTP (post) request. When the client has built a system to receive this, the system can check deposits occurring in real-time without continuous polling.





Building a Withdrawal System

Withdrawal from the child address

Withdraws the assets stored in the child address to the outside. You can request a withdrawal by calling the Request Child Address Withdrawal API.


Withdraw from the main address

Withdraws the assets stored in the main address to the outside. You can request a withdrawal by calling the Request Withdrawal API or from the console.


Setting Up Withdrawal Approval

All withdrawals proceed with administrator approval by default. However, it can be disabled for withdrawals using API, which makes withdrawal proceed when it is requested.

  • The administrator approval can be disabled on API withdrawal - [Wallet Settings] - [API Withdrawal Approval].
  • Console withdrawal - Administrator approval is required.

Withdrawal Completion Confirmation

When the main address asset is withdrawn, the transaction data will be sent to the clientโ€™s server from Octetโ€™s server as an HTTP (post) request. When the client has built a system to receive this, it can check the withdrawal completion in real-time without continuous polling.