Skip to main content
WDK (Wallet Development Kit) by Tether is an open-source toolkit for building multi-chain, self-custodial wallets. It handles key derivation, signing, and chain interactions across EVM, Bitcoin, Solana, Spark, and more. This guide covers using WDK with x402 as a buyer (paying for resources) and as a seller (accepting payments).
See a full working demo at github.com/SemanticPay/x402-usdt0-demo

Buyer

WalletAccountEvm satisfies the ClientEvmSigner interface that x402 expects. No adapter needed.
Keys are derived locally from the seed phrase and never leave your environment. See the buyer quickstart for the full walkthrough.

Seller

Option 1: Hosted facilitator

Use Semantic’s facilitator to handle verification and settlement. Your server never interacts with the chain directly.
  • Automatic verification of buyer payment signatures
  • No gas fees, no native token required in your wallet
  • No transaction monitoring or retry logic
  • No facilitator infrastructure to deploy
Derive a receiving address from your seed phrase:
Then wire up Express with paymentMiddleware pointing to Semantic’s facilitator:
See the seller quickstart for the full walkthrough.

Option 2: Self-hosted facilitator

Run your own facilitator for full control over verification and settlement. The @semanticio/wdk-wallet-evm-x402-facilitator module wraps a WDK wallet as an x402 FacilitatorEvmSigner.

1. Create the facilitator signer

2. Initialize the facilitator

Register the signer with an x402Facilitator instance. Lifecycle hooks are optional but useful for logging:

3. Wire into Express

Same paymentMiddleware pattern as the hosted facilitator, but instead of an HTTPFacilitatorClient, pass the in-process facilitator directly to x402ResourceServer. Verification and settlement happen locally. For a complete working example, see server.js.
@semanticio/wdk-wallet-evm-x402-facilitator is currently in beta. Test thoroughly before using in production.

Summary

Next steps

Last modified on February 19, 2026