@payagent/wdk-protocol
v0.1.1
Published
WDK protocol module for PayAgent. Stateless. Takes a WalletAccount. Never holds keys.
Maintainers
Readme
@payagent/wdk-protocol
PayAgent protocol for Tether WDK. Not a wallet. You pass a WDK WalletAccount. This package never sees a seed.
v1: preflight + pay for a payment link, profile, or address. USDT/USDC (and catalog natives) on Ethereum, Base, Solana.
See docs/wdk-status.md for what is built and tested, and docs/wdk-protocol-implementation.md for the fail-closed rules.
import { PayAgentProtocol } from "@payagent/wdk-protocol";
const protocol = new PayAgentProtocol(account, {
baseUrl: "https://www.payagent.co",
apiKey: process.env.PAYAGENT_API_KEY!,
agentId: "your-agent-id",
networkId: "ethereum",
});
const result = await protocol.pay({
type: "link",
linkUsername: "alice",
linkId: "link_public_id",
});If pay throws RecordFailedError, the transfer already landed. Call protocol.record(...) with the same txHash and idempotencyKey. Do not transfer again.
Staging script (real WDK, not the Next app)
This is how WDK is wired to PayAgent today: a sidecar script, not checkout.
cp packages/wdk-protocol/env.example packages/wdk-protocol/.env
# fill seed, staging API key, agent id, USDT link
pnpm wdk-protocol:staging address
pnpm wdk-protocol:staging attach
pnpm wdk-protocol:staging preflight
WDK_STAGING_SEND=1 pnpm wdk-protocol:staging pay --sendpay will not broadcast unless both --send and WDK_STAGING_SEND=1 are set. Use a no-approval USDT policy on staging. Do not use a production treasury seed.
