Skip to main content
Test mode settles on Ethereum Sepolia and nothing else. This page is about paying a test intent the way a customer would: sending Sepolia ETH from a wallet to the deposit address on the intent. Sepolia ETH has no market value and is given away by faucets, so a full test costs nothing. What you need is a wallet pointed at Sepolia and a small balance in it. Any Ethereum wallet works, and so does a script with no wallet software at all. You can skip all of it for routine testing. Simulating a payment credits an intent with no chain, no faucet and no waiting for confirmations, and it reaches the underpaid, overpaid and failed outcomes that are awkward to produce on a real network. Use it for day-to-day development and automated tests. SouthPay can also pay an intent from its own funded wallet, which is a real Sepolia transaction without a faucet claim. See pay from the test wallet. That wallet is rate limited and has a daily allowance per store, so set up your own when you need volume or want to control exactly what gets sent. Reach for this page when the chain integration itself is what you are testing.

Network details

Every wallet asks for some subset of these. They are the whole contract. Sepolia addresses are ordinary 0x addresses. The same address exists on every EVM chain and holds a different balance on each, so the network your wallet is set to is what decides where a transaction lands.

Add Sepolia to your wallet

Most mainstream Ethereum wallets already know about Sepolia and hide it behind a setting, because testnets are noise for ordinary users. Look for a toggle named something close to Show test networks, Enable testnets or Testnet mode, usually in the network list itself or under advanced or developer settings. MetaMask, Rabby and Coinbase Wallet all work this way, though the wording and the menu differ and both move between releases. Turn that setting on, then pick Sepolia from the network list. If your wallet has it, use the bundled entry rather than adding the network by hand.

Check which Sepolia you picked

Nearly every rollup runs a testnet called “Sepolia”, so a wallet’s network list may offer twenty entries matching that name. They are separate chains. SouthPay watches Ethereum Sepolia only, and the chain ID is the only reliable way to tell them apart. OP Sepolia is the dangerous one. It differs from Ethereum Sepolia in the fourth digit, and some wallets show the two adjacent in the list.
Confirm the chain before you send, every time. A test deposit address is watched on Ethereum Sepolia and nowhere else. Funds sent to it on mainnet, on OP Sepolia, or on any other chain are not credited to the intent, never appear in test mode, and cannot be recovered through the API or the dashboard.

Adding it manually

Wallets that do not bundle Sepolia take a custom network built from the table above: network name, RPC URL, chain ID, currency symbol and explorer URL. The chain ID is the field that matters; a wallet that reports a different one from the RPC than the one you typed is pointed at the wrong chain. SouthPay does not run a public RPC endpoint, so the URL above belongs to a third party. Public endpoints appear and disappear without notice, and several long-standing ones now return errors or require a paid plan. If it stops responding, pick another from chainlist.org and confirm it reports 0xaa36a7 before you trust it:

Get test ETH from a faucet

A faucet sends you Sepolia ETH for free. Paste your address, satisfy whatever check the faucet asks for, and the balance arrives in under a minute. Faucets change their drip amounts, cooldowns and eligibility rules often, and they run dry. Treat the faucet’s own page as authoritative on what it currently gives, and keep a second one in reserve. Claiming from more than one is fine. Check the faucet is funding Ethereum Sepolia and not a rollup testnet of the same name. You need a little more than the payment amount, because the sender pays gas on top, but Sepolia gas is a rounding error next to any faucet drip.

How much a test intent costs

Test mode does not use live market rates. Sepolia has no market, so SETH is priced from a fixed table and the rate is identical on every intent you create. At the fixed USD rate of 2217 per ETH: Each payment currency has its own fixed test rate, returned as exchange_rate_snapshot on the payment address. Because the rate never moves, the same fiat amount always produces the same crypto amount, which makes test fixtures reproducible. Price test intents low. A handful of one-dollar intents goes much further than a single fifty-dollar one, and the lifecycle you are testing is identical either way.

Pay a test intent

1

Create the intent

Use a sp_sk_test_ key. See the quickstart for the request.
2

Read the address and amount

Take payment_addresses[0].address and payment_addresses[0].crypto_amount_atomic from the response. Divide the atomic amount by 10 ** 18 for the ETH figure a wallet UI expects.
3

Send it

Confirm the network reads Ethereum Sepolia, then send that exact amount to that address.
4

Watch it settle

The intent moves pending → processing → completed as the transaction confirms, and your webhook endpoint receives each transition. Look the transaction up at https://sepolia.etherscan.io/tx/{hash}.
Send less than the required amount to exercise your underpayment path, or leave the intent alone to exercise expiry. Intents expire 60 minutes after creation by default; create one with expires_in: 300 if you do not want to wait an hour to watch it expire.

Paying from a script

You do not need wallet software. Any library or CLI that signs an Ethereum transaction will do, which is usually the better option in an automated test. SETH has 18 decimals, so crypto_amount_atomic is already denominated in wei. Pass it straight through and skip the conversion entirely. The value below is the wei figure for a 49.99 USD test intent:
Use a throwaway key that has only ever held testnet funds. A key that also controls real assets on mainnet should never be pasted into a shell, a script or a CI secret for this.

When the payment does not arrive

  • Wrong chain. The most common cause by a wide margin. Check the transaction on Sepolia Etherscan; if it is not there, it confirmed on some other network.
  • Amount below what the intent asked for. The intent stays open and reports the shortfall rather than completing. See Payment lifecycle.
  • Intent already expired. Once past expires_at the intent is terminal, and a later transfer does not reopen it.
  • Transaction still pending. Confirm it on the explorer before assuming SouthPay missed it. If the explorer has no record, the transaction never left your wallet.
Last modified on September 16, 2026