ZettaPay
Merchant Dashboard

Sign in with a signed message

Authenticate by signing a one-time challenge offline in your wallet of choice. ZettaPay never connects to your wallet — you paste the address, sign in your wallet, and paste the signature back.

Merchant
Step 2 · Sign offline

Open your Solana wallet, choose Sign message, and paste the text below verbatim. Then paste the produced signature (hex, base58, or base64) into the field underneath.


            
Expires in 5 min
How it works
  1. You paste your Solana address.
  2. Server returns a one-time challenge bound to merchant + nonce + 5 min TTL.
  3. You sign the message offline in any wallet (Phantom, Solflare, hardware, mobile…).
  4. You paste the signature back; server verifies the Ed25519 signature.
  5. Session token (HMAC-signed, 30 min TTL) unlocks the dashboard.

ZettaPay never requests a wallet connection — your wallet stays sealed.

Signed in as
Session
Verified · expires
Completed payments
tx
Pending
tx
Failed
tx
TPV · Today
TPV · 7d
TPV · 30d
MRR (active subs)
TPV · last 30 days

Volume trend

demo
Conversion rate

Completed vs failed

completed
failed
pending
Top customers · 30d

Highest spenders

No completed payments yet — top spenders will appear here once customers start paying.
Recent payments

Payment stream

Date Amount Status Customer wallet Tx signature
No payments yet — share your checkout link to start receiving USDC.
AI agent payments

Agent dashboard

Which AI agents pay you, what they spend, and which providers drive volume. Synthetic preview — wires to live x402 + MCP traffic at mainnet.

Distinct agents · 30d
Active · 24h
Agent spend · 30d
USDC
Avg ticket
USDC
Spend trend · 30 days
Provider mix
Top spenders
Agent Provider Spend Tx
No agent payments yet — share your x402 endpoint with an agent to start.
Recent agent activity
    No recent activity.
    API access

    Keys

    Treat the secret key like a password — anyone with it can sign on your behalf and trigger payouts.

    Publishable key
    Secret key
    Configuration

    Settings

    Webhook URL receives payment.confirmed events. Allowed origins gate the embed iframe by parent host.

    HTTPS only. Leave blank to disable webhooks.
    One origin per line. Format: https://host[:port]. Up to 16 entries.