Help

Short answers for setup, wallets, and payment approvals.

I didn’t get a verification email

Check spam. Confirm Resend / DNS is verified for your sending domain. You can also open the check-email page again after signing up — it resends when you request it.

Wallet won’t connect on localhost

  • Use http://localhost:3001 (not a LAN IP) so extensions inject.
  • Unlock MetaMask / Phantom, then refresh.
  • Base / Coinbase opens a passkey popup in the browser — allow popups if your browser blocks them.

Base app says use your passkey (not QR)

Correct for Base Smart Wallet. On Veyra, click Base / Coinbase and complete the passkey prompt in the browser popup. Don’t scan the WalletConnect QR with the Base app.

Coinbase says “No matching assets found”

That happens when a QR is scanned with Send/Receive (it looks for a payment address). Base app users should use the passkey popup instead. For other mobile wallets, use the WalletConnect option and that app’s WalletConnect scanner.

Pricing and plan limits

From the product spec: Free = 1 agent + 2 sources; Pro ≈ £19/mo (up to 10 agents); Team ≈ £79/mo (shared sources, higher MCP usage). We charge for control-plane access — not payment volume. Checkout runs through RevenueCat Web Billing. See Pricing.

Approve link says wrong wallet

Connect the same address shown as “Pay from”. The payment is bound to the source that was selected when the agent created it.

I rejected in MetaMask but dashboard still said awaiting

That was fixed: rejecting in the wallet (or Decline on the page) now marks the payment rejected. Refresh the dashboard if you still see a stale row.

Wallet rejects with insufficient funds

Expected. Approvals request a real USDC transfer (+ ETH for gas on Base). Fund the wallet, then open a fresh approve link from the dashboard (“Approve in wallet”).

MCP tools return unauthorized

Use the full veyra_… bearer token from onboarding (shown once). If you rotated credentials, update your client config. Paused or revoked endpoints cannot pay.

Agent keeps retrying create_payment

Tell the agent not to retry on awaiting_approval — give the human next_action.url instead. Reuse the same idempotency_key for true retries; new keys create new payments.

Browser push for approvals

On the dashboard, enable Browser notifications. When an agent payment needs approval, Veyra can push to your browser even if the tab is closed. Tap the notification to open the approve link and confirm in your wallet.

Requires a secure context (HTTPS or localhost), notification permission, and VAPID keys on the server.

Still stuck?

Read the docs, or open your dashboard to rotate credentials, pause an endpoint, or reject a pending payment.