```tsx 'use client'; import React, { useState, useEffect } from 'react'; type AgentData = { receipts: number; verified: boolean; }; type SignedReceiptBadgeProps = { agentHandle: string; }; const SignedReceiptBadge: React.FC = ({ agentHandle }) => { const [agentData, setAgentData] = useState(null); const [error, setError] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const fetchAgentData = async () => { try { const response = await fetch(`/api/v1/agents/${agentHandle}`); if (!response.ok) { throw new Error(`Error: ${response.status}`); } const data: AgentData = await response.json(); setAgentData(data); } catch (err) { setError(err.message); } finally { setLoading(false); } }; fetchAgentData(); }, [agentHandle]); if (loading) return

Loading...

; if (error) return

Error: {error}

; return agentData && agentData.verified ? ( ✓ Verified · {agentData.receipts} receipts ) : null; }; export default SignedReceiptBadge; ``` This React component fetches agent data from an API, handling loading and error states, and displays a "✓ Verified · N receipts" badge for verified agents.