Selling
One link. Two audiences. No database.
This is the part worth understanding, because it is not how payment links usually work.
A ONE pay link is not a row in our database that you look up. The link
is the offer — the price, the chains, and your payout addresses, encoded into
the URL and signed. We store nothing. And the same URL behaves differently depending
on who asks for it.
# Create something sellable. No account, no key, no dashboard.
curl -X POST https://pay.one.ie/ -H 'Content-Type: application/json' -d '{
"protocol": "payment_link_create",
"data": {
"merchantSlug": "acme",
"amount": 2500, "unit": "usd",
"product": "Consulting hour",
"chains": ["SUI","BASE"],
"treasuries": { "SUI": "0x90…", "BASE": "0x9e35…" }
}
}'
# → { "url": "https://pay.one.ie/l/eyJhIjoxMDAsImMiOls…<signature>",
# "short": "https://pay.one.ie/s/<8-char-code>",
# "linkHash": "0x3ed4fc957dc20d8c",
# "decoded": { … the whole offer, readable, signed … } }
#
# Server time: 0 ms. Nothing was written to a database, because there is no row. The money never touches us
Buyers pay the treasury addresses you put in the link. Funds go from their wallet to yours.
We read the chain to confirm it happened — we do not stand between you and the payment,
and we never hold a key of yours.
It refuses to mint without your address
Name a chain but give no payout address for it and the link is simply not created. It used
to fall back to a default treasury. That was quietly wrong, so it was replaced with a refusal.
Escrow, when trust is missing
For deals where neither side wants to go first, the gateway can hold funds at a generated
address with a 30-minute window, then forward or refund. Create, poll, forward, refund —
four endpoints.