If you pay per-render from an x402 wallet and also hold credits, your history used to live in two places. The new linked wallets page closes that gap: paste an address, sign a challenge message with your wallet, and the wallet is claimed to your account. Linking only proves you control the address — it never authorises a payment.
Usage history now merges both ledgers newest-first, with a Credit / USDC badge on every row and a USDC-spent total across the rows shown. Unlinking keeps history (re-link anytime to restore the same view), and a wallet can only ever be linked to one account.
Programmatic callers get four endpoints under /api/v1/wallet/link: POST /challenge to mint a 10-minute single-use challenge, POST /verify with { address, signature } to claim, GET to list, and DELETE /:addr to unlink. GET /api/v1/usage returns the merged ledger with the same source badge per item. All five need the same session or API key as every other /api/v1/* endpoint.