PRODUCTION
Production EU events emit UBL 2.1 invoice XML in an EN 16931 flavour. Invoice currency is EUR. Original USDC amount and the historical FX quote are recorded in document notes.
Why UBL after x402
Machine payments settle in stablecoins. European accounting and e-invoicing stacks expect UBL, not a Base transaction hash. Fiscal402 generates the document after classification, then binds it so a later re-serializer cannot silently substitute bytes.
Binding rule
- UBL as generated
- ↓
- exact UTF-8 bytes
- ↓
- SHA-256
- ↓
- artifacts.ubl_sha256 on the receipt
There is no XML Canonicalization (C14N). Whitespace-equivalent XML is a different artifact and must fail the hash check. Fetch with GET /settlements/:id/ubl.