@
Pay on @
Colosseum Frontier Hackathon · Solana

Pay anyone.
Just their @.

Send SOL or USDC to any X/Twitter, Instagram, or WhatsApp handle. The recipient claims with one tap — no wallet required.

0.5%

Protocol fee

7 days

Claim window

100%

Non-custodial

0

Addresses needed

vault created@v****k𝕏 · 5 SOL
claimed@a****eIG · 100 USDC
vault created@m****sWA · 50 USDC
claimed@j****k𝕏 · 25 SOL
vault created@p****oIG · 200 USDC
claimed@r****n𝕏 · 10 USDC
vault created@c****aWA · 75 USDC
refunded@t****y𝕏 · 1 SOL
vault created@v****k𝕏 · 5 SOL
claimed@a****eIG · 100 USDC
vault created@m****sWA · 50 USDC
claimed@j****k𝕏 · 25 SOL
vault created@p****oIG · 200 USDC
claimed@r****n𝕏 · 10 USDC
vault created@c****aWA · 75 USDC
refunded@t****y𝕏 · 1 SOL

Powered by

Solana

Blockchain Layer

Anchor

On-chain Programs

Privy

Embedded Wallets

Jupiter

Swap Routing

Helius

RPC & Webhooks

Kamino

Yield (roadmap)

Cloak

Privacy Layer

How it works

Four steps. Zero addresses.

The sender doesn't need the recipient's wallet. The recipient doesn't need a wallet at all.

Sender

Sends 100 USDC → @alice

Vault Program

Escrow PDA created

@alice

Receives claim link

OAuth Verify

Identity confirmed

Funds Released

100 USDC → @alice wallet

01

Type a @handle

Enter any X/Twitter, Instagram or WhatsApp handle. No wallet address needed — just the social identity.

02

Vault created on-chain

The Vault Program on Solana creates a PaymentVault PDA with 7-day expiry. The handle is stored as SHA-256 hash — zero personal data on-chain.

03

Share the claim link

Recipient gets a link — via DM, email, or any channel. They don't need a wallet or even know anything about crypto.

04

Claim via OAuth

Recipient logs in with their social account. The program verifies the handle hash and releases funds directly to their embedded wallet.

Use cases

Everything in a @

From P2P to enterprise payroll. From AI agents to global remittances.

👤
Consumer

P2P Payments

Pay friends, split bills, tip creators — just type their @handle. No wallet address, no copy-paste errors.

💼
Business

Payroll & Teams

Pay contributors by their Twitter or WhatsApp. Automated vaults, weekly or monthly cadence.

🌍
Global

Cross-border

Send to anyone in the world. Off-ramp to local currency via PIX (Brazil), M-Pesa, and more on the roadmap.

🤖
Developers

AI Agents

One SDK function call. Let AI agents send payments without managing wallet addresses or complex signing flows.

📈
DeFi

Yield on Escrow

Funds in pending vaults earn yield via Kamino Finance. Value accrues to the recipient while they sleep.

🔒
Privacy

Private Transfers

Optional Cloak relay mode shields the sender-recipient link on-chain. No trace on explorer.

Developers

One integration.
Every dApp.

The Pay on @ SDK is the simplest way to add handle-based payments to any Solana app. Three lines to send, one line for AI agents.

npm install @pay-on-handle/sdk

Zero peer dependencies. Works with any Solana stack.

Full TypeScript support

Typed API, Anchor IDL types, and React hooks included.

AI-native design

One-function API for tool-calling agents. Claude, GPT-4, Gemini ready.

import { PayOnHandle } from "@pay-on-handle/sdk";

// Initialize with your Solana connection
const protocol = new PayOnHandle(connection);

// Send to any social handle — 3 lines
const { claimUrl } = await protocol.send(
  "@alice",       // any X, Instagram or WhatsApp
  100,            // amount
  "USDC"          // SOL or USDC
);

// Share the link — recipient claims with their login
console.log(claimUrl);
// → "https://payonhandle.com/claim/4aXb9..."

Security model

Non-custodial.
Zero compromise.

The protocol never holds your funds. Everything is managed by auditable smart contracts on Solana — the code is the law, not the company.

01

Handles stored as hashes

The recipient's @handle is SHA-256 hashed before going on-chain. Zero identity data exposed on the blockchain.

02

Unique state transitions

A vault goes Pending → Claimed OR Refunded. Once claimed, it's immutable. Double-claim is protocol-level impossible.

03

Verified arithmetic

Every calculation uses checked_add, checked_sub, checked_mul. Zero overflow/underflow risk in the Solana programs.

View source on GitHub

Threat Model

Vault Program · Anchor 0.32

Audited
Wrong recipient claimSHA-256 hash verified on-chain
Double claimState: Pending → Claimed (immutable)
Sender griefingRefund only after expiry
Fee manipulationfee_bps in PDA, authority only
Arithmetic overflowchecked_add / checked_sub / checked_mul
Re-initializationinit constraint, never init_if_needed
Arbitrary CPIProgram<'info, T> validated
PDA substitutionSeeds: sender + nonce

Non-custodial

Funds live in a PDA controlled by the program — never in a company account.

Auto-refund

After 7 days with no claim, anyone can trigger the refund. Sender recovers everything.

On-chain privacy

Handles are SHA-256 hashed. No username or personal data stored on Solana.

Open source

Programs, SDK, and frontend are public and auditable. Zero proprietary hidden code.

Protocol

Three programs. One protocol.

Pay on @ is built on three independent Anchor programs with well-defined responsibilities. Each can be audited and upgraded independently.

Maps (platform, hash(handle)) → wallet. Verified handles are registered here after OAuth proof.

Manages escrow PaymentVaults with create, claim, and refund instructions. Fee collected at creation.

Fee CollectorCxMBNw…SG6s

Accumulates 0.5% from each transfer. Authority can withdraw SOL and SPL tokens.

0

Vaults created

0 SOL

SOL in escrow

0%

Claim rate

0

Social platforms

Frequently asked

Everything you need to know about the protocol.

Who holds the funds during escrow?
What if the recipient never claims?
Which social platforms are supported?
Does the recipient need a crypto wallet?
Is the handle visible on-chain?
Can I use my own Solana wallet?

Ready to pay with
just a @?

No wallet addresses. No KYC. No friction. Just a handle and a value.

Powered by Solana · 0.5% fee · Non-custodial · Open source