CascadePay

Payment splitting protocol for Solana

CascadePay is a non-custodial payment splitting protocol that automatically distributes incoming payments to multiple recipients based on pre-configured percentages.

graph LR A[100 USDC
Payment] --> B[CascadePay
Vault] B --> C[Platform
9 USDC] B --> D[Merchant
90 USDC] B --> E[Protocol
1 USDC]

Overview

The protocol accepts payments to a vault address and distributes funds to 2-20 recipients. A mandatory 1% protocol fee is enforced by the program. Designed for integration with x402 payment facilitators.

Key Properties

Fee Structure

Protocol fee: 1% (100 basis points)

Recipient shares must total exactly 99% (9,900 basis points)

Example Distribution

Payment: 100 USDC
├── Recipient A (90%):  90.00 USDC
├── Recipient B (9%):    9.00 USDC
└── Protocol (1%):       1.00 USDC

For x402 Facilitators

Auto-detect split vaults and bundle payment + distribution atomically:

import { detectSplitVault } from "@cascadepay/sdk";

// Detect if destination is a CascadePay vault
const result = await detectSplitVault(
  destination, connection, programId
);

if (result.isSplitVault) {
  // Bundle: user transfer + execute_split
  const tx = new Transaction()
    .add(transferInstruction)
    .add(executeSplitInstruction);

  // User signs once, both happen atomically
  await sendTransaction(tx);
}

Result: Seamless UX - user pays once, funds split instantly.

Core Instructions

Use Cases

Technical Details

Framework Anchor 0.32.1
Token Programs SPL Token, Token-2022
Recipients 2-20 per configuration
Protocol Fee 1% (enforced)
Native SOL Not supported (use wrapped SOL)

Deployment

Network: Solana Mainnet-Beta

Program ID: Bi1y2G3hteJwbeQk7QAW9Uk7Qq2h9bPbDYhPCKSuE2W2

Solscan: View on Solscan

NPM Package: npm install @cascadepay/sdk

Status: Live on mainnet. Unaudited - use at your own risk.