Home

Awesome

starknet-deeplink

StarkNet deeplink generator.
Securely generate links for payment requests, dApp launching & assets listing (aka "add token").

Installation

using npm -

  npm install starknet-deeplink

or yarn -

  yarn add starknet-deeplink

Examples

Goerli ETH payment request:

import { StarknetChainId, transfer } from 'starknet-deeplink'

const STARKNET_ETH = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";

const beneficiaryAddress = "0x123456789abcdef";
const url = transfer(beneficiaryAddress, {
    token: { token_address: STARKNET_ETH, chainId: StarknetChainId.GOERLI },
    amount: 0.02,
});

// "https://starknet.app.link/transfer/0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7@0x534e5f474f45524c49?address=0x123456789abcdef&uint256=2e-2"


dApp launching request:

import { dapp } from 'starknet-deeplink'

const url = dapp("https://example.com");

// "https://starknet.app.link/dapp/example.com"


Add (list) token request:

import { addToken, StarknetChainId } from 'starknet-deeplink'

const url = addToken({
    token_address: "0x123456789abcdef",
    chainId: StarknetChainId.GOERLI,
});

// "https://starknet.app.link/watchAsset/0x123456789abcdef@0x534e5f474f45524c49?type=ERC20"

API Reference

transfer (to_address: string, options: TransferOptions)

Generate a transfer StarkNet URL, i.e. for a payment request.
returns a URL string

ParameterTypeDescription
to_addressstringRequired. beneficiary address
optionsTransferOptionsRequired. defines a token to be used, and optionally the amount to be transferred

addToken (token: Token)

Generate a watchAsset StarkNet URL, for watching the given token (asset).
returns a URL string

ParameterTypeDescription
tokenTokenRequired. the to be added (listed) by this watchAsset request

dapp (url: string)

Generate a dapp StarkNet URL, for launching a dApp by a StarkNet supporting browser client.
returns a URL string

ParameterTypeDescription
urlstringRequired. dapp url

Types

TransferOptions

ParameterTypeDescription
tokenTokenRequired. token to be used
amountstring or numberOptional. requested amount

Token

ParameterTypeDescription
token_addressstringRequired. the token address
chainIdChainIdRequired. token address's chain ID

ChainId

Could be either StarknetChainId, string or a number (hex)

StarknetChainId

enum of common StarkNet chain IDs, such as -

    MAINNET = "0x534e5f4d41494e",
    GOERLI = "0x534e5f474f45524c49",
    GOERLI2 = "0x534e5f474f45524c4932",

License

MIT

Related

starknet-url - StarkNet URL generator