Accept PYUSD (ERC-20)
on Ethereum with an API.

Take PYUSD payments from customers and pay out in PYUSD on Ethereum: a deposit address for every customer, deposits credited once they're final, and payouts your own team approves. The keys stay in hardware enclaves you can verify.

PYUSD on Ethereum

The details.

NetworkEthereum · ERC-20 token
Contract0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 View on explorer
Only this contract is accepted as PYUSD on Ethereum: look-alike tokens sent to your customers' addresses are ignored.
Decimals6 (amounts in the API are whole numbers of the smallest unit)
DepositsA deposit counts once it is 12 blocks deep and its block is still part of the chain. If a reorganization removes it, it's never credited.
Minimum withdrawal10 PYUSD
Network feesNetwork fees are paid in ETH. Your gas wallet can top up the ETH that token payouts and sweeps need, within a daily cap you set.
AddressesEvery wallet has one EVM address (0x…), the same on Ethereum, BNB Chain, Base, Polygon and Lisk. A customer can send any supported coin on any of those networks to it.
Asset id in the APIPYUSD-ERC20

For developers

Deposit addresses and payouts in a few lines.

import { Valtu, depositAddress } from "@valtu/wallet-kit";
const valtu = Valtu.fromEnv();

// A deposit address for one of your customers (idempotent).
const wallet = await valtu.wallets.forCustomer("cus_42");
const address = depositAddress(wallet, "ethereum");

// A payout of 25.50 PYUSD: retries never send twice.
const amount = await valtu.assets.toBaseUnits("PYUSD-ERC20", "25.50");
await valtu.transfers.create({ walletId: payoutWalletId, asset: "PYUSD-ERC20", amount, to, externalId: "payout_981" });

Python: pip install valtu, same calls (valtu.wallets.for_customer, valtu.transfers.create). Full guide: integration.

Related

More on Valtu.

Start with a test workspace today.

Same dashboard, same API, free test coins. Go live when your team is ready.