Litecoin (LTC)
UTXO-based signing with the same input/output contract as Bitcoin. Provide the full previous transactions for the inputs you spend; the device signs each input by its keyPath. Only the chainId, keyPath, address format and amount unit differ from Bitcoin.
| Field | Value |
|---|---|
| Family | Bitcoin (UTXO) |
| coinType | 2 |
| keyPath | m/44'/2'/<accountIdx>'/0/0 |
| addressFormat | legacy (SegWit not supported via bridge) |
| amount unit | litoshi (1 LTC = 1e8) |
| chainId | bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2 |
Supported Methods
| Method | Supported |
|---|---|
| getAddress | ✓ |
| signTransaction | ✓ |
| signMessage | ✗ |
| signTypedData | ✗ |
Requirements
Minimum firmware for each method. The two models are on different version lines, so DCENT Biometric Wallet and DCENT X are listed separately (the numbers are not comparable across models). Below this the request returns the firmware-update error (5005) and the bridge prompts to update.
| Method | DCENT Biometric Wallet | DCENT X |
|---|---|---|
getAddress | 1.5.1 or higher | 1.0.0 or higher |
signTransaction | 1.5.1 or higher | 1.0.0 or higher |
addressFormat
| Format | Path | Prefix | Status |
|---|---|---|---|
legacy (P2PKH) | m/44'/2'/0'/0/0 | L… (base58) | Supported |
segwit-native (P2WPKH) | — | ltc1… (bech32) | Not supported |
segwit-wrapped (P2SH-P2WPKH) | — | M… (base58) | Not supported |
Litecoin is legacy-only through the DCENT bridge. Only legacy P2PKH (base58 L…, derived from m/44'/2') is supported — DCENT has no Litecoin SegWit variant, and a m/84' keyPath is rejected by the BIP-44 gate. The native-SegWit / ltc1… examples shown below are not currently accepted; use the legacy m/44'/2' path. (Litecoin legacy addresses begin with L, not 1 as on Bitcoin.)
getAddress — account address
Derive a Litecoin account address for a keyPath. The connector returns the legacy P2PKH address (base58, L…, from m/44'/2'). Litecoin SegWit is not supported through the DCENT bridge, so addressFormat has no effect here. Call this before building a transaction.
Parameters
| Field | Type | Required | Source | Notes |
|---|---|---|---|---|
chainId | string | Required | App | CAIP-19 — fixed for Litecoin |
keyPath | string | Required | App | BIP-44 (legacy m/44'/2') |
addressFormat | enum | Optional | App | legacy only — SegWit not supported |
Request
await dcent.getAddress({
chainId: 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2',
keyPath: "m/44'/2'/0'/0/0"
})
Response
| Field | Type | Description |
|---|---|---|
header.status | string | success on completion |
body.command | string | getAddress |
body.parameter.address | string | Litecoin account address. With the default path this is a legacy P2PKH base58 address (L…). No public key is returned for the Bitcoin family. |
{
"header": {
"version": "1.0",
"status": "success"
},
"body": {
"command": "getAddress",
"parameter": {
"address": "L…"
}
}
}
signTransaction — UTXO transaction
The wire payload mirrors Bitcoin: payload.transaction carries inputs[] and outputs[]. Each input references the full previous transaction hex so the device can verify the spent value before signing.
payload.transaction:
{
"inputs": [
{
"rawTransaction": "<prev tx hex>",
"index": 0,
"txType": "p2pkh",
"keyPath": "m/44'/2'/0'/0/0",
"sequence": 4294967295
}
],
"outputs": [
{
"txType": "p2pkh",
"amount": "200000",
"addresses": [
"L…"
]
}
]
}
| Field | Type | Required | Source | Unit | Description |
|---|---|---|---|---|---|
inputs[].rawTransaction | hex | Required-Real | Wallet | — | Full prev-tx hex of the UTXO being spent; must be device-owned |
inputs[].index | number | Required | App | — | UTXO output index (utxo_idx) |
inputs[].txType | enum | Required | App | — | p2pkh |
inputs[].keyPath | string | Required-Real | Wallet | — | Path that signs this input (legacy m/44'/2') |
inputs[].sequence | number | Optional | App | — | Not defaulted to 0xffffffff — when omitted the bridge uses 0xfffffffd for RBF-enabled coins and leaves it unset otherwise. Also note the first input's value applies to the whole transaction. |
outputs[].txType | enum | Required | App | — | Output script type |
outputs[].amount | string | Required | App | litoshi | Output value (1 LTC = 1e8 litoshi) |
outputs[].addresses | string[] | Required-Real | App | — | Recipient. Only addresses[0] is used, and exactly one non-change output is allowed — more than one destination is rejected with param_error. Use a second output with txType: 'change' for change. |
Common Mistakes
Reusing Bitcoin coinType / keyPath — Litecoin is slip44:2, so the path is m/44'/2'/0'/0/0, not …/0'/… (Bitcoin's coinType 0). Trying to use native SegWit — Litecoin SegWit (ltc1…, m/84'/2') is not supported through the DCENT bridge; use legacy m/44'/2' P2PKH (L…). A m/84' keyPath is rejected. Missing change output — any unspent input value silently becomes the miner fee. Amounts not in litoshi — values are integers in litoshi (1 LTC = 1e8), never decimal LTC.