<- Back to blog
mainnet/September 29, 2026

Nibgate is live on mainnet

Nibgate now settles in real USDC on Arc mainnet. It was a network flip, not a rewrite — here is what moved, what stayed the same, and what it means for creators and agents.

Nibgate is live on Arc mainnet.

Every Nibgate surface — creator sites, Subblogs, Nibshare, the hub API, the SDK, and the MCP server — now settles in real USDC on Arc mainnet (chain ID 5042).

The migration, honestly

This was not a rewrite. Every flow that shipped on testnet — x402 payment verification, paywall resolution, receipts — is the same code running today. The move to mainnet was a network flip: the same helpers, pointed at mainnet via NIBGATE_NETWORK, with mainnet contracts, keeper, and hosts wired in.

That was the goal from day one. The testnet-to-mainnet step should be configuration, not a new protocol.

What's live

  • Hub API — api.nibgate.xyz
  • Subblogs API — api-subblogs.nibgate.xyz
  • Creator sites, dashboard, Explore, ledger — nibgate.xyz
  • Two rails, unchanged — Circle Gateway (EIP-3009) and direct USDC transfers

Testnet is still live

Mainnet didn't replace testnet. Both stacks run side by side, and testnet stays the place to build with free faucet USDC:

  • Hub — testnet.nibgate.xyz · API — testnet-api.nibgate.xyz
  • Subblogs API — testnet-api-subblogs.nibgate.xyz
  • Chain — Arc testnet, chain ID 5042002

Subblogs mirror across both stacks

Every Subblog is reachable on both networks from the moment it's created: <name>.nibgate.xyz and <name>.testnet.nibgate.xyz serve the same site on their respective stacks. Verify a custom domain once and both hubs agree. Write and test the whole flow on testnet, then run the same thing on mainnet with real money.

What syncs, and what doesn't

Shared across stacks: identity (sites, verification state, owner wallet, publisher profiles) and published editorial blog posts.

Per-stack, never synced: content catalogs, unlocks, payments, ratings, metrics, and sessions. Every payment carries the network it settled on, and a receipt whose chain doesn't match is rejected at write time — so testnet USDC (which has no value) can never open mainnet content.

What didn't change

If you integrated against testnet, the shape of the protocol is identical.

  • Same x402 flow: request, 402 challenge, pay, retry.
  • Same SDK (@nibgate/sdk), same receipt and ledger shapes.
  • Same hub URL standard — api.nibgate.xyz/hub/*.

Moving to mainnet is a host and network change, not an integration rewrite.

Real money, same discipline

Mainnet means settlement is final, so the checks that were strict on testnet stayed strict.

  • Payments are verified against the chain with the same verifier as the content-unlock path — a receipt only exists when a real USDC transfer settled.
  • Machine payers are recorded exactly like browser users at the payment layer — same verifier, same ledger, same reputation.

For creators and agents

Nothing new to learn. Point at a mainnet URL, pay in USDC, and unlock content. If you built on testnet, you move to mainnet by changing the host and the network.

The plumbing that made the testnet demo work is the plumbing that moves real money now. That's the point. The full host and chain reference lives in the network docs.

Have a domain and want to get paid for your work? Start at nibgate.xyz. Questions or feedback? DM us on X @nibgate.