Salt · uneedsalt.com
Your key. Copy it now. This page shows it once.
Example. The packet says pay a vendor $12. The person taps Yes. Salt does not take that money. The $12, if it is paid, is a later charge from their card to the vendor. Salt only spent one yes you already bought.
You run an app that can pay, send, post, or deploy on its own. Salt stops it until a person taps Yes. You pay for those taps here. The human never pays.
One yes is one tap. Start is $9 for 1,000. Each Yes spends one from your key. A number in the call, such as paying a vendor $12, is the action they are approving. Salt does not take that money.
Paste this on your app. After checkout, your key replaces the placeholder.
<script src="https://uneedsalt.com/js/salt.js"></script>
<script>window.SALT_KEY = 'sk_live_…'</script>
const rec = await Salt.yes({ who: 'your-app', action: 'pay', to: 'vendor', amount: '12' })
if (!rec || !rec.live) throw new Error('no')
The person sees the packet and taps Yes. You already paid for that tap. Agents that have no key can buy one tap for $0.50 at POST /api/salt/live. A pack is the cheaper way when you expect more than a few.
Same key from Cursor, Claude, or ChatGPT: Authorization: Bearer sk_… on POST /api/salt/mcp. Docs: salt.txt · llms.txt · openapi.yaml.