
Trestly docs
What kUSDT is
Section titled “What kUSDT is”kUSDT is a token on Kaspa Layer 1 (L1). Each kUSDT is backed by one USDT locked in a vault contract on Ethereum or on BNB Chain. kUSDT has 6 decimals, like USDT on Ethereum.
- On Kaspa, kUSDT is a KCC-20 covenant token. KCC-20 is the Kaspa convention for fungible tokens. A kUSDT balance is an ordinary Kaspa transaction output whose spending rules every Kaspa node checks. kUSDT uses the standard KCC-20 token code unchanged, so wallets that support KCC-20 can read it.
- On Ethereum and BNB Chain, one vault contract per chain holds the locked USDT.
- A bridge of 5 independent signers connects the two sides. Any 3 of them can approve a mint on Kaspa or a payout from a vault, and both sides limit how much can move per day.
- KasPool, a constant-product pool, lets anyone swap KAS for kUSDT and back. It also runs as covenants on Kaspa L1.
- kUSDT Wallet, a browser extension with KCC-20 support, signs everything on the Kaspa side. Its mainnet version is published right after the launch, and these docs will link it then.
Why Kaspa L1
Section titled “Why Kaspa L1”Everything that happens to kUSDT on the Kaspa side is a Kaspa L1 transaction. kUSDT does not use the Igra or Kasplex layer-2 networks, their contracts or their bridges. Its rules run in Kaspa’s own script engine, and its transactions are ordered and confirmed like any KAS payment. Kaspa L1, not a layer 2 explains the difference.
How it works, in three steps
Section titled “How it works, in three steps”You lock USDT in the vault on Ethereum or BNB Chain and name a Kaspa address. The vault numbers the deposit and keeps a 0.50 % fee (at least 0.50 USDT).
Once the deposit is final, at least 3 of the 5 signers sign it. The BridgeMint covenant on Kaspa checks the signatures and the limits, and creates your kUSDT.
Send kUSDT, or swap it for KAS in KasPool. To redeem, you send it to a burn owner that names your EVM address. The signers approve, and the vault pays you USDT.
The full flows are in Bridge USDT in and Redeem kUSDT.
Key numbers
Section titled “Key numbers”These are the mainnet defaults from the specification, with the values at the launch where they are lower.
| Item | Value |
|---|---|
| Signers | 5; any 3 approve a mint or a payout; 4 unpause, change limits or replace signers on Kaspa |
| Bridge fee | 0.50 % each way; a deposit pays more, up to 2.50 %, while many deposits were made that day (Fees) |
| Minimum fee | 0.50 USDT per deposit; 5 USDT per release on Ethereum, 0.50 USDT on BNB Chain |
| Deposit size | 10 to 100 000 USDT (8 000 at the mainnet launch) |
| Kaspa mint allowance | Twice the signers’ daily limit, refills fully in 24 hours (100 000 USDT at the mainnet launch) |
| Vault release allowance | 250 000 USDT per vault, refills fully in 24 hours (50 000 at the mainnet launch) |
| Kaspa hard cap | 1 000 000 000 kUSDT; it can only go down |
| Pool fee | 0.50 % per swap (0.45 % to liquidity providers, 0.05 % to the protocol) |
Status
Section titled “Status”| Part | Status |
|---|---|
| Mainnet | Launching on 14 November 2026 from the release mainnet-v0.9.8-rc.25. The web app opens at trestly.io once the launch is verified; the addresses are published on Status then |
| Public testnet | Ran from 4 to 14 November 2026 on Kaspa testnet-10, Sepolia and BSC testnet. It has ended (The public testnet) |
| Signers | 5 independent operators; any 3 approve a mint or a payout, 4 for Kaspa governance |
| Monitors | Two, and either can pause the bridge (The monitor) |
| Vault owner | An AccessManager under a 2-of-3 Safe: 48-hour delays for changes, a 6-hour emergency delay, two cancellers |
| Internal attack rounds and outside reviews | Done, each finding answered (Audit status). None of them is an audit |
| External audit | Not audited |
| Legal review | Open |
Details are on the status page and the roadmap.
Where to go next
Section titled “Where to go next”- New to Kaspa covenants? Start with Covenants in plain words.
- Evaluating the bridge? Read the trust model and the threat model.
- Building on kUSDT? See Developers and the message formats.