Skip to main content

Unifi Migration Guide

Wallet Function Updates

Effective Date: February 12, 2025, 11:00 AM (UTC+0)

Dear Developers,

This notice is to inform you that Dapp Portal will be rebranded as Unifi.
Along with the rebranding, the Wallet functionality will be updated and certain actions are required to ensure your Apps continue operating smoothly.

Concept of Unifi Rebranding

AS-IS
TO-BE
NOTE
Dapp Portal
Unifi
Mini Dapp
Unifi Apps
Mini Dapp SDK
Unifi Apps SDK
No change in the SDK Library name
(~/@linenext/dapp-portal-sdk)
Dapp Portal Wallet
Unifi Wallet

Overview of Unifi

Unifi is a stablecoin wallet built on the Kaia blockchain.
After user registration and Approve authorization, it provides an automatic deposit service.

  • Auto-deposit target at launch: USDT
  • Other assets (e.g., KAIA, BORA) remain supported but are not eligible for auto-deposit.

Once a Dapp Portal user migrates to Unifi:

  • The user's on-chain USDT balance may appear as zero
  • All USDT will be automatically deposited into Unifi's account pool

Developers must query the Unifi account balance, not only the on-chain balance. Therefore, Developers using USDT must follow the steps below.

SDK Version Update Required

The new SDK version that supports Unifi is v1.6.0. Please update your SDK to this version.

If not updated:

  • USDT Payments via PaymentProvider will fail due to insufficient balance
  • Auto deposited USDT will not be detected

Please update to the Unifi-compatible SDK as soon as it becomes available.

note

By using the PaymentProvider, USDT payments can be executed using the balance automatically deposited in the Unifi account simply by updating the SDK version without modification.
Other functionalities guarantee compatibility with the Unifi Apps SDK, so no changes are required.

Updated USDT Balance Query Method

For USDT queries on-chain — Unifi deposit balances:

  • AS-IS: Queries on-chain USDT only
    getErc20TokenBalance()
  • TO-BE: Queries on-chain + Unifi deposit balance
    getErc20TokenBalanceWithDepositedBalance()

Smart Contract-Based USDT Transfer Changes

For USDT transfers implemented via smart contract including Swap, Developers must include depositTokenAddress and depositAmount in the kaia_sendTransaction request.

Changes are required when the walletType is WEB or LIFF. If the walletType is OKX, BITGET, Ethereum or Mobile developers can use the AS-IS parameters.

AS-IS

params = {
typeInt: 48,
from: "walletAddress",
to: "contractAddress",
value: "0x0",
input: "0xabcd..."
}

TO-BE

params = {
typeInt: 48,
from: "walletAddress",
to: "contractAddress",
value: "0x0", // Kaia Amount
input: "0xabcd...",
depositTokenAddress: "0xd077a400968890eacc75cdc901f0356c943e4fdb", // USDT contract address
depositAmount: "1000000", // Amount of USDT to transfer as token decimal. 1 USDT = 1000000
gas: "0x30D40" // We recommend hard-coding the gas limit to approximately 200,000
}

Ref

  • Contract Address of USDT on Kaia: 0xd077a400968890eacc75cdc901f0356c943e4fdb
  • Gas: Gas estimation is not possible due to an 'execution revert' error because USDT in Unifi Wallet is fully deposited into interest vault.

Modify Browser Tab Name

  • AS-IS: {dapp_name} | Mini Dapp
  • TO-BE: {dapp_name} | Unifi Apps

Modify Connect Button for Unifi

1 KB
Unifi_Symbol_400x400.svgImage
Download
45 KB
Unifi_Symbol_400x400.pngImage
Download

Update OA Rich Menu for Unifi

20 KB
Unifi_Logo_Primary_512_512.pngImage
Download
4 KB
Unifi_Logo_Primary_1024_1024.svgImage
Download