<!doctype html><html lang="en" data-type="software"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <title>Duly</title> <meta name="description" content="Send an invoice, get paid from any chain, keep your books straight."> <meta name="theme-color" content="#f2f4f0" media="(prefers-color-scheme: light)"> <meta name="theme-color" content="#0c1322" media="(prefers-color-scheme: dark)"> <meta name="color-scheme" content="light dark"> <meta name="page-type" content="software"> <meta name="site-kind" content="software"> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <link rel="preload" href="/fonts/archivo-var.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/fonts/jbmono-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="stylesheet" href="/style.css"> <script src="/boot.js"></script> <script src="/vendor/qrcode.js" defer></script> <script type="module" src="/app.js"></script></head><body> <div id="app"></div> <div id="toast" class="toast" role="status" aria-live="polite"></div> <noscript> <main class="wrap narrow stack"> <section class="card stack"> <h1>Duly</h1> <p>Pay-by-link invoicing for freelancers and small businesses. A client pays with any major token on any major chain, and the business receives USDC on NEAR. The payment itself closes the invoice on-chain and moves the tax and subcontractor shares into their own balances in the same step.</p> <p>This part of Duly is the app, which runs in your browser and needs JavaScript. The <a href="/">home page</a> explains Duly and lists the mainnet transactions without it, and <a href="/i/1-3">a paid invoice</a> shows what the chain records.</p> <p>Source, tests and reproduction steps: <a href="https://code.swiftbotlab.workers.dev/duly">code.swiftbotlab.workers.dev/duly</a>.</p> </section> </main> </noscript></body></html>