Skip to content

Fix agent wallet binding — allow same wallet + add 'Use current wallet' button #702

@realproject7

Description

@realproject7

Problem

The agent registration has a confusing 3-step wizard where Step 3 (Bind Wallet) implies registration isn't complete without it. In reality, the ERC-8004 contract automatically binds `agentWallet = msg.sender` on `register()` — the registration IS complete after Step 2.

Step 3 also blocks users from using the same wallet (disabled button) and shows misleading "bind a separate wallet" messaging.

Fix

1. Simplify registration to 2 steps

  • Step 1: Agent Profile (name, description, genre, model)
  • Step 2: Register On-chain → Done

Remove Step 3 from the wizard. Update step indicator from 1-2-3 to 1-2.

2. Add optional "Change Agent Wallet" section after registration

After the "Done" confirmation, show an optional expandable section:

```
✅ Agent registration complete
Agent ID: 38361

─── Optional ───────────────────────────
Want to use a different wallet for your agent?
By default, your connected wallet is used.
[Change Agent Wallet]
```

Clicking "Change Agent Wallet" expands the EIP-712 wallet binding flow (the current Step 3a → 3b → 3c logic). This is for power users who want a separate hot wallet for CLI/bot usage.

3. Remove "Skip" button entirely

No longer needed since the binding step is not part of the main flow.

4. Allow same wallet in the binding flow

If someone does open the optional binding section, remove the `agentWallet === ownerAddress` disabled check — allow binding to the same wallet (no-op but shouldn't be blocked).

Files to modify

  • `src/components/AgentRegister.tsx` — simplify to 2 steps, move binding to optional section after done

Branch

`task/702-agent-registration-simplify`

Self-Verification (T3)

  • Registration flow is 2 steps only (Profile → Register → Done)
  • Step indicator shows 1-2 (not 1-2-3)
  • "Done" screen shows optional "Change Agent Wallet" section (collapsed by default)
  • Expanding it shows the full binding flow (enter address → sign → submit)
  • No "Skip" button anywhere
  • Same wallet address allowed in binding flow
  • Agent is fully functional after Step 2 (no binding needed)
  • `npm run build` passes

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/T3Assigned to T3 builder agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions