Getting testnet keys

bash
stellar keys generate --network testnet <name>
stellar keys address <name>
stellar keys show <name>

Fund an account through friendbot:

bash
curl "https://friendbot.stellar.org/?addr=<G...>"

COMMITMENT_SECRET_HEX is a raw ed25519 seed in hex, not a Stellar S... string — it signs channel commitments directly rather than transactions.

For Base Sepolia, EVM_PRIVATE_KEY is a raw private key, 0x followed by 64 hex characters, from any EVM wallet or viem's generatePrivateKey(). The payer needs Base Sepolia USDC, from https://faucet.circle.com, and no ETH: the facilitator pays the gas (the exact scheme's EIP-3009 method). A target that uses Permit2 instead needs no ETH either when it offers the eip2612GasSponsoring extension; without it, the payer must approve Permit2 once on-chain, which needs gas, and a run without that approval reports ERROR (setup). A wrong or malformed key is reported at PREFLIGHT before anything is sent, without echoing it.

For Solana devnet, SVM_PRIVATE_KEY is the base58 encoding of the keypair's 64 bytes (seed, then public key), the form wallets export. The payer needs devnet USDC of the SDK's default mint, 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU, and no SOL: the facilitator signs as fee payer and pays the fee. The payee's USDC token account must exist before the first payment, since the payment's transaction does not create it. A keypair whose public half does not belong to its seed, or any malformed key, is reported at PREFLIGHT without echoing it.