V1Response
Every request method — info, getDeviceInfo, the Account API and sign() — resolves to this envelope (lifecycle setters return nothing, and the Bitcoin builder helpers and unitConverter return their own values) — except argument errors caught in the connector, which throw or reject (see Error Codes).
interface V1Response<T = Record<string, unknown>> {
header: { version: string; status: 'success' | 'failure';
request_from?: string; response_from?: string };
body: {
command?: string;
parameter?: T;
error?: { code: string; message: string };
};
}
info
The bridge SDK speaks an internal JSON-RPC wire ({ id, result, error }) to the connector; the connector re-wraps it into this V1Response before returning to your app. You only ever see V1Response.
body.parameter per method
| method / call | parameter |
|---|---|
signTransaction | { signature } — serialized signed tx; exact form per network (see the table below) |
signMessage / signTypedData | { signature } |
signData | { signature, key } |
signAuthEntry | { signedAuthEntry, signerAddress } |
getAddress | { address, … } |
getAccountInfo | { account: V2AccountInfo[] } |
getDeviceInfo | { deviceId, version, label, connectType, … } |
signTransaction.signature per network
| network | signature contents |
|---|---|
| EVM | RLP-encoded signed raw tx (eth_sendRawTransaction) |
| Bitcoin | signed raw tx hex |
| Solana | serialized signed (Versioned)Transaction, hex (no 0x) |
| Cosmos | <signature>.<pubkey>.<txRaw hex> — see Cosmos |
| XRP / Tron / … | that network's broadcast serialization |
| Cardano | that network's broadcast serialization — except the structured ordinary transfer, which is framed differently; see Cardano |
| Constellation | the bare DER secp256k1 signature (hex) over the transaction hash — rebuild the transaction and attach it as its proof — see Constellation |
| Filecoin | the bare secp256k1 signature (hex) — not a signed message; wrap it with the Lotus Message for MpoolPush — see Filecoin |
| HAVAH | the bare device signature (65 bytes, r‖s‖recovery id) as base64 — set it as the ICON transaction's signature field and call icx_sendTransaction — see HAVAH |