When did your PDF last send a transaction?

Every PDFi+ invoice is a signed 1inch order. Pay from the page or inside Acrobat; it settles only if the payee matches the merchant's ENS name.

INVOICE NO
1043
INVOICE NO
2001

INVOICE NO

1048

DUE

Oct 26, 2026

FOR

Globex Corp.

Consulting services

2/10 net 30 · due today$

Made with

“Invoice #1042 was paid $980.00 on Sepolia. The router checked acme-demo.eth on-chain before the money moved.”

View transaction 0x659666…30a3 on Etherscan
Who is this for?

One invoice that works for everyone at the table

A PDF invoice and the account printed on it are unrelated

Forged

Change the account number, keep the logo. Business email compromise cost about $2.77B in 2024 (FBI IC3).

PAY TO

GB29 NWBK 6016 1331

GB82 WEST 1234 5698

Edited in transit

Unchecked

Nobody verifies the payee when the money moves. The PDF and the bank details on it are two unrelated things.

PAY TO

GB29 NWBK 6016 1331

Not checked

Unenforced

Terms live in the text. Nothing computes what is due today, or refuses a second payment.

PAY TO

GB29 NWBK 6016 1331

Not checked

How it works

From invoice to settlement, checked at every step

  1. 01

    Issue an invoice that names its own payee

    Each invoice is a signed order. It carries the amount, the terms and the ENS name it pays. The PDF, the pay link and the QR all point to the same order, so there is nothing to edit in transit.

    INVOICE NO

    1048

    PUBLISHED IN ENS

    1048.invoices.acme-demo.eth → vault 0x2Be0…1867

    2/10 net 30$
  2. 02

    The chain checks the payee before money moves

    Customers pay with a username, or a wallet. At settlement the router resolves the merchant's ENS name and the invoice's own name. If either does not match, the payment reverts. A forged PDF cannot collect.

    1inch router · settlement checks

    • Resolve acme-demo.ethowner 0x2Be0…1867
    • Resolve 1048.invoices.acme-demo.ethpoints to this vault
    • Amount due today$980.00 (2% early discount)
    Paid $980.00to acme-demo.eth

    Forged copy, same logo: payee does not match, reverted.

  3. 03

    Get paid before the due date

    Sell an unpaid invoice in one click. Financiers keep a single balance on 1inch Aqua that bids on every invoice they list. The merchant takes the best bid today; the financier collects in full when the customer pays.

    Invoice #1043 · $1,000.00 due Oct 26

    Listed
    • 0x7a1c…e29.1% /yr$962.50
    • 0xc7AE…417.4% /yr$980.00
    • 0x19f0…b88.3% /yr$971.20
    Sold to the best bid$980.00 USDC today; the financier redeems $1,000.00 when the customer pays.
Security

Checks that run where the money moves

Payee checked on-chain at settlement

The router resolves the merchant's name and the invoice's name inside the payment. A forged invoice reverts.

ENS

Terms enforced by the router

The amount due today and the one-payment rule are computed by a SwapVM instruction, not by the PDF.

1inch

FAQs

Is any of this real money?

No. Everything runs on Ethereum Sepolia with demo USDC that anyone can mint. The contracts are verified on Etherscan but not audited.

Who holds the keys of a PDFi account?

PDFi does. A PDFi account is a custodial server wallet on Coinbase Developer Platform; your password authorises each payment and only a salted hash of it is stored. There is no password reset.

What happens if someone forges an invoice with my name?

The payment reverts. The router checks that your ENS name belongs to whoever signed the invoice and that the invoice's own name points to its vault.

What about look-alike names?

acme-dem0.eth resolves correctly for its own owner, so the chain cannot catch spelling. The pay page always shows the name from the signed invoice: read it.

Can an invoice be paid twice?

No. Each invoice accepts exactly one payment; the second is refused on-chain.

Which PDF viewers can pay?

Any viewer can open the pay link or scan the QR. Paying from inside the PDF uses Adobe Acrobat's JavaScript.

What does a financier risk?

Non-payment. Factoring is non-recourse: the financier carries the risk that the customer never pays, and prices for it.

Live on Sepolia

Send an invoice that refuses the wrong account

Issue it under your ENS name. Your customer pays with a username, and you can sell it early if you need the cash.