API Reference

Complete API reference for integrating eckoWALLET into your decentralized application. This document covers all available methods, events, and data structures.

Table of Contents

Detecting eckoWALLET

Before interacting with eckoWALLET, verify it's installed.

Check Installation

const isEckoWalletInstalled = () => {
  const { kadena } = window;
  return Boolean(kadena && kadena.isKadena);
};

// Initialize your dApp
const initialize = async () => {
  if (isEckoWalletInstalled()) {
    console.log('eckoWALLET is installed!');
    // Proceed with wallet integration
  } else {
    console.log('eckoWALLET not found');
    // Show installation prompt
  }
};

// Wait for page to load
window.addEventListener('load', initialize);

Detection Best Practices

Connection Management

kda_connect

Requests user permission to connect to your dApp.

Method: kda_connect

Parameters:

Request Example:

Response (Success):

Response (Rejected):

kda_disconnect

Disconnects your dApp from eckoWALLET.

Method: kda_disconnect

Parameters:

Request Example:

Response:

kda_checkStatus

Checks if your dApp is currently connected.

Method: kda_checkStatus

Parameters:

Request Example:

Response (Connected):

Response (Not Connected):

kda_checkIsConnected

Quick check for connection status without full details.

Method: kda_checkIsConnected

Parameters:

Response:

Account Information

kda_requestAccount

Get comprehensive account information for the connected account.

Method: kda_requestAccount

Parameters:

Request Example:

Response:

kda_getSelectedAccount

Get only the currently selected account address and public key.

Method: kda_getSelectedAccount

Parameters:

Request Example:

Response:

Network Information

kda_getNetwork

Get information about the currently selected network.

Method: kda_getNetwork

Parameters:

Request Example:

Response:

kda_getChain

Get the currently selected chain ID.

Method: kda_getChain

Parameters:

Request Example:

Response:

Transaction Signing

kda_requestSign

Sign a single Pact transaction.

Method: kda_requestSign

Parameters:

Capability Structure:

Request Example:

Response:

Response (Rejected):

kda_requestQuickSign

Sign multiple transactions at once (KIP-0015 QuickSign).

Method: kda_requestQuickSign

Parameters:

Request Example:

Response:

Response (Error):

See QuickSign (KIP-0015) for detailed guide.

Token Transfers

kda_sendKadena

Simplified method for sending KDA tokens. Opens eckoWALLET UI for user confirmation.

Method: kda_sendKadena

Parameters:

Request Example:

Response:

Events

eckoWALLET emits events that your dApp can listen to.

Event Listener Setup

Available Events

res_accountChange

Triggered when user switches accounts in eckoWALLET.

Event Name: res_accountChange

Listener:

Event Payload:

Handling Account Changes:

res_checkStatus

Emitted when connection status changes.

Event Name: res_checkStatus

Listener:

res_requestSign

Emitted when a signing request completes.

Event Name: res_requestSign

Listener:

Other Events

Additional events you can listen for:

  • res_requestQuickSign - QuickSign completion

  • res_sendKadena - Token send completion

  • res_getNetwork - Network change

  • res_getChain - Chain change

  • res_disconnect - Disconnection

  • res_requestAccount - Account request completion

Event Handler Best Practices

Error Handling

Common Errors

User Rejection:

Wallet Locked:

Not Connected:

Invalid Network:

Insufficient Balance:

Error Handling Pattern

TypeScript Types

Type Definitions

Usage with TypeScript

Rate Limiting

eckoWALLET may rate-limit requests to prevent abuse:

  • Maximum 10 requests per second per dApp

  • Excessive requests may be throttled

  • Implement debouncing for frequent calls

Best Practices

1. Always Check Installation

2. Handle Connection State

3. Listen to Account Changes

4. Provide User Feedback

5. Handle Errors Gracefully

Next Steps

Need Help?

Last updated