x402 on Stellar: 1,880 endpoints, 398 payments, $3.93.
AI agents can pay x402 APIs in USDC on Stellar. Our Trust Index lists 1,880 endpoints that take it, 1,828 of them payable today, from about 30 sellers. We sell on Stellar ourselves, so we read the ledger to see how many of those endpoints get paid, by whom, and what else shows up on the accounts involved.
What an x402 payment on Stellar looks like
On Base an x402 buyer signs a USDC authorization; on Stellar it signs a Soroban authorization for one contract call: transfer on Circle's USDC contract (CCW67…MI75), from its account to the seller, for the price. The buyer never sends a transaction. The facilitator puts the call in a transaction from its own account, pays the network fee and submits it; OpenZeppelin's facilitator sends it from one of many channel accounts and pays the fee with a fee bump. So on the ledger an x402 payment is a USDC transfer whose sender is not the payer. A transfer the payer sends itself is an ordinary payment.
That gives two ways in: the payout accounts of the sellers, and the accounts that pay the facilitators' fees. We read both.
Two facilitators, $3.93
| Facilitator | Since | Payments | USDC | Wallets | Sellers |
|---|---|---|---|---|---|
| agent402.tools' facilitator | 13 Aug | 320 | $2.00 | 8 | 1 |
| OpenZeppelin channels | 11 Sep | 78 | $1.93 | 19 | 13 |
| Together | 398 | $3.93 | 24 | 14 |
Some wallets paid through both facilitators, so the wallet columns don't add up. By month: 41 payments in the second half of August ($0.04), 127 in September ($1.22) and 230 in October up to the 26th ($2.67). In the week of 19 to 25 October there were 146 payments for $1.93, from 9 wallets to 8 payout accounts.
The payments are small. The most common amount is $0.001 (217 of the 398), the median is $0.001 and the largest is $0.10. Settling cost the facilitators about 0.0023 XLM per payment, 0.82 XLM for all 398: Stellar is cheap enough for tenth-of-a-cent payments, as long as someone pays them.
Most endpoints were never paid
agent402.tools lists 578 Stellar endpoints and took 320 payments ($2.00) from 8 wallets: every payment through its own facilitator, and half of all the money. Nine API hosts on workers.dev with about 1,200 endpoints between them pay out to one Stellar account; it was created on 24 October and has had 19 x402 payments since, $0.04. Our own services had 12 payments ($0.15) from 3 wallets. Ten of the 14 accounts that were paid don't belong to any endpoint in the index, so some of the money went to sellers no catalog lists.
Put the other way round: of more than 1,800 listed endpoints, a few dozen had a payment we could find, and the sellers with the most endpoints were not the ones with the most money.
Three wallets made 81% of the payments
24 wallets paid in these ten weeks. Three of them made 321 of the 398 payments: one made 128 payments to agent402.tools, one made 120 to three sellers in the eight days after it was created on 18 October, and one made 73 to two sellers. Only three wallets paid more than one seller, two of them among these three. Twelve payments went from a wallet to itself (one account paid itself ten times through OpenZeppelin's facilitator): tests, not purchases. On Base and the XRP Ledger we saw the same pattern: a payment count on a young network mostly measures a few wallets testing it.
Every new account gets a look-alike payment
Reading the payers' and sellers' histories turned up something else. Right after an account is created, a payment of 0.0001 XLM arrives from an address that starts and ends with the same four characters as the account it just dealt with: GBQXOY…IS4C right after a payment from GBQXHY…IS4C. Whoever copies an address from the history by its first and last characters may pay the look-alike next time. This is address poisoning, as on Ethereum and Tron.
| Account (role) | First transaction | Look-alike payment | Delay |
|---|---|---|---|
| A payer, 120 payments | 18 Oct 12:39:47 | 12:39:57 | 10 s |
| A payer, 18 payments | 23 Oct 15:44:38 | 15:44:48 | 10 s |
| Our payout account | 17 Oct 14:38:42 | 14:38:57 | 15 s |
| Our payout account (another account created) | 17 Oct 15:28:12 | 15:28:22 | 10 s |
The workers.dev sellers' account | 24 Oct 04:29:23 | 04:29:33 | 10 s |
Four of the eight x402 accounts we checked got such a payment, two or three ledgers after the transaction it copies; the other four didn't. None of them has sent anything to a look-alike. One of the poisoning addresses has sent at least 67 such payments. For an agent the defence is simple: never take a payout address from a transaction history. Take it from the 402 challenge, or from a list you keep, and compare the whole address.
What this means
- For sellers: listing on Stellar costs little and works (our own Stellar payments arrived without trouble), but don't expect volume yet: $3.93 in ten weeks across the whole network we could see. A payout account gets poisoned from its first transaction; check addresses in full before you move money out.
- For agents and the people who set them up: a Stellar x402 payment is an authorization for one transfer, not a transaction you send. Check what you authorize: the contract should be Circle's USDC, the function
transfer, the recipient the challenge's payTo. presign-guard now checks Stellar transactions and authorizations before signing (merges, signers, fake USDC, approvals hidden in a call). - For anyone reading x402 numbers: on Stellar, as on the other networks, a few wallets make most of the payments. Count wallets next to payments, and leave out wallets paying themselves.
x402 Doctor will count these payments itself from the next Trust Index scan: every hour, the USDC payments a facilitator sent to the payout account of every Stellar endpoint in the index, with how many wallets paid and how many of those pay ten or more sellers. The list of who gets paid is on x402-doctor.fizzl.eu/stellar, and the counts go to payments-stellar.json on the payments-data branch.
How we measure
The sellers' payout accounts come from one 402 challenge per Stellar host in the Trust Index (read without paying). Each payout account's operations were read from Horizon, the Stellar network's public API. Both facilitators were found that way: the x402 payments to these accounts had their fee paid by one of two accounts, OpenZeppelin's (GA5SXM…IF3M, which also settles our own payments) and one that only ever paid for payments to agent402.tools (GD6ZLG…ZZSD). We then read every transaction those two fee accounts paid for, up to 26 October 2026, 13:03 UTC, and decoded each envelope: a payment counts when it calls transfer on Circle's USDC contract, succeeded, and was sent by another account than the payer. USDC a seller pulled in with its own transaction (from a swap or another contract) is not a payment to it and is left out. Look-alike payments: an incoming payment from an address with the same first four and last four characters as an account the receiver had dealt with before.
What it can't see: facilitators whose fee accounts never paid for a payment to these sellers, who is behind a wallet, and whether a payment bought anything.
Questions
How many x402 payments are there on Stellar?
We found 398 x402 payments on Stellar from 13 August to 26 October 2026, worth $3.93 in USDC, from 24 different wallets to 14 payout accounts. They went through two facilitators: OpenZeppelin's channels (78 payments, $1.93) and a facilitator that settles only for agent402.tools (320 payments, $2.00). In the week of 19 to 25 October there were 146 payments, $1.93.
How does an x402 payment on Stellar work?
The buyer doesn't send a transaction. It signs a Soroban authorization for one call: transfer on Circle's USDC contract, from its account to the seller, for the price. The facilitator puts that call in a transaction from its own account, pays the network fee (often with a fee bump) and submits it. On the ledger an x402 payment is therefore a USDC transfer whose sender is not the payer.
Who pays for x402 on Stellar?
Very few wallets. Three wallets made 321 of the 398 payments (81%). Only three of the 24 wallets paid more than one seller. Twelve payments went from a wallet to itself, which is a test, not a purchase.
What is address poisoning on Stellar?
Right after an account is created, someone sends it 0.0001 XLM from an address that starts and ends with the same four characters as the account it just dealt with. The hope is that its owner later copies the look-alike from the history and pays it. Of eight x402 accounts we checked, four got such a payment, each 10 to 15 seconds after their first transaction. None of them has paid a look-alike.
Does x402 Doctor count Stellar payments?
From the next Trust Index scan, yes: every hour it reads the USDC payments to the payout accounts of every Stellar endpoint in the index, counts the ones a facilitator sent for the payer, and publishes them in payments-stellar.json on the payments-data branch of github.com/Fizzl13/x402-doctor. x402-doctor.fizzl.eu/stellar shows who gets paid.