Use case · Payments

Verify the payment address before the money moves

Invoices get intercepted, support channels get spoofed, and a single swapped character sends a payment somewhere unrecoverable. WalletOrigin lets a customer confirm the receiving address belongs to your company domain before they hit send.

The risk

One wrong address, no way back

Crypto payments are final. Anyone who can reach your customer with a plausible-looking address can redirect a payment, and the customer has no built-in way to tell a real company address from a copy.

  • Invoice and email interception: the address in a PDF is swapped in transit.
  • Impersonated support accounts hand out a lookalike address in chat.
  • Copy-paste malware silently replaces the address in the clipboard.
A concrete example

A B2B invoice paid in USDC

Your finance team sends an invoice with a receiving address. Instead of asking the customer to trust the document, you point them at the proof tied to your domain.

  1. 01

    You publish a DNS TXT record on your company domain and sign a challenge with the receiving wallet.

  2. 02

    The invoice links to your /d/yourcompany.com proof page. Customers can also paste the address into /check without an account or key.

  3. 03

    The customer sees the address resolve to your domain — or nothing at all, which is the warning they needed.

What the proof guarantees

Checkable by anyone

  • The address was signed by whoever holds its private key.
  • The domain operator published the matching DNS token and the wallet controller signed it.
  • The DNS record and signature can be checked independently; control does not establish legal company identity or payment safety.
  • Private keys never leave the wallet; only signatures are shared.
Lookup response
GET /api/public/lookup?address=0xAbC1234567890abcdef1234567890abcdef123456&chain=ethereum
Authorization: Bearer walletorigin_…

{
  "address": "0xabc1234567890abcdef1234567890abcdef123456",
  "chain": "ethereum",
  "verified": true,
  "proofs": [
    {
      "domain": "company.com",
      "chain": "ethereum",
      "verified_at": "2026-07-05T10:20:30.000Z"
    }
  ]
}

Make your payment address checkable

Bind your receiving wallets to your domain and give every customer a way to confirm before they pay.

Verify your address