If you’re new to building on
@Arc, don’t make these 5 mistakes I made:
1. Using the wrong Arc Testnet config
This sounds basic, but it can break everything.
Make sure you’re using the right network details:
Chain ID: 5042002
RPC:
rpc.testnet.arc.network
Explorer:
testnet.arcscan.app
Gas token: USDC
A wrong chain ID or stale RPC config can make your wallet flow look broken when the issue is just network config.
2. Forgetting that Arc uses USDC as gas
On most EVM chains, you think in ETH for gas and USDC for payments.
Arc is different.
USDC is the gas token.
So your wallet UX, balance checks, funding messages, and error states should not be written like the user needs ETH for gas.
3. Mixing native USDC gas with ERC-20 USDC logic
This one is easy to miss.
Arc uses USDC as gas, but if your app also funds a contract with USDC, you still need to understand what your contract expects.
For Dispatch, we had to be clear about:
- native USDC for gas display
- ERC-20 USDC/token approval for task funding
- token decimals
- allowance checks
- balance checks
Don’t assume “USDC is gas” means every payment flow skips token approval.
4. Not checking whether your deployed contract actually exists on Arc
Don’t just paste an address and assume it is deployed.
Always check bytecode.
If “getCode(address)” returns “0x”, there is no contract there.
I had to verify that the marketplace and registry contracts actually had bytecode on Arc before trusting the wallet flow while building Dispatch.
This saves you from debugging frontend problems that are really deployment problems.
5. Forgetting to rebuild the static output before deploying
This one wasted real time.
I updated the frontend source, pushed to GitHub, redeployed Vercel, and the live site still showed old text.
Why? Vercel was serving the static build folder.
The source was new, but the deployed static artifact was stale.
If your app serves a static output folder, always rebuild it before deploying.
Biggest lesson:
Most Arc bugs won’t look like “Arc bugs.”
They’ll look like:
wrong config,
wrong token assumption,
wrong contract address,
wrong deploy artifact,
wrong frontend build,
or unclear payment state.
Fix those early and building on Arc becomes much smoother.