$OPAQUE: 4ccm6bP9obG1y67kbZt5P2iuYet6sj3JSVfm9w6Ypump

Private transfers on Solana.
Built for humans and AI agents.

OpaquePay is a non-custodial wallet and payment layer. When you transfer funds, the amount is encrypted client-side using zero-knowledge proofs before anything hits the chain. Your address is visible. The amount is not. Settlement takes under a second, and your keys never leave your device.

OpaquePay logovirtual

••••

••••

••••

7428

Card holder

Warren Mace

Mastercard
1-2sconfirmation time on SolanaTransactions settle in under two seconds, every time.
$0.001average transaction costSolana network fees, passed through at cost with no markup.
Non-custodialby designYour keys never leave your device. The program holds nothing on your behalf.

OpaquePay uses Solana's Confidential Balances extension to encrypt transfer amounts using homomorphic encryption and zero-knowledge proofs. All of it is processed on your device before anything is submitted to the network. Your transfer amounts are never visible on-chain, though your address is. That distinction is what keeps it auditable and what makes the privacy meaningful.

The building blocks for private, programmable payments.

One account built for both people and AI agents.

Agent Wallet

Create a dedicated Solana wallet for any AI agent with a single API call. Each wallet is isolated, named, and denominated in USDC, and it is ready to transact the moment it is provisioned.

Agent Wallet● Active
wal_7x2k...9f3a
$247.50
USDC · Solana Mainnet

Spending Policies

Define per-transaction limits, velocity caps, and expiry windows that are enforced directly by the on-chain program. There is no application layer that can bypass them.

max_per_tx$5.00
max_per_day$50.00
velocity_cap20 / hr
expiry2026-09-01

On-Chain Ledger

Every transaction is recorded on Solana mainnet. Immutable and publicly verifiable, with each entry linkable on Solscan so you and your auditors always have the full history.

Perplexity API query
-$2.50
OpenAI embeddings
-$0.80
Funded by operator
+$100.00

x402 Payments

Native support for the x402 payment protocol so agents can pay each other for services directly. Settlement is on-chain and completion is verified automatically, with no intermediaries involved.

Orchestrator
wa2lab3c...19e3
$5.00
Sub-agent
sa2lde3f...15a6
On-chain escrow · Verified · Settled

Operator Dashboard

Monitor balances, review spend history, and update policies across your account and every agent you have provisioned, all in one place.

Research Agent
$142.30
Procurement Bot
$89.00
Data Collector
$0.00

Scale your agent fleet without sacrificing visibility or compliance.

Every account. Every agent. One view.

See balances, spending, and policy status across every account and agent you manage, updated in real time. Every transaction links directly to Solscan so you and your auditors can verify the full history without relying on us.

OpaquePay private transactions

Spending rules live on-chain, not in your application.

Every agent wallet is bound to a spend policy when it is created. Those rules live on-chain and are checked by the OpaquePay Solana program before any transfer executes. An agent has no way to bypass them from application code, no matter how it is prompted or configured.

Explore Solana program
Policy: Low SpendingActive
max_per_tx
Max USDC per single transaction
$5.00
max_per_day
Rolling 24-hour spend ceiling
$50.00
velocity_cap
Max transactions per hour
20 / hr
require_co_sign
Operator co-sign above threshold
$100.00

Built for developers. A REST API with TypeScript and Python SDKs. Predictable, well-documented endpoints with sandbox support so you can build and test the full payment flow before touching mainnet.

Custom / REST API
Available
ElizaOS
Beta
Coinbase AgentKit
Beta
LangChain
Beta
OpenAI Agents SDK
Beta
const API_KEY = process.env.OPAQUEPAY_API_KEY;
const BASE = "https://api.opaquepay.xyz/v1";
const headers = {
  "Authorization": `Bearer ${API_KEY}`,
  "Content-Type": "application/json",
};

// Provision a wallet for an agent
const wallet = await fetch(`${BASE}/wallets`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    agent_id: "agent_research_v2",
    label: "Research Agent",
    policy_id: "pol_conservative",
  }),
}).then(r => r.json());

// Send a confidential payment
const tx = await fetch(`${BASE}/wallets/${wallet.wallet_id}/pay`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    to: "recipient_address_or_handle",
    amount: "2.50",
    currency: "USDC",
    memo: "Perplexity API query batch #8821",
    confidential: true,
  }),
}).then(r => r.json());