Returns
UseSendEvmSmartAccountUsdcReturnType
function useSendEvmSmartAccountUsdc(): UseSendEvmSmartAccountUsdcReturnType;
UseSendEvmSmartAccountUsdcReturnType
import { useSendEvmSmartAccountUsdc, useCurrentUser } from "@coinbase/cdp-hooks";
function MyComponent() {
const { sendEvmSmartAccountUsdc, status, data, error } = useSendEvmSmartAccountUsdc();
const { currentUser } = useCurrentUser();
const evmSmartAccount = currentUser?.evmSmartAccountObjects?.[0]?.address;
const handleSendUsdc = async () => {
if (!evmSmartAccount) return;
try {
const result = await sendEvmSmartAccountUsdc({
evmSmartAccount,
to: "0x1234567890123456789012345678901234567890",
amount: "10.00",
network: "base-sepolia",
useCdpPaymaster: true, // Optional: sponsor gas fees
});
console.log("User Operation Hash:", result.userOpHash);
} catch (error) {
console.error("Failed to send USDC:", error);
}
};
return (
<div>
{status === "pending" && <div>Sending USDC...</div>}
{status === "success" && data && (
<div>
<div>USDC sent! TX: {data.transactionHash}</div>
<div>Status: {data.status}</div>
</div>
)}
{status === "error" && <div>Error: {error?.message}</div>}
<button onClick={handleSendUsdc} disabled={status === "pending"}>
Send USDC
</button>
</div>
);
}
Was this page helpful?