data-link-to
Required. Your @nexusnode.link paymail, or a 1… payment address. This is who receives the amount you set. A split keeps this name first.
Copy/paste the html, some fields are required, some are optional.
The button shows the amount and denomination.
The visitor drags the green knob from left to right and lets go.
A short drag snaps back and does not pay. A full slide pays.
While that button is paying it reads <wait>. A finished payment stays Paid in green.
A failed payment reads Error in red, with the reason on the button: Error - no Link, Error - not enough funds, or Error - cancelled, or Error - rate.
That same button can be slid again if it error'd.
If it worked the user will have to reload the page to use it again..
Phones, and any computer without Link running, read Error - no Link.
An empty wallet reads Error - not enough funds.
Cancelling the confirmation in Link reads Error - cancelled.
Users can set auto-pay on or off via their settings > security, in their Link wallet. This overrides the autopay of a button and can be used by users who always want a Link confirmation before paying.
N-button allows you to add optional extra fields.
A button that is missing a required field stays on Error - not set up and will not pay.
Required. Your @nexusnode.link paymail, or a 1… payment address. This is who receives the amount you set. A split keeps this name first.
Required. A note stored in the on-chain record, up to 160 characters. Do not use a | character.
Add data-link-to2, data-link-to3, and so on, up to 20 names. data-link-to1 counts too. Several names can sit in one attribute, separated by commas. A second data-link-to does not survive in HTML, so the extra names need their own attributes. With one amount, it is divided evenly. Sats that do not divide evenly stay with the first name. A share of 0 is left out. To send different amounts, add data-link-amount2 for the second name, data-link-amount3 for the third, and so on. data-link-amount stays with the first name. The same works with data-link-sats2 and data-link-bsv2. data-link-amount="9" and data-link-amount2="1" sends 9 to the first name and 1 to the second. The button shows the sum. One bad name, or a missing amount on a name, fails the button. The 200 sat house fee is not split.
off or on. Off is the default. On shows Click to download receipt under the button after Paid. The file lists who paid, each payee, then that payee's amount, the 200 sat house fee, the total, the page it was paid at, the message, the transaction id, the nonce, and the time Link accepted it. The local time is marked Local timezone, it also says the payment was broadcast. If a denomination is set, the amount that was on the button is included. The receipt record of the payment, it is not an invoice from the site. If the button also redirects, that redirect waits 5 seconds.
The same payment written in BSV, such as 1.01. Up to 8 decimal places. The chain still moves an exact number of sats.
The amount in satoshis, as a whole number. One sat through 21,000,000 BSV. Use this, data-link-bsv, or data-link-amount. Setting more than one is an error.
A price in the currency named by data-link-denomination, such as 10 with gbp. Up to 2 decimal places. The button converts it to sats when the visitor slides, so the pound figure stays put and the BSV moves with the rate. The miner fee and the 200 sat house fee are on top. If the rate is down, the button reads Error - rate and does not pay.
default, rose, green, gold, or blue. Anything else is default.
aud, brl, cad, chf, cny, czk, dkk, eur, gbp, hkd, huf, idr, ils, inr, isk, jpy, krw, mxn, myr, nok, nzd, php, pln, ron, sek, sgd, thb, try, usd, or zar. Next to data-link-sats or data-link-bsv it is a label. The visitor still pays the sats you set. Next to data-link-amount it is the price. data-link-amount="10" and gbp always charges 10 pounds of BSV, worked out when they slide. The miner fee is extra. The label is the amount, then the unit: 1000 sats, 0.1 bsv, 10 gbp.
Leave it blank and the visitor stays on your page. Otherwise use a full https:// address, or a path that starts with /. About a second after Paid, or 5 seconds when data-link-receipt is on, the browser opens that address with ?txid= added.
off or on. Off is the default. On asks Link to pay without a question, and only when that person’s Link lamp is green and the amount is under 10 BSV.
Optional. An @nexusnode.link paymail. Link seals a note to that name and adds a 1 sat output on the same payment, so BN can find it. Token payments use the same lock. A name that is not an @nexusnode.link paymail leaves the button on Error - not set up. An older Link reads Error - update.
Optional. Leave it out and the button makes one. If your server must match a nonce, set 8–64 characters from A–Z, a–z, 0–9, _ and -. One nonce, one payment, when your server enforces it.
Open Link, then Settings, then Security.
The row is labelled auto-pay on/off. Red is off. Green is on.
If amounts are under 10 BSV, auto-pay gives permission to automatically pay or request confirmation. N-buttons can request a silent pay with data-link-auto-pay="on".
If users auto-pay is off their Link still asks for confirmation on payments.
10 BSV or more value always asks, even when the lamp is green and the button says auto-pay.
Link also pays a house fee of 200 sats to webgate@nexusnode.link. The button does not print that fee. The HTML cannot remove it or send it somewhere else. The miner fee comes from the user’s Link.
These are the five theme colours you can choose from.
The denomination is a label. data-link-sats="100000" with gbp still sends 100,000 sats. The button looks up a BSV price and prints the fiat figure, such as 0.015 gbp. If that figure would round to 0.00, it shows more decimals so it does not look free.
data-link-amount is the other way round. data-link-amount="10" with gbp stays 10 pounds. The BSV changes with the rate at the moment they slide. The miner fee and the 200 sat house fee are on top of that.
The rate is read from this site, which asks WhatsOnChain for BSV in dollars and Frankfurter for the other currencies it publishes. It is cached for a few minutes. If the rate is down, or the code is not in that list, a sats or BSV button shows the BSV amount, such as 0.001 bsv. A data-link-amount button shows Error - rate and does not pay.
With no denomination, a sats button shows 100000 sats.
A data-link-bsv="1.01" button shows 1.01 bsv.
Set data-link-redirect to a full https:// address, or a path on your own site that starts with /. A bare dalais.org/success is not an address the button will follow.
About one second after Paid, the browser goes
. When data-link-receipt is on, it waits 5 seconds so the receipt can be clicked. It then adds the transaction id: ?txid=, or &txid= if the address already has a query. A cancel, no Link, or no funds stays on your page.
This site has a plain page for that test: https://dalais.org/success.
It says payment succeeded, and shows the txid when the button sends one.
The transaction outputs (onchain record) are the amounts: one output for each name that receives sats, and the 200 sat house fee. The block time is the time. The note in the transaction is short. Its type is n_button. It contains the visitor’s handle, the page origin, the page path, your message, a nonce, and a signature.
Theme, redirect, denomination, the fiat label, and a receipt are not in that note. The path does not include a query string. Your server is the lock: accept a form only after it has seen that transaction, with each payee output, the house output, and the nonce you issued.
When data-link-bnlock is set, that note also carries a sealed copy for the paymail, and the payment includes one extra 1 sat output. BN opens the copy. The amounts on the chain are still the outputs.
Set data-link-bnlock to an @nexusnode.link paymail when that person should see the payment in BN. The name is the lock. Link looks it up, seals a note to the key published for that paymail, and adds a 1 sat output on the same payment. BN finds the payment from that output. That includes a token payment, whose lots land on a different address. Leave the attribute off and the button pays as it does today.
BN links to the Link that owns the paymail. It shows the name to paste here, and a code the phone can scan. The phone only reads. It does not hold the wallet. Open BN and it lists what was missed: who paid, the page, the message, the amount, and the transaction. A payment that is still unconfirmed is included.
A lock that is not an @nexusnode.link name leaves the button on Error - not set up. An older Link reads Error - update. The 1 sat is not a fee you set. The house fee stays 200 sats.
No plugin is required. Simply copy/paste the HTML into a HTML block or similar.
data-link-to, any extra names for a split, one amount, and data-link-message.
A second button on the same page can leave the script tag off. This one is priced in BSV, labelled in pounds, gold, splits the amount across three names, and sends a paid visitor to the test page.
A button can send a BSV-21 token instead of BSV. Set data-link-ordinal to the token id. That id is the deploy origin: 64 hex characters, or that id plus _ and the output number. Set data-link-ordtotal to how many whole tokens the first payee receives.
data-link-ordtotal2, data-link-ordtotal3, and so on pair with data-link-to2, data-link-to3, the same way data-link-amount2 does. One ordtotal and several names is split evenly. A remainder stays with the first name. A share of 0 fails the button.
Do not also set data-link-sats, data-link-bsv, or data-link-amount. The lots move from the visitor's ordinals address to each payee's ordinals address, in one transaction. A 1… address or an @nexusnode.link name works. Any other paymail fails the button. The 200 sat house fee is still BSV. Link always asks. An older Link shows Error - update. The label is the sum, then the word tokens. The quantities are the token outputs. The signed note stays the same.
The same data-link-bnlock works on a token button. The lots still go to the payees. The 1 sat output and the house fee stay BSV.
Each line the button reads. A number, when one is allowed, runs from 1 to 20 and matches that payee.
data-link-to — First payee. A paymail or a 1… address. Required. Commas in this line add more names. data-link-to1 through data-link-to20 are further payees.data-link-sats — How many sats to send, as a whole number. Not used on a token button. data-link-sats1 through data-link-sats20 are the sats for those payees.data-link-bsv — The same payment in BSV, such as 1.01. Up to 8 decimal places. data-link-bsv1 through data-link-bsv20 are the BSV amounts for those payees.data-link-amount — A fiat price. Needs data-link-denomination. Turned into sats when the visitor slides. data-link-amount1 through data-link-amount20 are the fiat amounts for those payees.data-link-ordinal — BSV-21 token id (the deploy origin). Switches this button from BSV to tokens.data-link-ordtotal — How many whole tokens the first payee gets. data-link-ordtotal1 through data-link-ordtotal20 are the quantities for those payees.data-link-message — The note stored on the chain. Required. Up to 160 characters. No | character.data-link-theme — default, rose, green, gold, or blue. Anything else is default.data-link-denomination — A 3-letter currency code, such as gbp or usd. A label beside sats or BSV. The price currency beside amount.data-link-receipt — off or on. On offers a receipt download after Paid. Off is the default.data-link-redirect — Where to go after Paid. Blank stays on the page. Use https:// or a path that starts with /.data-link-auto-pay — off or on. On asks Link to pay with no question, under 10 BSV, when the lamp is on. A token payment always asks.data-link-nonce — Optional id from your server. 8–64 of letters, numbers, _ and -. One nonce, one pay, when you enforce it.data-link-bnlock — Optional @nexusnode.link paymail. Link seals a note to that name and adds a 1 sat output so BN can find the payment, including a token payment.data-link-notify — Where the button POSTs after Paid. A path on your site, or an https:// address.