Payment event
US → NL
Global parties
- seller
- US
- buyer
- NL
- protocol
- x402
- network
- eip155:8453
- asset
- USDC
Jurisdiction
- jurisdiction
- EU
- status
- SUPPORTED
- regime
- OSS_B2C
- rate
- 21%
- artifact
- UBL 2.1
fiscal402.receipt
Assembling
Fiscal infrastructure for autonomous commerce
Global event model. Explicit jurisdiction coverage. Fiscal402 normalizes cross-border autonomous commerce and determines tax only where verified rules are available — today, EU VAT including non-EU sellers of electronic services into Europe.
Post-settlement · Non-custodial · x402 v2 · UBL 2.1 · Ed25519
Payment event
US → NL
Global parties
Jurisdiction
fiscal402.receipt
Assembling
At a glance
Fiscal402 is non-custodial and does not move customer funds. Free during beta at 0 bps. Standard rate after beta is 10 bps (0.1%) of fiscalized volume. High-throughput platforms may use custom contracted rates.
Read the about page, the facts table, or the verification model.
Settlement ≠ fiscal record
The gap
Machine payment systems can prove that money moved. Enterprises still need to know what the transaction represented, which jurisdiction applied, which ruleset was used, and whether the evidence can be verified later.
Unresolved transaction
Settlement only
Settlement
Still required
How it works
x402 moves value. Fiscal402 observes the settled transfer and makes the event fiscally usable. It does not generate HTTP 402, authorize payment, settle funds, or act as a facilitator.
event
post-settlement
01
Settled
x402 transfer already exists
02
Observe
PaymentEvidence, post-settlement
03
FiscalEvent
Persist event, parties, provenance
04
Determine
EU VAT + engine / ruleset versions
05
Artifacts
Exact UBL 2.1 bytes + ledger
06
Receipt
fiscal402.receipt/1.0.0
07
Record
Query, reconcile, independently verify
System of record
Fiscal402 does not only return a response and forget it. It preserves enough structured evidence to reconstruct how the event was processed.
Persisted
A fiscal system of record for machine commerce — the evidence required to reconstruct settlement, commercial context, determination, ruleset, artifacts and receipt. Not a claim to be the global ledger of all commerce.
Reconstructable
Every determination is tied to the event context, evidence sources, engine version and ruleset version used at processing time.
Event #x402-4f9c1670
Example
Append-only history
Material corrections create new history instead of silently mutating the original record. This is an append-only correction model — not a claim of legal immutability or a blockchain-backed audit log.
EVENT
│
├── determination v1
│ └── receipt A
│
└── correction
└── determination v2
└── receipt BProtocol object
A Fiscal402 receipt binds the normalized event, fiscal determination and artifacts to a signed payload that can be independently verified. Verification proves cryptographic and structural integrity. It is not a guarantee of tax-authority acceptance.
Fiscal402 receipt
Assembling
Demo example. Illustrates a processed x402 settlement, not a live payment.
Machine-readable
fiscal402.receipt / 1.0.0 is the protocol object.
Settlement-bound
Network, transaction hash, asset and amount are recorded as observed.
Invoice-bound
SHA-256 of the exact UBL 2.1 bytes Fiscal402 emitted. Not XML C14N.
Cryptographically signed
Ed25519 over the canonical payload. JWKS publishes keys.
Offline verifiable
Recompute hashes locally. No Fiscal402 API call is required.
Fiscal402 stores and hashes the exact generated UBL artifact bytes. Binding is SHA-256 over UTF-8 bytes as emitted — not XML semantic canonicalization.
Trust layer
Verification uses the receipt, JWKS, and optional bound UBL. No Fiscal402 API call is required. VERIFIED denotes cryptographic integrity, not tax-authority approval.
verify
Independent verification does not require a published CLI. The algorithm is the public contract.
Integrity
Fiscal402 can identify incomplete or inconsistent fiscal records instead of silently treating them as finished. This is a system capability, not an operator dashboard.
Reconciliation
If Fiscal402 cannot support a determination from available evidence, the event is routed to review instead of being assigned a fabricated tax result.
Jurisdiction engine
Fiscal402 accepts parties anywhere. EU VAT is determined for EU corridors and for non-EU sellers of electronic services into the EU. US, UK, and Canadian tax stay explicit: experimental or manual review. Representation is not a tax claim.
Fiscal402 produces technical fiscal classification and evidence. This is not tax advice and not a guarantee of tax-authority acceptance.
Coverage
The event model is worldwide. Tax determination is jurisdiction-specific. EU VAT is production. Everything else is labelled as it actually is.
| Jurisdiction | Event model | Determination | Receipt |
|---|---|---|---|
| EU VAT | SUPPORTED | SUPPORTED | V1 SUPPORTED |
| UK VAT | SUPPORTED | EXPERIMENTAL | UNSUPPORTED |
| US sales tax | SUPPORTED | MANUAL_REVIEW | UNSUPPORTED |
| Canada GST/HST/PST/QST | SUPPORTED | MANUAL_REVIEW | UNSUPPORTED |
| Other countries | REPRESENTABLE | NOT_VERIFIED | UNSUPPORTED |
Production remains x402 v2 exact and EU VAT, including qualifying non-EU sellers of electronic services into Europe. Full coverage notes.
Architecture
Fiscal402 can represent machine-commerce events between parties anywhere. Tax determination runs only where verified jurisdiction rules exist. Today that engine is EU VAT. UK is experimental. US and Canada are provider/review boundaries, not live rate engines.
seller anywhere
FiscalEvent
JurisdictionRouter
EU VAT LIVE
UK VAT EXPERIMENTAL
US / CA MANUAL REVIEW
receipt if eligible
Payment evidence becomes a fiscal event. The router evaluates the corridor. Receipts issue only when the path is production-eligible. Determination is output, not input.
Current production: x402 ingest + EU VAT + receipt v1 + durable fiscal history.
Fail closed
Fiscal402 does not turn architectural coverage into fabricated tax output. Manual review is a first-class result.
The FiscalEvent persists. US is a jurisdiction candidate. Determination waits for a verified engine. That is the product working.
Receipt eligibility
A global FiscalEvent does not automatically produce fiscal402.receipt/1.0.0. Production v1 is issued only on the verified EU VAT path.
event normalized
jurisdiction supported?
settlement verified?
valuation available?
artifacts valid?
receipt eligible
Only then: fiscal402.receipt/1.0.0
Capabilities
Platforms can query Fiscal402 without executing a payment. Coverage is returned per layer — event, payment, jurisdiction, receipt — never as a single misleading supported flag.
POST /v1/capabilities/check
{
"seller_country": "US",
"buyer_country": "NL",
"supply_type": "digital_service"
}Same vocabulary as the API reference.
Platforms
Platforms keep payment verification and settlement. Fiscal402 receives the settled economic event, evaluates fiscal coverage, and returns a verifiable fiscal artifact when supported.
Developers
After x402 has settled, POST settlement evidence to Fiscal402. You get a signed fiscal402.receipt. Typed packages are not published on npm — HTTP is the supported path.
record.ts
const origin = process.env.FISCAL402_ORIGIN ?? "https://api.fiscal402.com";
const response = await fetch(`${origin}/settlements`, {
method: "POST",
headers: {
"content-type": "application/json",
"X-Fiscal402-Key": process.env.FISCAL402_MERCHANT_KEY!,
"Idempotency-Key": "acme-nl-de-1",
},
body: JSON.stringify({
amountUsdc: "1.00",
txHash: "0xYOUR_SETTLED_TX",
timestamp: "2026-09-10T12:00:00.000Z",
payerWallet: "0xPAYER",
receiverWallet: "0xPAY_TO",
network: "eip155:1",
asset: "USDC",
scheme: "exact",
consumerCountry: "DE",
consumerName: "Buyer GmbH",
}),
});
if (!response.ok) {
const body = await response.json();
throw body.error ?? new Error(`Fiscal402 ${response.status}`);
}
const event = await response.json();
// event.id → GET /v1/receipts/:id
Authenticate ingest with X-Fiscal402-Key. Full walkthrough: Quickstart.
x402 · fiscal evidence
x402, EU VAT, UBL 2.1, fiscal receipts, and independent verification are documented as themselves — not as a worldwide tax engine.
EU VAT after machine payments.
Payment receipt vs fiscal402.receipt.
Settlement is not a ledger row.
EN 16931 artifact bound by SHA-256.
Global events, explicit tax coverage.
One fiscal hook after settlement.
Independent Ed25519 / JWKS checks.
Independent dimensions
Fiscal402 keeps these axes separate so a new payment rail does not rewrite tax, and a new jurisdiction does not rewrite payment ingest.
PROTOCOL
x402
≠ NETWORK
eip155:1
≠ ASSET
USDC
≠ JURISDICTION
NL → DE B2C
Pricing
Standard
10 BPS
0.1% of fiscalized volume
Platforms
CUSTOM
Contracted basis-point pricing
High-throughput merchants, facilitators and platforms. Fiscal402 charges a 10 bps standard infrastructure fee on fiscalized volume, with contracted pricing at platform scale. Commercial billing after beta, not deducted from the x402 transfer.
Talk to usFree during beta at 0 bps — not permanently free. Pricing policy does not imply settlement-integrated fee collection. Fiscal402 currently operates post-settlement. Native x402 exact splits are not supported. Not tax advice. Not a guarantee of tax-authority acceptance.
Production
If you operate a machine-commerce service anywhere in the world, Fiscal402 can normalize the settled event and determine tax only where verified rules exist — today, EU VAT including non-EU sellers into Europe.