Verify Ethereum & ERC20 Payments via API — Real-Time, Non-Custodial
Quick Answer: ShegerPay verifies Ethereum (ETH) and ERC20 token payments through native on-chain verification via one REST API call. The customer sends ETH or any ERC20 to the merchant's Ethereum address, the chain confirms, and ShegerPay's webhook fires with payment.verified. Default confirmation count is 12. ShegerPay never holds the funds — no merchant license required.
What is Ethereum?
Ethereum is the second-largest cryptocurrency by market cap and the largest smart-contract platform. Its native asset is ETH, but the network also hosts thousands of ERC20 tokens including USDT, USDC, DAI, and most major stablecoins. Ethereum is widely used by Ethiopian crypto users and merchants for stablecoin payments and DeFi interactions.
How Ethereum verification works with ShegerPay
- Customer sends ETH or an ERC20 token from their wallet/exchange to the merchant's Ethereum address
- Ethereum broadcasts and confirms the transfer (~12s/block)
- Merchant backend POSTs to
/api/v1/verifywithprovider=ethereum, tx hash, and optionaltoken(for ERC20) - ShegerPay reads the chain via its full-node infrastructure, returns
verified=trueonce confirmations are met, then fires the webhook
Code example
curl -X POST https://api.shegerpay.com/api/v1/verify \
-H "X-API-Key: sk_test_demo" \
-H "Content-Type: application/json" \
-d '{"provider":"ethereum","transaction_id":"0xabc123...","amount":0.1,"token":"ETH"}'
import ShegerPay from '@shegerpay/sdk';
const sp = new ShegerPay('sk_test_demo');
const result = await sp.verify({
provider: 'ethereum',
transactionId: '0xabc123...',
amount: 100,
token: 'USDC' // ERC20 token symbol or contract address
});
from shegerpay import ShegerPay
sp = ShegerPay('sk_test_demo')
result = sp.verify(provider='ethereum', transaction_id='0xabc123...', amount=100, token='USDC')
$sp = new ShegerPay\Client('sk_test_demo');
$result = $sp->verify([
'provider' => 'ethereum',
'transaction_id' => '0xabc123...',
'amount' => 100,
'token' => 'USDC'
]);
Ethereum-specific features
- ETH + any ERC20 — pass
tokenas a symbol (USDC,DAI,USDT) or contract address (0xa0b8...) - Native on-chain verification — ShegerPay runs Ethereum full-node infrastructure; no Etherscan dependency
- 12 confirmations default — configurable per integration; ~2.4 minutes at 12s block time
- Gas-aware — surfaces the gas paid and net amount delivered, so you can reconcile ERC20 vs ETH gas separately
- EIP-1559 ready — handles type-2 transactions and base/priority fee breakdowns
- Address validation — checksummed and lowercase addresses both accepted
Why ShegerPay for Ethereum
- Non-custodial — funds settle directly to your Ethereum address
- No merchant license required
- Configurable confirmation threshold (default 12, ~2.4 min)
- Crypto verifications included on Business plan
- HMAC-SHA256 webhook signatures
- 12 official SDKs
Pricing for Ethereum verification
- Free: 100 verifications/month (fiat)
- Startup ($9/mo): 2,000 verifications
- Business ($29/mo): 10,000 verifications + crypto (ETH, BTC, USDT, Binance, Bybit)
- Enterprise: custom
Comparison
| Feature | ShegerPay | Chapa | Arifpay | Manual |
|---|---|---|---|---|
| ETH supported | Yes | No | No | Yes |
| Any ERC20 | Yes | No | No | Yes |
| Gas breakdown | Yes | — | — | — |
| Non-custodial | Yes | No | No | — |
| Verification time | ~2.4m | — | — | Minutes |
FAQ
How fast is Ethereum verification with ShegerPay?
~12 seconds per block; default 12 confirmations is ~2.4 minutes. First-seen pending state is reported within seconds of broadcast.
Can I verify any ERC20 token?
Yes — pass the token symbol (USDC, DAI, USDT) or the ERC20 contract address as token. ShegerPay decodes the Transfer event and validates amount/recipient.
Does ShegerPay handle gas refunds or sponsorship? ShegerPay does not sponsor gas. It does surface the gas paid by the sender so you can reconcile net amount delivered vs gas cost.
How many confirmations does ShegerPay wait for? Default 12. Configurable down to 1 for low-value payments.
Does ShegerPay hold ETH or ERC20 tokens? No — funds settle directly to your Ethereum address. ShegerPay is non-custodial.
Is there a sandbox/demo for Ethereum?
Yes — use sk_test_demo with a Sepolia or Holesky testnet tx hash, no signup required.
What happens if Ethereum verification fails?
API returns verified=false with reason: not_found, pending, insufficient_confirmations, wrong_recipient, wrong_token, amount_mismatch, or reverted.
Related: Pricing · Docs · Verify USDT · Verify Bitcoin · Verify Binance
Contact: [email protected] · +251 998 169 242