Product Manual
Create drafts fast. Approve payments carefully.
CipherPay is built for teams that want a cleaner payout workflow. Prepare payments by hand, from a CSV, from recurring payables, or from an AI agent, then approve the final send with the connected wallet.
Start Here
CipherPay gives you one place to prepare, review, and approve payouts on Solana. It is useful when you want private payment flows, a clear approval step, and a record of what was drafted and sent.
The product is organized around four entry points: `Pay` for one-off sends, `Bulk pay` for roster-style batches, `Payables` for recurring recipients, and `Agent Pay` for drafts created by an AI client.
How It Works
Every payout follows the same path. First you create a draft. CipherPay then checks the rows, shows you the totals, and waits for a wallet approval before anything is sent.
This separation matters. Draft creation can come from a person, a CSV upload, or an AI agent, but the send step always comes back to the app and the connected wallet.
01
Create
02
Check
03
Approve
04
Track
Send One Payment
Use `Pay` when you are sending to one recipient. Add a name, wallet, and amount, then review the draft before sending. The page keeps the flow focused so you can move quickly without losing the approval step.
This is the best path for ad hoc contractor payments, one-time reimbursements, or testing a payout before running a larger batch.
Send Many
Use `Bulk pay` when you already have a list of recipients. Paste or upload a CSV, let CipherPay validate the rows, then approve the batch from one place.
The expected CSV format is:
recipient_name,wallet_address,amount
Ava Patel,9B3Y2dXhN6LQW8dyL5o6z8UZqv2q1X3dQ5bTA2sQkz4J,0.01Bulk pay is the right choice for payroll-style runs, monthly vendor batches, or any situation where you want one review surface for many rows.
Recurring Payables
Use `Payables` to maintain a live list of recurring recipients. Each payable stores the recipient, wallet, amount, cadence, and next due date so you do not need to rebuild the same payout list every cycle.
When a payable comes due, select it and turn it into a normal bulk draft. From that point on, the approval flow is the same as any other batch.
AI Drafts
`Agent Pay` is for teams that want an AI client to prepare work without giving it control over execution. The AI can assemble a real CipherPay draft, but it cannot move funds on its own.
The setup is simple: run the local MCP server, give it a token, and point your AI client at CipherPay. Once connected, the agent can create drafts that appear in the app for review.
Generate a token:
openssl rand -hex 32Add that value to `web/.env.local` as `MCP_API_TOKEN`, then restart the app so the local MCP bridge can authorize draft creation.
MCP_API_TOKEN=replace-with-your-32+char-random-secretIn your MCP client config, set `CIPHERPAY_MCP_TOKEN` to the same value.
{
"mcpServers": {
"cipherpay": {
"command": "pnpm",
"args": ["--dir", "<path-to-cipherpay-repo>/web", "mcp:cipherpay"],
"env": {
"CIPHERPAY_APP_URL": "http://localhost:3000",
"CIPHERPAY_MCP_TOKEN": "<same-value-as-MCP_API_TOKEN>",
"CIPHERPAY_WALLET_ADDRESS": "your-signed-in-funding-wallet"
}
}
}
}Example instruction for an AI client:
Create a CipherPay draft:
Pay Northline Studio 0.018 SOL to GW91mC6M7xTnN4aMvQq5jQ9nG2L3w4LfA1uQw8fLm9rA for invoice INV-1042.The agent can parse instructions, build rows, and create payout drafts. Those drafts are listed inside CipherPay and can be opened directly for review.
This works well for finance ops teams that want to describe payouts in plain language and still keep the actual send step inside a normal wallet approval flow.
Approvals and Control
CipherPay is designed so preparation and approval stay separate. Drafts can come from multiple sources, but execution still requires the connected wallet inside the app.
The MCP server cannot sign transactions or bypass approval. It can only create drafts for a wallet that has already signed into CipherPay once.