Package reference

API reference

The reference implementation is split into small packages. Package names are local workspace packages today and intended public package names later.

Packages

PackagePurpose
@x429/coreTicket creation, encoding, signing, verification, capacity helpers, nonce store.
@x429/honoWorkers/Hono-style middleware and discovery handler.
@x429/clientx429-aware fetch wrapper and state machine.
@x429/payment-mockMock payer and verifier for priority demos.
@x429/payment-x402Placeholder for real x402 settlement integration.

Core exports

ExportPurpose
generateKeyPair()Create Ed25519 public/private keys.
createTicket()Create and sign a ticket.
verifyTicket()Verify signature, scope, binding, window, and optionally spend nonce.
encodeTicket()Convert ticket JSON into base64url for X429-Ticket.
decodeTicket()Parse an encoded ticket header.
createX429Response()Build a compatible 429 response body and headers.
createWellKnown()Build discovery JSON.
InMemoryNonceStoreLocal/test nonce store.

Ticket fields

FieldMeaningRequired
idUnique ticket id.yes
kidIssuer key id.yes
issuerOrigin that issued the ticket.yes
scopeResource this ticket can redeem against.yes
bindPseudonymous binding object.yes
notBeforeEarliest free redemption time.yes
notAfterLatest redemption time.yes
nonceSingle-use replay guard.yes
sigEd25519 signature.yes

Client options

OptionPurpose
deadlineMsMaximum useful wait.
maxSpendBudget cap for paid priority.
paymentPayer adapter.
clientKeyPublic key used for ticket binding.
publicKeyResolverOptional override for issuer key lookup.
onEventObservability callback.

Read next