Your agent needs a wallet before it can place a single bet. But which wallet? The answer depends on your security requirements, which prediction markets you’re targeting, how much autonomy you want the agent to have, and whether you need human approval in the loop.

This guide compares every viable wallet architecture for prediction market agents: Coinbase Agentic Wallets, MoonPay Agents, raw EOA (externally owned account), Safe Smart Accounts (formerly Gnosis Safe), and Lightning L402. Each has genuine trade-offs. None is universally best.

For how wallets fit into the broader agent architecture, see The Agent Betting Stack Explained. For the trading APIs your wallet will connect to, see The Complete Prediction Market API Reference. For how X Money — the X (Twitter) super-app wallet in external beta since March 4, 2026 — fits into this picture as a user-facing funding layer, see X Money and Prediction Markets.


The Quick Answer

If you want one recommendation before reading further:

Building a Polymarket agent? Start with Coinbase Agentic Wallets. Gasless transactions on Base, built-in spending limits, two-minute setup. When your operation matures and you need multi-agent consensus or custom transaction guards, migrate to Safe.

Building a Kalshi agent? Kalshi is centralized and uses USD, not crypto. You don’t need an on-chain wallet for Kalshi — you need API keys and a funded account. Skip to the Kalshi section below.

Building an agent that pays for API access or data feeds? Use Lightning L402 for pay-per-request micropayments with no accounts needed.

Running a high-value treasury bot? Use Safe with a multi-agent signing threshold and transaction guards.

For the full breakdown by risk tolerance, speed, platform, and team structure, jump to the Decision Framework below.


Master Comparison Table

Last verified: March 4, 2026. All figures confirmed against official documentation and on-chain data.

Coinbase Agentic Wallets Best Overall

LaunchedFeb 12, 2026
Custody modelNon-custodial, TEE-isolated
Key isolationKeys in Coinbase TEE, never exposed to agent
Spending limitsProgrammable (session caps, per-tx caps)
Multi-agent signingNo (single agent per wallet)
Chain supportBase (EVM + Solana planned)
Prediction marketsPolymarket (via bridge to Polygon)
Polymarket signature_type1 (via proxy on Polygon)
Gas handlingGasless on Base
Setup time~2 minutes
Setup complexityLow (CLI: npx awal)
Auth methodEmail OTP + session keys
Payment protocolx402
SDK / CLInpx awal, AgentKit skills, agent-wallet-skills
Fiat on-rampVia Coinbase (manual)
KYT/KYCBuilt-in KYT (blocks high-risk txs)
Account recoveryEmail OTP re-auth
Assets securedNew (50M+ x402 txs)
Best forSolo agents, rapid prototyping
Cost to startFree

MoonPay Agents Best for Fiat

LaunchedFeb 24, 2026
Custody modelNon-custodial (device-stored)
Key isolationKeys stored on user device, MoonPay infrastructure manages
Spending limitsConfigurable via API
Multi-agent signingNo
Chain supportEthereum, Polygon, Base, Solana + more
Prediction marketsPolymarket (Polygon native)
Polymarket signature_type0 or 1 (Polygon native)
Gas handlingAbstracted (MoonPay handles gas)
Setup time~5 minutes
Setup complexityLow (REST API)
Auth methodAPI key + OAuth
Payment protocolFiat + crypto rails + x402
SDK / CLIMoonPay CLI, REST API, Claude/ChatGPT/Gemini/Grok integrations
Fiat on-rampBuilt-in (card, bank, Apple Pay, Venmo, PayPal)
KYT/KYCBuilt-in KYC + KYB compliance
Account recoveryAPI-managed
Assets securedN/A
Best forFiat rails, regulated markets
Cost to startFree

EOA (Raw Key)

LaunchedGenesis (Ethereum)
Custody modelSelf-custodial
Key isolationKey stored wherever you put it
Spending limitsNone (agent has full access)
Multi-agent signingNo
Chain supportAll EVM chains
Prediction marketsPolymarket (Polygon native)
Polymarket signature_type0 (native EOA)
Gas handlingYou pay gas
Setup time~30 seconds
Setup complexityTrivial
Auth methodPrivate key directly
Payment protocolStandard EVM tx
SDK / CLIethers.js, web3.py, viem
Fiat on-rampNone
KYT/KYCNone
Account recoverySeed phrase only
Assets securedN/A
Best forMaximum control, experienced devs
Cost to startFree

Safe Smart Account Best Security

Launched2018 (as Gnosis Safe)
Custody modelSelf-custodial (multi-party)
Key isolationKeys held by signers, not the contract
Spending limitsTransaction Guards + Zodiac modules
Multi-agent signingYes (M-of-N threshold)
Chain support15+ EVM chains (incl. zkSync)
Prediction marketsPolymarket (Polygon native)
Polymarket signature_type2 (smart contract wallet)
Gas handlingHigher gas than EOA (~20-40% more)
Setup time~10 minutes
Setup complexityMedium (contract deployment)
Auth methodOwner wallet signatures
Payment protocolStandard EVM tx
SDK / CLISafe Protocol Kit, Safe API Kit
Fiat on-rampNone
KYT/KYCOptional (via Safe Shield)
Account recoveryReplace signers on-chain
Assets secured$95B+ across 30M+ Safes
Best forHigh-value treasuries, multi-agent teams
Cost to startGas for deployment (~$0.01 on L2s)

Lightning L402

LaunchedFeb 12, 2026 (agent tools)
Custody modelSelf-custodial (LND node)
Key isolationRemote signer architecture isolates keys
Spending limitsScoped macaroons (pay-only, invoice-only, read-only)
Multi-agent signingNo
Chain supportBitcoin (Lightning Network)
Prediction marketsNot directly compatible
Polymarket signature_typeN/A
Gas handlingNo gas (Lightning fees instead)
Setup time~30 minutes (with LND node)
Setup complexityHigh (Lightning node or LNC)
Auth methodMacaroons (cryptographic tokens)
Payment protocolL402 (HTTP 402 + Lightning invoice)
SDK / CLIlnget, lightning-agent-tools
Fiat on-rampNone
KYT/KYCNone
Account recoveryLND seed backup
Assets securedN/A
Best forAPI micropayments, cross-platform commerce
Cost to startFree (Neutrino) to ~$50/mo (hosted node)

Option 1: Coinbase Agentic Wallets

Coinbase Agentic Wallets are purpose-built for autonomous agents. Launched February 12, 2026, they represent the first wallet infrastructure designed specifically for AI — not retrofitted from human wallet patterns.

How It Works

The agent gets a dedicated wallet on Base (Coinbase’s L2). Private keys live inside Coinbase’s Trusted Execution Environments (TEEs) and are never exposed to the agent’s runtime, its prompts, or the LLM. The agent interacts with the wallet through a CLI tool (awal) or through pre-built “skills” that handle authentication, funding, sending, and trading.

The x402 protocol handles machine-to-machine payments. When the agent hits an x402-enabled API endpoint, it receives an HTTP 402 response with a payment challenge, pays via USDC on Base, and gets access — all automatically.

Setup

# Install and authenticate
npx awal status          # Check if authenticated
npx awal fund 100        # Fund wallet with USDC

# Basic operations
npx awal send 5 0xADDRESS     # Send USDC
npx awal trade 10 usdc eth    # Swap tokens

For agent frameworks, install skills instead of using the CLI directly. Coinbase open-sourced the agent-wallet-skills repository for developers to extend functionality:

# Pre-built skills: authenticate, fund, send, trade,
# search-for-service, pay-for-service, monetize-service
# Community skills can be added via the skills repo

Security Model

The key innovation is TEE isolation. The agent’s code and the wallet’s private keys exist in separate security domains. Even if an attacker compromises the agent through prompt injection, they cannot extract the private key — it physically cannot leave the TEE.

Additional guardrails include session spending caps (maximum the agent can spend in one session), per-transaction limits (maximum per individual transaction), KYT screening (Know Your Transaction — blocks interactions with sanctioned or high-risk addresses), and enclave isolation ensuring keys never enter a prompt or LLM context.

Prediction Market Compatibility

Polymarket runs on Polygon. Coinbase Agentic Wallets run on Base. This means you need to bridge USDC from Base to Polygon before trading on Polymarket. This adds a step but is straightforward — Polymarket’s bridge documentation covers this, and the Polymarket CLI handles bridging natively.

Kalshi doesn’t need an on-chain wallet (see below), so Coinbase Agentic Wallets aren’t relevant for Kalshi trading directly. However, they’re useful for managing the USDC that you’d convert to USD for Kalshi deposits.

Strengths

The strongest advantage for new agent builders is speed to production. Two minutes from zero to a funded, guardrailed wallet. No smart contract deployment. No node to run. No key management infrastructure to build. The gasless Base transactions mean your agent won’t stall because it ran out of ETH for gas — a common failure mode for EOA-based agents.

Weaknesses

You’re on Base. Polymarket is on Polygon. That bridging step adds latency and complexity. You’re also trusting Coinbase’s TEE infrastructure — it’s non-custodial in the sense that Coinbase can’t spend your funds, but you are relying on their enclave implementation being correct. There’s no multi-agent signing, so if you’re running a fleet of agents that should reach consensus before spending, you’ll need to build that coordination layer yourself.


Option 2: Self-Custodied EOA (Raw Private Key)

The simplest and most dangerous option. You generate a private key, fund the address, and give the key to your agent. This is how most early prediction market bots were built and how many still operate today.

How It Works

An EOA is a standard Ethereum account controlled by a single private key. Whoever has the key controls the funds — no multisig, no spending limits, no guardrails. The agent signs transactions directly.

Setup

from eth_account import Account
import os

# Generate a new wallet
private_key = "0x" + os.urandom(32).hex()
account = Account.from_key(private_key)
print(f"Address: {account.address}")
print(f"Private key: {private_key}")
# STORE THIS KEY SECURELY — if it's lost, funds are gone forever
# Using with Polymarket
from py_clob_client.client import ClobClient

client = ClobClient(
    host="https://clob.polymarket.com",
    key=private_key,
    chain_id=137,  # Polygon
    signature_type=0,  # 0 = EOA
    funder=account.address
)
client.set_api_creds(client.create_or_derive_api_creds())

Security Model

There is no security model. The private key is the sole point of failure. If the key is in your agent’s environment variables and the agent is compromised via prompt injection, the attacker has full access to all funds. If the key is stored in a .env file and the server is breached, all funds are gone.

You can partially mitigate this by keeping only small amounts in the trading wallet, using a separate “treasury” wallet to periodically sweep profits, and rotating keys regularly. But these are manual processes — you’re building your own guardrails from scratch.

Prediction Market Compatibility

This is the most compatible option for Polymarket specifically. The Polymarket CLOB API was designed for EOA-based trading. You deploy directly on Polygon, sign orders with your key, and trade. No bridging, no intermediary infrastructure. The py-clob-client and @polymarket/clob-client SDKs both support EOA signatures natively (signature_type=0).

For Kalshi, you still don’t need an on-chain wallet. But the simplicity of EOA means you can hold USDC on any chain and bridge/off-ramp to USD for Kalshi deposits.

Strengths

Maximum simplicity. Maximum flexibility. Works on every EVM chain. No vendor dependency. No TEE to trust. No smart contract to deploy. Lowest gas costs (simple transfer is the cheapest transaction type). This is the fastest path to “agent is placing trades on Polymarket.”

Weaknesses

If the key leaks, you lose everything. There are no spending limits, no transaction guards, no KYT screening, no multi-sig, no recovery mechanism beyond the seed phrase. You’re trusting your agent’s entire runtime environment with unrestricted access to all funds. For a prototype with $50 in it, this is fine. For anything you’d be upset to lose, it’s not.

When to Use EOA

Use an EOA when you’re prototyping, when total funds at risk are small (under $500), when you need Polygon-native transactions with no bridging, or when you’re building a custom security layer on top. Many production agents start with EOA and migrate to Safe or Coinbase Agentic Wallets once the agent is proven and the stakes increase.


Option 3: Safe Smart Accounts (Formerly Gnosis Safe)

Safe is the industry standard for securing on-chain assets. Over $95 billion is currently held across 30+ million Safe accounts — up from $60B a year ago. The protocol hit an all-time high of $112 billion in quarterly transaction volume in Q4 2024, deployed across 15+ networks. When Vitalik Buterin says he holds over 90% of his personal funds in a multisig, he’s talking about Safe.

For prediction market agents, Safe provides the most granular security controls available — but at the cost of complexity and higher gas.

How It Works

A Safe is a smart contract deployed on-chain. Instead of a single private key controlling funds, the Safe requires M-of-N signatures from designated “owner” accounts. For an AI agent setup, this could be 1-of-1 (single agent, but with transaction guards), 2-of-3 (agent proposes, two humans must approve), or even multi-agent consensus (three agents must agree before funds move).

The key innovation for agents is Transaction Guards and Zodiac Modules. Transaction Guards are smart contracts that run checks before and after every Safe transaction — even if the agent’s signing key is compromised, the guard can block transactions that violate predefined rules (wrong destination, too large, wrong token, etc.). Zodiac modules extend Safe with programmable permissions: spending limits, timelocks, whitelisted addresses, and role-based access.

Setup

import { SafeFactory } from '@safe-global/protocol-kit'

// Deploy a new Safe with one agent owner
const safeFactory = await SafeFactory.init({
  provider: RPC_URL,
  signer: AGENT_PRIVATE_KEY
})

const safeAccountConfig = {
  owners: [AGENT_ADDRESS, HUMAN_BACKUP_ADDRESS],
  threshold: 1  // 1-of-2: agent can act alone, human can recover
}

const safe = await safeFactory.deploySafe({ safeAccountConfig })
console.log(`Safe deployed at: ${await safe.getAddress()}`)

For prediction market agents, a common pattern is 1-of-1 with transaction guards:

// The agent is the sole signer, but a guard restricts what it can do
const guardConfig = {
  maxTransactionValue: ethers.parseEther("100"),  // Max 100 USDC per tx
  allowedTargets: [POLYMARKET_CTF_ADDRESS, USDC_ADDRESS],
  blockedFunctions: ["approve(address,uint256)"]  // Block unlimited approvals
}

Security Model

Safe’s security is the strongest of any option here. The contract code is among the most audited in all of Ethereum. The multisig design eliminates single points of failure. Transaction guards provide on-chain enforcement that cannot be bypassed even with a compromised key. And because Safe is a smart contract, you can upgrade its security rules without moving funds.

The specific agent security features include: Transaction Guards that enforce rules before and after every transaction; Zodiac modules for spending limits, timelocks, and whitelisted targets; multi-agent signing where multiple AI agents must reach consensus before executing; Safe Shield (launched 2025) for real-time threat monitoring powered by Hypernative; and 1-of-N with human override, where the agent acts autonomously but any human owner can freeze the Safe.

Chain Support

Safe is deployed on 15+ EVM-compatible networks including Ethereum, Polygon (where Polymarket lives), Base, Arbitrum, Optimism, Gnosis Chain, Avalanche, BNB Chain, and zkSync (added in v1.4.1-3). Importantly, 98% of new Safe deployments in 2025 were on L2s, so gas costs are low. Deploying a Safe on Polygon (for Polymarket) costs fractions of a cent.

Prediction Market Compatibility

Safe works natively with Polymarket on Polygon. You deploy the Safe on Polygon, fund it with USDC, and the agent proposes transactions that the Safe executes. The Polymarket CLOB API supports smart contract wallets through its proxy/funder architecture — set signature_type=1 and use the Safe’s address as the funder.

Safe now has official multi-agent setup documentation, recommending configurations like 2-of-4 (2 AI agents + 2 human signers) where each transaction proposed by one agent requires approval from at least one other agent. Agents propose transactions via the Safe Transaction Service for easy review and execution.

The Autonolas framework (Olas) uses Safe as its default wallet for autonomous prediction market agents. Their agents run as “autonomous services” where multiple agent instances co-own a Safe with configurable signing thresholds.

Strengths

Highest security ceiling of any option. The only wallet where you can enforce on-chain spending rules that the agent literally cannot override. Multi-agent consensus is built in. You can start with a simple 1-of-1 and progressively decentralize to multi-agent signing as your operation scales. The $95B+ secured across 30M+ Safe accounts is the strongest proof of battle-tested security you’ll find.

Weaknesses

Complexity is the main cost. Deploying a Safe, configuring guards, and setting up Zodiac modules takes significantly more work than npx awal or generating an EOA. Transactions from a Safe cost more gas than from an EOA because the smart contract has to verify signatures and execute guard logic — roughly 20-40% more per transaction on average. And the multi-sig flow adds latency: if your threshold is 2-of-3, the agent can’t execute instantly — it needs to collect signatures.

For single-agent prediction market bots where speed matters (scalping, arbitrage), the extra gas and latency can be meaningful. For treasury management or high-value strategic betting, the security is worth it.


Option 4: Lightning L402

Lightning L402 is fundamentally different from the other three options. It’s not an EVM wallet. It doesn’t hold USDC or interact with Polymarket or Kalshi directly. Instead, it gives agents the ability to make instant Bitcoin micropayments to access paid APIs, data feeds, and services — with no accounts, no API keys, and no identity required.

Lightning Labs open-sourced their agent tools suite on February 12, 2026, the same day Coinbase launched Agentic Wallets.

How It Works

L402 repurposes the HTTP 402 “Payment Required” status code. When an agent requests a resource from an L402-enabled server, the server responds with a Lightning invoice and a macaroon (a cryptographic authentication token). The agent pays the invoice via Lightning, receives a preimage as proof of payment, and uses it with the macaroon to access the resource. No signup. No API key. No identity.

The lnget CLI tool automates this entire flow. The agent runs lnget https://api.example.com/data — if the server returns 402, lnget pays the invoice, caches the auth token, and retries the request automatically.

Setup

# Install lnget (L402-aware HTTP client)
# Supports three Lightning backends:

# Option 1: Direct gRPC to local LND node (recommended for production)
lnget --lnd-host=localhost:10009 --macaroon=admin.macaroon https://api.example.com/data

# Option 2: Lightning Node Connect (encrypted tunnel, no port forwarding)
lnget --lnc-pairing=YOUR_PAIRING_PHRASE https://api.example.com/data

# Option 3: Embedded Neutrino light wallet (easiest for experimentation)
lnget --neutrino https://api.example.com/data

For agent frameworks, Lightning Labs provides seven “skills” including node management, payment execution, invoice creation, and MCP (Model Context Protocol) integration for Claude Code:

{
  "mcpServers": {
    "lightning-wallet": {
      "command": "npx",
      "args": ["lightning-wallet-mcp"],
      "env": {
        "LIGHTNING_WALLET_API_KEY": "your-api-key"
      }
    }
  }
}

Security Model

Lightning L402 uses a three-tier security architecture. The recommended default uses LND’s remote signer, which separates key management from node operations so private keys remain physically isolated from the agent’s machine. Scoped macaroons enforce least-privilege access: you can give an agent “pay-only” permissions with a ceiling on total spend, “invoice-only” to receive but not send, or “read-only” to monitor but not transact.

Even if the agent is fully compromised, a pay-only macaroon with a spending cap limits the maximum loss. This is conceptually similar to Coinbase’s session caps, but enforced cryptographically at the Lightning node level rather than by a third party’s TEE.

Prediction Market Compatibility

Here’s the honest limitation: L402 does not directly connect to Polymarket or Kalshi. Polymarket uses USDC on Polygon. Kalshi uses USD. Lightning uses Bitcoin on the Lightning Network. There is no direct path from an L402 payment to placing a prediction market order.

However, L402 is extremely useful for the auxiliary services that prediction market agents need: paying for LLM API calls to analyze markets, purchasing premium data feeds (news, sentiment, odds aggregators), accessing paid research APIs, and agent-to-agent commerce (buying analysis from another agent). The Lightning Faucet MCP server even auto-detects x402 endpoints and handles both L402 and x402 seamlessly — paying in sats regardless of the underlying protocol.

Think of L402 as the wallet for your agent’s operational expenses, not its trading capital.

Strengths

No identity required. No accounts. No API keys. The agent proves it can pay, and that’s sufficient for access. This is the most privacy-preserving and permissionless option. Micropayments that would be uneconomical on Ethereum (paying $0.001 for one API call) are trivial on Lightning. And the pay-per-request model means your agent never overpays — it pays exactly for what it uses.

Weaknesses

Lightning requires running a node (or connecting to one). Even the Neutrino light wallet option is more infrastructure than npx awal. The Lightning Network is Bitcoin-only, so no USDC, no EVM tokens, no direct DeFi access. And the L402 ecosystem is still young — as of February 2026, the number of L402-enabled APIs is growing but small compared to traditional API key ecosystems.


Option 5: MoonPay Agents

MoonPay Agents launched on February 24, 2026 — twelve days after Coinbase Agentic Wallets. Where Coinbase focuses on crypto-native key isolation, MoonPay’s angle is fiat rails: giving AI agents the ability to accept, hold, and send fiat currencies alongside crypto, with built-in KYC/KYB compliance.

How It Works

MoonPay Agents provides a non-custodial wallet infrastructure through a REST API and CLI. Wallets are generated and stored on the user’s device, not on MoonPay’s servers. Your agent creates a wallet, completes a one-time KYC verification, funds it (via virtual accounts in USD/EUR/GBP, Apple Pay, Venmo, or PayPal), and executes transactions — all through API calls. MoonPay handles the complexity of fiat payment processing, regulatory compliance, and multi-chain token management.

The key differentiator: MoonPay is a licensed Money Service Business (MSB) operating in 160+ countries. For agents that need to interact with fiat currencies — accepting payments, making payouts, or converting between fiat and crypto — MoonPay provides the regulatory infrastructure that’s impossible to build independently. MoonPay also supports x402 machine-to-machine payments, making it compatible with the same agent commerce protocol used by Coinbase Agentic Wallets.

Setup

MoonPay Agents integrates with major LLM providers (Claude, ChatGPT, Gemini, Grok) and is accessible via the MoonPay CLI or REST API:

import requests

MOONPAY_API_KEY = "your-api-key"
MOONPAY_BASE = "https://api.moonpay.com/agents/v1"

headers = {
    "Authorization": f"Bearer {MOONPAY_API_KEY}",
    "Content-Type": "application/json"
}

# Create an agent wallet
wallet = requests.post(
    f"{MOONPAY_BASE}/wallets",
    headers=headers,
    json={"chain": "polygon", "currency": "usdc"}
).json()

print(f"Wallet address: {wallet['address']}")

MoonPay also supports recurring automated purchases and cross-chain swaps, enabling agents to dollar-cost-average into positions or rebalance across chains programmatically.

MoonPay Wallet → Polymarket Trading Flow

Once your MoonPay wallet is funded with USDC on Polygon, connect it to the Polymarket CLOB API:

import requests
from py_clob_client.client import ClobClient

MOONPAY_API_KEY = "your-api-key"
MOONPAY_BASE = "https://api.moonpay.com/agents/v1"

headers = {
    "Authorization": f"Bearer {MOONPAY_API_KEY}",
    "Content-Type": "application/json"
}

# 1. Get your MoonPay wallet's private key and address
wallet_info = requests.get(
    f"{MOONPAY_BASE}/wallets/your-wallet-id",
    headers=headers
).json()

# 2. Initialize Polymarket client with MoonPay wallet
client = ClobClient(
    host="https://clob.polymarket.com",
    key=wallet_info["private_key"],  # MoonPay wallet's key
    chain_id=137,  # Polygon — no bridging needed
    signature_type=0,  # EOA-style signing
    funder=wallet_info["address"]
)
client.set_api_creds(client.create_or_derive_api_creds())

# 3. Now trade normally — same as any EOA wallet
book = client.get_order_book("<token-id>")
print(f"Best bid: {book['bids'][0]['price']}")

The advantage over Coinbase Agentic Wallets: MoonPay creates wallets directly on Polygon, so there’s no bridge step between your wallet and Polymarket.

Prediction Market Compatibility

MoonPay Agents supports Polygon natively, making it directly compatible with Polymarket. The key advantage over Coinbase Agentic Wallets for Polymarket specifically: no bridging required. Coinbase wallets default to Base and need a bridge to Polygon; MoonPay can create wallets on Polygon directly.

For Kalshi, MoonPay’s fiat rails simplify the funding flow — agents can programmatically fund via virtual accounts (US, EU, GBP) and off-ramp back to fiat, though direct Kalshi API integration would require custom implementation.

Strengths

  • Fiat on/off-ramp built in — accept card, bank transfer, Apple Pay directly
  • Multi-chain native — Ethereum, Polygon, Base, Solana, and more without bridging
  • Compliance built-in — KYC/KYB, AML screening, MSB licensing in 160+ countries
  • No node infrastructure — fully hosted, no TEE setup or node management
  • Gas abstraction — MoonPay handles gas payments behind the scenes

Weaknesses

  • Infrastructure dependency — while non-custodial, MoonPay’s hosted API layer is required for transactions. If MoonPay’s infrastructure goes down, agents can’t execute trades
  • Newer platform — launched Feb 24, 2026. Less battle-tested than Coinbase or Safe
  • Limited programmable guardrails — spending limits exist but less granular than Coinbase’s session-scoped caps
  • Vendor lock-in — MoonPay’s API is proprietary despite x402 compatibility
  • Latency — hosted API adds network latency vs. local key signing

When to Choose MoonPay Agents

Choose MoonPay when your agent needs fiat payment handling as a core capability — accepting payments from users, making payouts, or operating in jurisdictions where fiat compliance is required. If your agent is purely crypto-native and only trades on Polymarket, Coinbase Agentic Wallets or a raw EOA is simpler.

Full head-to-head: For a detailed MoonPay vs. Coinbase comparison with architecture diagrams, code examples, and a hybrid architecture pattern, see MoonPay Agents vs Coinbase Agentic Wallets.


EIP-7702 and Session Keys (Live on Mainnet)

EIP-7702 shipped as part of Ethereum’s Pectra upgrade on May 7, 2025 and is now live on mainnet. This is no longer a future standard — it’s a production-ready tool that changes the trade-offs in this comparison.

EIP-7702: Smart Account Capabilities for EOAs

EIP-7702 introduces a new transaction type (0x04) that allows EOA wallets to temporarily delegate execution to smart contract code. For agents, this means:

  • An EOA can gain spending limits, session keys, and transaction guards without migrating to Safe
  • The delegation uses authorization tuples signed by the EOA’s private key
  • No new contract deployment needed — uses existing smart account implementations
  • Works alongside ERC-4337 (EntryPoint v0.8) for sponsored gas and modular security

The recommended pattern combines EIP-7702 for address continuity with ERC-7579 (modular execution standard) for fine-grained session key management. Tools like MetaMask Snaps, Openfort, and Smart Accounts Kit already support this pattern.

Session Keys

Session keys are time-limited, scope-limited cryptographic keys that authorize specific actions without exposing the master private key. An agent might hold a session key that can:

  • Place trades up to $500 per transaction
  • Only interact with the Polymarket contract address
  • Expire after 24 hours

Coinbase Agentic Wallets, Safe, and now raw EOAs (via EIP-7702) all support session keys. The difference is enforcement: Coinbase enforces via TEE, Safe enforces via on-chain guards, and EIP-7702 EOAs enforce via delegated smart contract logic.

Impact on this comparison: The security gap between EOAs and smart accounts has already started narrowing. With EIP-7702 live, agents using raw EOAs can layer on smart account protections without migration. The competition is shifting from “which wallet architecture?” to “which key management infrastructure?” — and Coinbase, MoonPay, and Safe are increasingly competing on developer experience and ecosystem integration.

Looking Ahead: Ethereum Hegota Upgrade (H2 2026)

Ethereum’s next major upgrade, Hegota, is scheduled for H2 2026 and will introduce native account abstraction via EIP-8141. This will unify smart accounts and EOAs at the protocol level, bringing frame transactions (separating signature approval from execution), gas flexibility (pay fees in ERC-20 tokens), and groundwork for quantum-resistant cryptography. For agent wallet builders, Hegota means the distinction between “EOA” and “smart account” will eventually disappear entirely.


What Changed Since Last Update

DateChange
March 2026Added MoonPay Agents (Option 5) with full setup, Polymarket compatibility, and code examples. Updated EIP-7702 section to reflect Pectra mainnet status. Added Hegota upgrade preview. Updated Safe ecosystem stats ($95B+ secured, 30M+ accounts). Added real-world cost scenarios to fee comparison.
February 2026Initial publication covering Coinbase Agentic Wallets, EOA, Safe, and Lightning L402. Decision framework, migration paths, and security comparison.

Polymarket CLOB API Wallet Compatibility

The Polymarket CLOB API supports three wallet signature types. Your choice of wallet determines which type you use:

EOA Type 0

Wallet typeRaw private key
Funder addressYour EOA address
GasYou pay POL
Best forDirect trading, lowest latency

POLY_PROXY Type 1

Wallet typePolymarket account (Magic Link)
Funder addressYour proxy wallet
GasGasless via relayer
Best forPolymarket.com users

GNOSIS_SAFE Type 2

Wallet typeSmart contract wallet (Safe, MetaMask, Privy)
Funder addressYour proxy wallet
GasYou pay POL
Best forMulti-sig, browser wallets

When initializing the Polymarket SDK, set the signature type to match your wallet:

from py_clob_client.client import ClobClient

# EOA (signature_type=0) — most common for bots
client = ClobClient(
    host="https://clob.polymarket.com",
    key=private_key,
    chain_id=137,
    signature_type=0,
    funder=your_eoa_address
)

# Safe (signature_type=2) — for smart contract wallets
client = ClobClient(
    host="https://clob.polymarket.com",
    key=agent_signer_key,
    chain_id=137,
    signature_type=2,
    funder=safe_proxy_address
)

Authentication flow: The CLOB API uses two levels — L1 authentication (private key signs EIP-712 messages to derive API credentials) and L2 authentication (API key/secret/passphrase via HMAC-SHA256 for trading requests). Read-only market data requires no authentication.

For full API details, see Polymarket API Tutorial & Developer Guide and py_clob_client Reference.


Kalshi Doesn’t Need an On-Chain Wallet

This section exists because the comparison is incomplete without addressing it. Kalshi is a CFTC-regulated, centralized prediction market based in the United States. It operates entirely off-chain.

To trade on Kalshi, you need a Kalshi account (with KYC verification), API credentials (API key ID + RSA private key, generated in account settings), and a funded USD balance (deposited via ACH, wire, or supported payment methods).

There is no wallet, no blockchain, no gas, no token. Your agent authenticates with RSA-signed headers and trades contracts denominated in cents. The “wallet” is your Kalshi account balance.

import kalshi_python

config = kalshi_python.Configuration(
    host="https://api.elections.kalshi.com/trade-api/v2"
)
config.api_key_id = "your-api-key-id"
with open('private_key.pem', 'r') as f:
    config.private_key_pem = f.read()

client = kalshi_python.KalshiClient(config)
balance = client.get_balance()

For agents trading both Polymarket and Kalshi, you’ll need an on-chain wallet (for Polymarket) and Kalshi API credentials (for Kalshi). They’re separate systems. The only overlap is that you might use an on-chain wallet to hold USDC that you periodically off-ramp to USD for Kalshi deposits.


Decision Framework

By Risk Tolerance

“I’m experimenting with $50-500” → EOA. Simplest setup. If funds are lost, it’s the cost of learning.

“I’m running $500-10,000 in active trading” → Coinbase Agentic Wallets. TEE key isolation and spending limits protect against the most common failure modes (key leaks, prompt injection draining funds) without adding operational complexity.

“I’m managing $10,000+ or running multiple agents” → Safe. Multi-sig, transaction guards, and on-chain enforceable rules. The added complexity is justified by the security ceiling.

By Speed Requirement

Arbitrage / scalping (sub-second) → EOA on Polygon. Lowest latency. No guard overhead. No bridging.

Strategic betting (minutes to hours) → Coinbase Agentic Wallets or Safe (1-of-1). The small latency overhead doesn’t matter when your holding period is hours or days.

Treasury management (daily rebalance) → Safe with multi-agent threshold. Speed doesn’t matter. Security does.

By Platform

Polymarket only → EOA on Polygon (simplest) or Safe on Polygon (most secure).

Kalshi only → No wallet needed. Kalshi API credentials + funded account.

Both Polymarket and Kalshi → EOA or Coinbase Agentic Wallets for on-chain + Kalshi API credentials for off-chain.

Agent-to-agent services → Lightning L402 for operational payments + any of the above for trading capital.

By Team Structure

Solo developer → Coinbase Agentic Wallets. Least infrastructure to maintain.

Team with on-call rotation → Safe with 2-of-3 (agent + 2 team members). Any team member can approve or block transactions.

Multi-agent swarm → Safe with agent-threshold signing (e.g., 3-of-5 agents must agree). Autonolas/Olas uses exactly this pattern.


Hybrid Architectures

Most production agents use more than one wallet. Here are the patterns that work:

Hot/Cold Split

Use a Coinbase Agentic Wallet or EOA as the “hot” wallet with a small balance for active trading. Keep the bulk of funds in a Safe as the “cold” treasury. A scheduled job sweeps profits from hot to cold. The agent only ever has access to funds it might reasonably need in the next trading session.

L402 + On-Chain

Use Lightning L402 to pay for all the agent’s operational costs — LLM inference, data feeds, research APIs. Use a separate on-chain wallet (Coinbase or EOA) for actual prediction market trading. This separates the agent’s “operating budget” from its “trading capital” at the infrastructure level.

Progressive Security

Start with an EOA while prototyping. Once the agent is profitable and you’re increasing capital, migrate to Coinbase Agentic Wallets for TEE isolation and spending limits. When you’re running multiple agents or managing serious capital, deploy a Safe with transaction guards. Each migration is additive — you’re not throwing away work, you’re adding security layers.


Fee Comparison

Coinbase Agentic

Wallet creationFree
Typical transactionGasless on Base
Token swapGasless on Base
Bridging costBase→Polygon bridge fee
Monthly infra costFree
Protocol feesx402 facilitator fee

EOA (Polygon)

Wallet creationFree
Typical transaction~$0.001–0.01
Token swapDEX fee + gas
Bridging costNone (native Polygon)
Monthly infra costFree
Protocol feesNone

Safe (Polygon)

Wallet creation~$0.01 gas on L2
Typical transaction~$0.002–0.02
Token swapDEX fee + higher gas
Bridging costNone (native)
Monthly infra costFree
Protocol feesNone

Lightning L402

Wallet creationFree (Neutrino)
Typical transaction~1–10 sats (~$0.001)
Token swapN/A
Bridging costN/A
Monthly infra cost$0 (Neutrino) to ~$50 (hosted LND)
Protocol feesLightning routing fees (~0.1%)

The hidden cost for Coinbase Agentic Wallets is bridging. If you’re trading on Polymarket, every USDC must cross from Base to Polygon. Bridge fees and settlement time (usually minutes) add up for active traders.

The hidden cost for Safe is gas premium. Every transaction costs more than an EOA because the Safe contract must verify signatures, check guards, and execute module logic. On Polygon L2 this premium is small in absolute terms (fractions of a cent) but adds up over thousands of trades.

The hidden cost for Lightning is node management. If you run your own LND node, there’s server costs and channel management. If you use Neutrino light wallet, there’s reduced reliability and routing success.

Real-World Cost Scenario: 100 Polymarket Orders Per Day

For an agent placing 100 limit orders per day on Polymarket (a moderate-frequency strategy):

Cost ComponentCoinbase AgenticEOA (Polygon)Safe (Polygon)Lightning L402
Order transactions (100/day)Gasless on Base, but bridge to Polygon ~$0.50/day~$0.10-1.00/day~$0.15-1.50/dayN/A
Cancel/replace (est. 30/day)Same bridge consideration~$0.03-0.30/day~$0.05-0.45/dayN/A
Data feed paymentsN/A (use CLOB API)N/AN/A~$0.10-0.50/day
Monthly infrastructure$0$0$0$0-50 (node)
Estimated monthly total~$15-20 (bridge fees dominate)~$4-40~$6-60$0-50 (node only)

These estimates assume Polygon gas at 30-100 gwei. Actual costs vary with network congestion. The key takeaway: for Polymarket-specific trading, EOA on Polygon is the cheapest option because there’s no bridging overhead and no smart contract gas premium.


Security Comparison Deep Dive

What Happens If the Agent Is Compromised?

Coinbase Agentic

Prompt injectionAttacker can spend up to session cap
Key leakedKey can’t leak (TEE)
Server breachSession key exposed (limited scope)
Malicious codeSpending limits enforced
Max possible lossSession spending cap

EOA

Prompt injectionAttacker drains entire wallet
Key leakedAll funds lost
Server breachPrivate key exposed (everything lost)
Malicious codeNo limits
Max possible loss100% of wallet

Safe

Prompt injectionGuards block unauthorized transactions
Key leakedAttacker is 1-of-N signers (may not meet threshold)
Server breachOne signer key exposed (threshold protects)
Malicious codeTransaction guards enforce rules on-chain
Max possible lossDepends on guard config

Lightning L402

Prompt injectionAttacker can spend up to macaroon cap
Key leakedRemote signer — key not on agent machine
Server breachMacaroon exposed (scoped permissions limit damage)
Malicious codeMacaroon permissions enforced by node
Max possible lossMacaroon spending cap

Key Isolation Quality

Coinbase Agentic Wallets: The private key exists only inside a Trusted Execution Environment. The agent interacts with the wallet through an abstraction layer. Even Coinbase employees cannot extract keys from the TEE. This is the strongest key isolation for a single-agent setup.

EOA: The key is wherever you store it. Environment variable, file, secrets manager — it’s your responsibility. If it’s accessible to the agent’s process, it’s accessible to anything that compromises that process.

Safe: Keys are distributed across multiple signers. No single key controls the wallet. Even if one signer’s key is stolen, the threshold prevents unauthorized transactions. This is the strongest model for defense against any single point of compromise.

Lightning L402: The remote signer architecture means the agent’s machine never holds the private key. The node’s signing operations happen in a separate process (or separate machine entirely). The agent gets scoped macaroons — essentially capability tokens — that limit what operations it can perform.


Setup Cheat Sheet

Coinbase Agentic Wallets: 2-Minute Start

npx awal status           # Authenticate (email OTP)
npx awal fund 50          # Add 50 USDC
npx awal send 10 0xADDR   # Send funds
npx awal trade 5 usdc eth # Swap tokens

EOA: 30-Second Start

# Python
python -c "from eth_account import Account; a = Account.create(); print(f'Address: {a.address}\nKey: {a.key.hex()}')"
# Fund via any exchange or faucet, then use with Polymarket SDK

Safe: 10-Minute Start

# Using Safe CLI
npm install @safe-global/protocol-kit
# Deploy via script (see Safe docs) or via app.safe.global UI
# Add agent address as owner, set threshold, deploy

Lightning L402: 30-Minute Start

# Easiest: Neutrino light wallet (no full node)
lnget --neutrino https://some-l402-api.com/data

# Production: Connect to existing LND node
lnget --lnd-host=your-node:10009 --macaroon=readonly.macaroon https://api.example.com/data

# MCP integration for Claude Code
npx lightning-wallet-mcp  # Self-registers, then "Register a new Lightning Wallet operator account"

Migration Paths

EOA → Coinbase Agentic Wallets

Transfer USDC from your EOA to the Coinbase Agentic Wallet address on Base. Update your agent to use awal skills instead of direct key signing. Your old EOA can become a backup/recovery address.

Cost: Bridge fee from Polygon to Base (~$0.10-0.50 depending on bridge). Time: ~5 minutes including bridge confirmation.

EOA → Safe

Deploy a Safe on the same chain as your EOA. Add your EOA address as the first owner. Transfer funds from EOA to Safe address. Update your agent to propose transactions through the Safe SDK instead of signing directly. Add additional owners (human backup addresses, other agents) at any time.

Cost: Safe deployment on Polygon costs $0.01-0.05 in gas. Fund transfer is a standard ERC-20 transfer ($0.001). Time: ~10 minutes including contract deployment confirmation.

Coinbase Agentic Wallets → Safe

For agents that outgrow Coinbase’s guardrails and need custom transaction guards or multi-agent signing. Bridge funds from Base to your target chain, deploy a Safe, transfer funds, and update your agent’s transaction flow.

Cost: Bridge fee from Base to Polygon ($0.10-0.50) plus Safe deployment ($0.01-0.05). Time: ~15 minutes including bridge settlement and contract deployment.


Further Reading

AgentBets Guides

Official Documentation