App Store
Search…
⌃K
⚙

App Configuration

​
Note: Make sure you configure a load URL before making your app available to install.

Webhooks

As mentioned in the Overview, Thred apps are not physically hosted by the wallet. Instead, customers sign up for your app when they install it on their Wallet.
Optionally, we provide custom Webhooks that notify you when a user has installed or uninstalled your application.
There are 2 webhooks that get called by Thred on installation/removal. When creating an app, you can specify your webhook URLs from the developer dashboard.
​

Detecting Thred Wallet

When users want to use your app, they connect their wallet to the Thred App Store and we display their available apps. They can then launch your app and we will display your Load URL in a native webview.
To make this process simpler, Thred injects the Thred Wallet Provider into your app's website at window.ethereum.
To avoid collision with other wallets like Metamask, Thred exposes a boolean property at window.ethereum.isThredWallet to allow apps to auto-detect an injected wallet.
Webhook / URL
POST Data
App Install
{
installer: "<ADDRESS THE APP WAS INSTALLED ON>",
timestamp_unix: "<UNIX TIMESTAMP>",
app: {
name: "<NAME OF INSTALLED APP>",
id: "<ID OF INSTALLED APP>",
},
chain_data: {
chainId: "<CHAIN ID OF INSTALLED NETWORK>",
network_name: "<NAME OF INSTALLED NETWORK>",
protocol_address: "<THRED PROTOCOL ADDRESS>",
transaction_hash: "<TRANSACTION HASH FOR APP INSTALL>",
block_number: "<BLOCK NUMBER OF THIS TRANSACTION>",
},
}
App Uninstall
{
uninstaller: "<ADDRESS THE APP WAS REMOVED FROM>",
timestamp_unix: "<UNIX TIMESTAMP>",
app: {
name: "<NAME OF REMOVED APP>",
id: "<ID OF REMOVED APP>",
},
chain_data: {
chainId: "<CHAIN ID OF REMOVED NETWORK>",
network_name: "<NAME OF REMOVED NETWORK>",
protocol_address: "<THRED PROTOCOL ADDRESS>",
transaction_hash: "<TRANSACTION HASH FOR APP REMOVAL>",
block_number: "<BLOCK NUMBER OF THIS TRANSACTION>",
},
}
App URL
www.yourdomain.com
Injected Wallet
window.ethereum = {
... //RPC API Functions
isThredWallet: true
}