
How to Accept Crypto Payments on Arbitrum One: Merchant Guide
Accepting crypto payments on Arbitrum One is not as simple as displaying an Ethereum-style address. A production payment flow must tell the customer which network and token to use, recognize the right contract, track the transfer through an appropriate confirmation state, and connect it to one order without delivering twice.
Arbitrum One uses familiar EVM wallets and 0x addresses, but that familiarity can hide mistakes. A customer may choose Ethereum, Base, Arbitrum Nova, or another compatible network and still see an address that looks valid. The resulting transfer can be real while failing to pay the Arbitrum One order.
This guide explains the merchant controls that make Arbitrum One payments usable in production: wallet setup, native and bridged USDC, ETH gas, checkout labels, confirmation policy, webhook idempotency, refunds, and finance records. Yolfi's public Arbitrum payment page describes payment links, recurring payments, events and webhooks, and non-custodial settlement directly to a merchant wallet. Treat those as product capabilities to evaluate, then confirm the exact asset-and-network options in your authenticated live setup before offering them to customers.
Start with the exact Arbitrum network
“Arbitrum” can refer to an ecosystem, not one unique payment destination. For this guide, the intended production network is Arbitrum One mainnet.
The official Arbitrum bridge quickstart lists the core wallet parameters:
| Setting | Arbitrum One value |
|---|---|
| Network | Arbitrum One |
| Chain ID | 42161 |
| Gas currency | ETH |
| Public RPC in the official quickstart | https://arb1.arbitrum.io/rpc |
| Explorer | Arbiscan |
A complete payment request should preserve more than a destination address. Store:
- Arbitrum One as the requested network;
- chain ID
42161for integration validation; - the native asset or exact token contract;
- the merchant settlement address;
- the exact amount and any quote expiry;
- an order, invoice, or payment-request identifier;
- the detected transaction hash and status;
- the fulfilment result and any later refund.
Do not shorten customer-facing instructions to “send on Arbitrum” if your system specifically expects Arbitrum One. Arbitrum Nova and Arbitrum test networks have different chain IDs. An EVM address alone cannot communicate that distinction.
Decide whether Arbitrum One fits your customers
Arbitrum One is a sensible candidate when customers already keep funds there, use wallets that can select it clearly, or can withdraw directly to it through their usual provider. It may fit software subscriptions, online services, digital goods, invoices, communities, and account-credit products serving crypto-active customers.
The relevant question is not whether the network can process token transfers. It is whether the entire customer and merchant route is workable:
- Do customers already hold the intended asset on Arbitrum One?
- Can they choose Arbitrum One when withdrawing from an exchange?
- Will the wallet show the network and token contract clearly?
- Can support investigate a wrong-network or wrong-token transfer?
- Can finance value and reconcile the asset?
- Can the business securely make refunds and treasury transfers?
Avoid fixed claims about transaction cost or speed. The wallet's live estimate, network conditions, the transaction itself, and the merchant's risk policy all affect the actual experience. A customer who must first withdraw or bridge funds also has costs and steps outside the final payment transaction. If you are comparing routes, use a broader framework for selecting the best blockchain for stablecoin payments.
Choose the asset before building checkout
Network support and asset support are separate. A wallet capable of using Arbitrum One does not prove that every token on the network is accepted by your payment system.
Native USDC on Arbitrum One
USDC can be a practical starting asset for products priced in US dollars because the requested token amount is easier to understand than a continuously changing ETH quote. It still carries issuer, contract, depegging, regulatory, wallet, and network risks.
Circle's official USDC contract directory lists native USDC on Arbitrum at:
0xaf88d065e77c8cC2239327C5EDb3A432268e5831
The address is the identifier that matters. A name, ticker, logo, or approximate market value is not enough because wallets can display different assets with similar labels.
Before publishing “USDC on Arbitrum One,” compare this issuer-published address with the contract recognized by the payment flow in your authenticated setup. Recheck it during integration review rather than copying an address from a search result, wallet suggestion, or customer message.
Native USDC and bridged USDC are not interchangeable
Arbitrum One has both native USDC and a bridged form commonly shown as USDC.e. They use different contracts. A customer can hold a dollar-denominated token called USDC.e and still not hold the asset requested by a native-USDC checkout.
For merchant operations, use this rule: a different contract is a different payment asset. Do not automatically credit an order because the ticker or displayed value looks close.
A safe USDC launch checklist is:
- Confirm that the authenticated live setup offers the intended USDC route on Arbitrum One.
- Record the supported token contract with the payment configuration.
- Compare native USDC against Circle's current contract directory.
- Make the customer-facing label explicit, such as “Native USDC on Arbitrum One.”
- Run a low-value transfer from the wallets customers are likely to use.
- Verify that a USDC.e or another mismatched contract is rejected or routed to review.
- Give support a written procedure for contract mismatches.
If a customer needs to move funds onto the network, point them to the official Arbitrum quickstart rather than inventing bridging instructions. The bridge documentation itself warns that Arbitrum One supports distinct native and bridged forms of USDC. Bridging is a separate user action with its own risks; do not make it a hidden condition of checkout.
ETH and other tokens
ETH serves as Arbitrum One's gas currency and may also be used as the purchase asset if that exact option appears in the merchant's authenticated setup. For products priced in a reference currency, define how an ETH quote is calculated, when it expires, and what happens to late, short, or excessive payments.
Offer another token only when the exact token on Arbitrum One is available in the live setup and the business can verify its contract, price it, hold or convert it, reconcile it, and refund it. Technical transferability to a wallet is not the same as supported checkout availability.
Explain Arbitrum gas without promising a fee
For an ordinary Arbitrum One transaction, the sender pays gas in ETH on Arbitrum One. A customer may have enough USDC for the invoice but no ETH with which to submit the token transfer.
Keep three amounts separate:
- the purchase amount the merchant expects;
- the network fee estimated by the wallet in ETH;
- any provider or business fee separately disclosed by the merchant.
If the invoice requests 60 USDC, the customer should send 60 USDC and hold additional ETH on Arbitrum One for gas. They should not subtract an ETH-denominated fee from the USDC amount.
Arbitrum's official gas estimation guide recommends the standard eth_estimateGas flow for estimating a transaction and notes that the estimate can vary as parent-chain calldata pricing changes. For checkout, let a connected wallet calculate a current estimate. Do not publish a permanent fee or promise that every transfer will cost the same.
Customer help text should say “ETH on Arbitrum One is required for gas.” ETH that exists only on Ethereum mainnet or another network cannot pay an Arbitrum One transaction fee. If your live flow uses a different gas mechanism, sponsorship, or abstraction, document the behavior actually shown in that authenticated setup rather than assuming the ordinary transfer model.
Build the merchant payment flow
1. Confirm live availability
Sign in to the merchant setup and inspect both the configuration screen and the customer payment page. Record the exact Arbitrum One assets offered to your account. If the intended token and network do not appear, do not advertise them.
The public Yolfi page is useful evidence of product direction and capabilities, not a guarantee that every token is available for every account, jurisdiction, or flow. Recheck authenticated availability before launch and after material product or account changes.
2. Configure a controlled settlement wallet
Use an Arbitrum One-compatible wallet controlled under business policy. Verify the destination independently before accepting payments. Define:
- who may change the settlement address;
- how keys or signing devices are secured and backed up;
- whether address changes and refunds need a second approver;
- how every configuration change is logged and tested;
- how enough Arbitrum One ETH is maintained for approved outbound transactions;
- how finance distinguishes the same-looking address and token across networks.
Yolfi describes direct, non-custodial settlement to the merchant wallet on its public Arbitrum page. Confirm that behavior for the exact live route. Direct settlement removes a withdrawal from a provider balance, but the merchant remains responsible for wallet security, treasury access, refunds, and accounting.
3. Choose payment links, checkout, or recurring access
A crypto payment link is a practical starting point for an invoice, consulting project, custom order, or manually delivered product. It adds a requested amount and payment context without requiring a full integration.
Use an integrated checkout when a confirmed payment should automatically create an account, issue credits, deliver a file, activate a licence, or update an order. Preserve the network, contract, amount, quote details, payment-request ID, transaction hash, status history, and fulfilment state.
The public Arbitrum product page also describes recurring payments and payment events. Review crypto subscriptions if the business needs renewals, then verify the precise Arbitrum One asset available in the authenticated live setup. Do not assume that “recurring” means an automatic wallet debit. Define the actual renewal notice, payment window, grace period, cancellation behavior, access rule, and handling of duplicate events.
4. Remove ambiguity from the payment page
Repeat the network beside the token, amount, QR code, and wallet button. Useful instructions include:
- “Send 60 native USDC on Arbitrum One.”
- “Use Arbitrum One mainnet only (chain ID 42161).”
- “You need ETH on Arbitrum One for the network fee.”
- “Do not send USDC.e or USDC from another network.”
If several networks are available, require an explicit choice before opening the wallet. Never display only “USDC” and silently choose Arbitrum One. The wider guide to preventing wrong-network crypto payments explains prevention, evidence collection, and incident response.
5. Test a real low-value payment
Use the same payment page and wallet handoff a customer will use. Confirm that:
- the page names Arbitrum One and the exact asset;
- the wallet selects chain ID
42161; - the destination and amount match the payment request;
- native USDC uses the expected Circle contract;
- ETH gas is presented separately;
- submission creates a pending state rather than instant fulfilment;
- the appropriate confirmed state reaches the order system;
- a repeated event does not repeat fulfilment;
- finance can match the request, transaction, wallet receipt, and order;
- the controlled refund procedure can be completed.
Repeat the test after changing the settlement wallet, asset, checkout code, event endpoint, confirmation rule, or fulfilment logic.
Treat confirmations and finality as a policy, not a slogan
A transaction hash proves only that there is something to inspect. The transaction may be pending, failed, submitted on another network, use the wrong contract, send the wrong amount, or already be assigned to another order.
Before accepting a payment, verify:
- the transaction is on Arbitrum One;
- the asset and contract match the request;
- the destination is the configured merchant wallet;
- the received amount satisfies the order policy;
- the payment has reached the required state;
- the transaction has not been used for another order;
- the order has not already been fulfilled.
Submission, inclusion, confirmation, and the merchant's decision to deliver are different states. Use the confirmed status exposed by the payment flow and any additional policy appropriate to order value, fulfilment reversibility, fraud risk, and current infrastructure. Do not promise a fixed number of seconds, one universal confirmation count, or immediate irreversible finality.
For higher-risk orders, document who can hold a payment for review and what evidence releases it. For low-risk digital goods, automation may be appropriate, but only after all acceptance fields match.
Make webhooks safe to retry
Payment events and webhooks are useful because checkout can update the order without asking the customer to refresh a browser. Confirm that events are available for the exact live Arbitrum One flow, then follow the integration's documented authenticity method.
Store at least:
- the event ID and payment-request ID;
- transaction hash, network, asset, and contract;
- reported status and event creation time;
- processing attempts and result;
- the one fulfilment record tied to the order.
Webhook delivery can be delayed or repeated. Build an idempotent handler: the same confirmed event processed several times must still create one licence, one balance credit, one shipment, or one subscription extension. A uniqueness constraint on a stable payment or event identifier, combined with a durable order-state update, is stronger than an in-memory “already seen” flag.
Do not use the browser return page as payment proof, and do not rely on webhooks as the only accounting record. Run a reconciliation process that compares payment requests, confirmed payment records, Arbitrum One transactions, settlement-wallet activity, and fulfilled orders. This catches missed notifications and internal failures without assigning arbitrary wallet transfers to orders.
Define exception and wrong-network handling
Write the policy before support receives its first disputed payment:
- Underpayment: keep the order unpaid or in review under a documented tolerance rule.
- Overpayment: record the full receipt and review the excess separately.
- Late payment: decide whether to honor the old quote, request a difference, or refund.
- Duplicate payment: fulfil once and investigate the extra transfer separately.
- Wrong contract: do not auto-credit USDC.e or another lookalike as native USDC.
- Wrong network: verify the chain actually used and never promise that recovery is possible.
- Unknown transfer: do not attach it to the nearest similar order without evidence.
For a wrong-network report, collect the order reference, transaction hash, chain used, token contract, destination, amount, and wallet address. Verify those details independently. A screenshot can support a report, but it does not replace transaction data.
Because the same private key may control a matching address on several EVM networks, recovery may sometimes be technically possible. That does not make it safe or operationally approved. Contract-controlled addresses, custody arrangements, unsupported signing environments, compliance rules, and security policy can all prevent recovery. Escalate through a controlled process rather than asking staff to import keys or improvise a bridge.
Plan refunds and reconciliation before launch
An Arbitrum One refund is a new outbound transaction, not a reversal of the original receipt. Before sending it:
- verify the original order and confirmed payment;
- confirm the approved refund asset and amount;
- authenticate the customer and destination through a controlled channel;
- state who bears the network fee;
- obtain the required internal approval;
- verify that the signing wallet has the token and Arbitrum One ETH;
- record the outbound transaction separately.
Do not copy a replacement address from an unexpected email or chat message. The original payer, account owner, and requested refund destination may differ, and an attacker can try to substitute an address.
For finance, retain:
- order, invoice, customer, and payment-request references;
- Arbitrum One, the asset, and token contract;
- requested and received crypto amounts;
- reference-currency value, rate source, and valuation timestamp;
- settlement address and transaction hash;
- request, detection, confirmation, and fulfilment times;
- business-recorded fees;
- exceptions, status changes, refunds, and correction transactions.
Reconcile on a schedule suited to transaction volume and delivery risk. Keep unmatched transfers, wrong tokens, duplicates, and unresolved wrong-network reports in an exception queue with an owner and resolution status. Tax, valuation, and revenue-recognition rules vary by jurisdiction, so obtain advice appropriate to the business.
FAQ
How do I accept crypto payments on Arbitrum One?
Confirm the exact Arbitrum One asset in your authenticated merchant setup, configure a business-controlled settlement wallet, and create a payment link or integrated checkout. Label the token and network clearly, test with a low-value transfer, and fulfil only after the transaction matches the payment request and reaches the required confirmed state.
What is the Arbitrum One chain ID?
Arbitrum One mainnet uses chain ID 42161. The official Arbitrum quickstart lists ETH as its currency symbol. Use the chain ID to validate wallet and integration configuration, while still writing “Arbitrum One” clearly for customers.
Do customers need ETH to send USDC on Arbitrum One?
For an ordinary token transfer, yes. The sending wallet needs ETH on Arbitrum One for gas. That gas balance is separate from the requested USDC amount. Confirm the behavior of the actual live payment flow if it uses gas sponsorship or another mechanism.
What is the native USDC contract on Arbitrum?
Circle lists native USDC on Arbitrum at 0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Verify it against Circle's current directory and the contract recognized in the authenticated merchant setup before launch.
Is USDC.e the same as native USDC?
No. Native USDC and bridged USDC, commonly displayed as USDC.e, use different contracts on Arbitrum One. Accept only the contract configured for the payment route, and send a mismatched transfer to review instead of automatically marking the order paid.
Are Arbitrum One payments instant and final?
Do not promise that. A submitted transaction may remain pending or fail, and business acceptance requires more than seeing a hash. Use the payment flow's confirmed state plus a risk policy suited to the order rather than guaranteeing a fixed time or confirmation count.
Can I accept any token on Arbitrum One?
Do not assume so. Accept only the exact asset-and-network combination shown in the authenticated live setup and supported by your wallet, pricing, confirmation, accounting, support, and refund processes.
Can Arbitrum One payments be refunded?
A merchant can issue a refund by sending a separate outbound transaction under its refund policy. Verify the original payment, customer, destination, asset, amount, approval, gas, and fee treatment, then record the refund independently.
Conclusion
A production Arbitrum One payment method is a controlled route, not a reusable 0x address. Specify chain ID 42161, name Arbitrum One at every customer decision point, verify the exact token contract, and explain that ordinary token transfers need ETH on Arbitrum One for gas.
Native USDC is a clear starting candidate for many dollar-priced products, but only when its Circle-listed contract matches the asset in the authenticated live setup. Keep USDC.e and other contracts separate. Then test pending and confirmed states, webhook retries, idempotent fulfilment, reconciliation, exceptions, and an approved refund from end to end.
Start with the asset customers already use and the business can operate safely. Expand to more tokens, automated checkout, or recurring access only after the first route is reliable and the exact Arbitrum One option remains available in the live merchant configuration.


