🚀Widget Quick Start
All swaps are trustless and there's no risk to user funds. If user navigates away from the page or swap fails for any reason, user's Lightning invoice payment will be canceled in ~24 hours and their funds will return to their Lightning wallet.
No need for API keys
You can integrate the library into your app and start making requests on mainnet right away. If you need help integrating or testing the widget, feel free to contact us.
If you prefer testnet you can test the available widget functions at http://testnet.lnswap.org:8081 or embed the widget into your site from http://testnet.lnswap.org:8081/widget.js.
Discord: https://discord.gg/8jGPCKmnnA
Twitter: https://twitter.com/ln_swap
Email: [email protected]
Install the widget
The best way to interact with our API is to use the below code to make it available on your site:
<div id="root"></div>
<script src="https://widget.lnswap.org/widget.js"
id="LNSwap-Widget-Script"
data-config="{'name': 'lnswap', 'config': {'targetElementId': 'root'}}">
</script>
Create your first swap request
To create your first swap request, populate the values below and call the lnswap
function which will make the required call to LNSwap API.
How it works: Stacks contract calls are triggered when required STX (or SIP10) is locked into the swap contract and once it's confirmed, user calls one of the trigger
calls that can be found in the triggerswap contract.
Here's the latest triggerswap contract: https://explorer.stacks.co/txid/SP2507VNQZC9VBXM7X7KB4SF4QJDJRSWHG4V39WPY.triggerswap-v6?chain=mainnet
Take a look at different swap types you can trigger using the widget:
// Populate the required parameters and start the Swap
lnswap('swap',
'swapType',
'user stx address',
'amount in STX',
'(only for mintnft/triggerswap/trustless rewards/stacking) NFT/Game Contract/Delegate Address',
'(only for mintnft) NFT Mint Function Name',
'sponsored transaction'
'(only for triggertransferswap) receiver stx address',
'(only for triggertransferswap) stx transfer memo',
'(only for trustless rewards) array of required parameters');
// listen to swap events from the widget
window.onmessage = function(e) {
if (e.data && e.data.target && e.data.target === 'lnswap') {
console.log('received data from lnswap widget: ', e.data.data);
}
};
// data will be in below format:
{ target: 'lnswap',
data: {
txId: 'Stacks txid if exists',
swapId: 'ID of the Swap',
status: 'Status of the swap'
}
}
Last updated