Crypto and Web3 Businesses
Use this path when your business quotes, bills, or gets paid in cryptocurrency and needs standard invoices around that — not on-chain payment processing itself.
Common Underestimation
Teams assume “invoice in crypto” means one feature. It is really three separate, independently useful ones: showing a crypto amount next to a normal fiat invoice, pricing the document itself in a crypto asset, and recording that a payment came in as crypto. Most businesses only need one of the three. See the Crypto Guide for exactly how each works.
Who This Is For
- crypto exchanges and brokerages invoicing fees, subscriptions, or B2B services
- payment processors and payment facilitators that settle in crypto but still need standard business invoices
- Web3/SaaS products billing in stablecoins (USDC, USDT)
- OTC desks and market makers invoicing counterparties
- mining pools and staking providers invoicing operators or node customers
- agencies, contractors, and freelancers paid in crypto who need a normal-looking invoice for their own records or their client’s
Best Fit / Not A Fit
Best fit
- you want a real invoice with tax handling, numbering, and a PDF, priced or settled in crypto
- you need a documented, reportable EUR/fiat-equivalent value alongside a crypto amount
- your entity is not in the UK and issues from a country where crypto invoicing is otherwise legally usable
Not a fit
- you need Space Invoices to detect, verify, or process the on-chain payment itself — it only stores the wallet address you give it and lets you record that a payment happened; it does not watch the chain
- you need cost-basis tracking, crypto accounting, or tax advice — Space Invoices converts amounts for document/reporting purposes only, it is not an accounting or tax engine for crypto holdings
- your entity is UK-registered and you want a crypto-denominated invoice — HMRC treats cryptoassets as non-money, so this is blocked entirely
- you must send e-invoices through Peppol/UBL, XRechnung, ZUGFeRD, NAV, KSeF, FatturaPA/SdI, or French e-reporting for a crypto-priced document — every one of these formats requires a fiat, ISO-currency-coded document and rejects a crypto-priced one with a 422; a plain fiat invoice with a crypto equivalent is fine for these paths, since the document itself is never in crypto
Recommended Integration Path
- use an account key on your backend if you manage multiple business entities (for example a multi-brand desk or platform), or an entity key for a single business
- use the JavaScript SDK to create documents from your own settlement or payment events
- turn on
crypto_equivalentsonly if you want a display-only crypto amount on fiat invoices; pricing a document itself in crypto (currency_code: "BTC","USDC", …) needs no setting through the API (crypto_invoicingonly controls the web app’s currency picker)
Entity Model
Typical model:
- one entity per legal business unit that issues invoices
settings.crypto_walletsholds the wallet address(es) that entity accepts, one per asset code- your own systems remain the source of truth for on-chain settlement; Space Invoices only stores and prints what you tell it
First Sandbox Milestone
Validate this before go-live:
- configure
crypto_walletsfor the assets you accept - depending on your use case: enable
crypto_equivalentson a fiat invoice, or create one crypto-priced invoice with a cryptocurrency_code - render the PDF and check the crypto amount, wallet address, and (for crypto-priced invoices) the fiat-converted totals
- record a
type: "crypto"payment with a transaction hash asreferenceand confirm the document settles - if you also export to accounting or file e-invoices, confirm which paths accept a crypto-priced document (see the Crypto Guide)
Bill a Customer in USDC
const _invoice = await sdk.invoices.create({
currency_code: "USDC",
customer: { name: "Acme Corp" },
items: [{ name: "Monthly platform fee", quantity: 1, price: 500 }],
});Common Workflow and Gotchas
- decide per use case whether you need
crypto_equivalents(fiat invoice, informational crypto amount) or a cryptocurrency_code(the invoice itself is in crypto, no setting needed) — most businesses only need one - a document priced in crypto cannot be sent through any EN 16931-based e-invoicing format, NAV, KSeF, or FatturaPA/SdI — if you operate in a market with an e-invoicing mandate, keep the mandated document in fiat and use
crypto_equivalentsfor the crypto amount instead - UK entities cannot issue crypto-priced documents at all — issue in GBP
- crypto amounts round to the asset’s own decimals (8 for BTC/ETH, 6 for SOL, 2 for USDC/USDT), not the usual 2 decimal places
- Space Invoices does not verify crypto payments on-chain; recording a
type: "crypto"payment is a manual confirmation, the same as any other payment type
Related Guides and API
- Crypto Guide — full reference for wallets, equivalents, crypto invoicing, and crypto payments
- Invoices Guide — base invoice lifecycle
- Entities API —
settings.crypto_wallets,settings.crypto_equivalents,settings.crypto_invoicing(web-app picker preference) - Start free sandbox