Skip to content

docs: add unified agentic flow example combining X402, ERC-8004 and ERC-8183#125

Open
consumeobeydie wants to merge 5 commits into
circlefin:mainfrom
consumeobeydie:docs/unified-agentic-flow-example
Open

docs: add unified agentic flow example combining X402, ERC-8004 and ERC-8183#125
consumeobeydie wants to merge 5 commits into
circlefin:mainfrom
consumeobeydie:docs/unified-agentic-flow-example

Conversation

@consumeobeydie

Copy link
Copy Markdown

Summary

This PR adds a unified agentic flow example that combines all three Arc Testnet standards in a single automated agent.

What's included

  • Complete unified flow: X402 payments + ERC-8004 identity + ERC-8183 jobs
  • Single agent wallet running all three protocols in sequence
  • Live on-chain proof on Arc Testnet

Live Results

  • Main Agent: 0x54b4B44749a95070560509B6Ec0be501665CcF63
  • Agent ID: 69828 (ERC-8004)
  • Job ID: 110935 (ERC-8183)
  • Job Status: Completed
  • Budget: 1 USDC

Complete PR Series

This PR completes the full agentic stack documentation:

  1. docs/foundry-smart-contract-deploy-guide
  2. docs/x402-arc-agent-example
  3. docs/erc8004-agent-registration-example
  4. docs/erc8183-job-lifecycle-example
  5. docs/unified-agentic-flow-example (this PR)

Full repository: https://github.com/consumeobeydie/arc-agent-api

@osr21

osr21 commented Jun 30, 2026

Copy link
Copy Markdown

Cross-reference: Arc Stablecoin DApp implements all three (X402 + ERC-8183 + USYC)

The Arc Stablecoin DApp (live demo) implements the complete unified agentic stack you're documenting here. A few implementation notes that may be useful:


ERC-8183 AgenticCommerce

Deployed at 0x0Ecdad8fdA2Dde60E475e70Ebf177F2299FECB48. Key finding: createJob() requires 400k gas on Arc (not the default 200k). All other operations need 200k minimum. Arc's opcode pricing is higher than standard EVM — estimateGas returns unreliable values for these calls.

Gasless Transfer (EIP-3009)

Arc USDC does not support EIP-2612 permit(). Use transferWithAuthorization() (EIP-3009) instead. EIP-712 domain must use name: "USDC" and version: "2" — not "USD Coin". MetaMask also requires EIP712Domain to be explicitly present in the types object or the signature is silently corrupted. Full resolution in #164.

USYC Yield Vault

The Hashnote Teller returns custom error 0x7f63bd0f (NotEntitled()) for any non-allowlisted wallet. Testnet access requires a Circle Support ticket with your Arc wallet address. UI should gate the deposit button on isEntitled(address) to avoid on-chain reverts. See #183 for full details.


The dapp's full-stack source (React + Express + Solidity) may be useful as a reference alongside your documentation examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants