Skip to content
kyranjamie edited this page Apr 21, 2022 · 11 revisions

App Developers' Guide

This documentation explains how developers can interact with the Hiro Wallet.

Looking to integrate the Hiro Wallet with your app? Check out @stacks/connect

Getting started

When the Hiro Wallet is installed, a script is injected to the page, and a new object StacksProvider assigned to the global window variable.

if (window.StacksProvider) {
  // User has Hiro Wallet installed 🥳 
} else {
  // Prompt user to install the wallet
}

StacksProvider API Reference

The StacksProvider is a JavaScript object injected into web pages of users with the Hiro Wallet web extension installed.

authenticationRequest

This method accepts an encoded JWT payload, and returns a JWT payload signed with the users dataPrivateKey

StacksProvider.authenticationRequest(encodedJwt: string) => Promise<string>

transactionRequest

This method accepts an JWT payload with an unsigned transaction encrypted with the app's appPrivateKey. This is decoded, decrypted, validated, and then signed by the wallet.

StacksProvider.transactionRequest(encodedJwt: string) => Promise<SponsoredFinishedTxPayload | FinishedTxPayload>

Clone this wiki locally