Yellow Private Channels
Private payments meet private trading
Stealth addresses are useful for one-time payments. But they become much more powerful when you attach them to ongoing financial relationships.
Yellow Network runs state channels for off-chain trading. SPECTER makes those channels private: the counterparty relationship is hidden behind stealth addresses.
The problem Yellow solves
Without SPECTER:
- Alice opens a channel with Bob
- On-chain observers see Alice and Bob are connected
- Trading patterns between them are visible
With SPECTER + Yellow:
- Alice resolves Bob's meta-address
- Alice derives a stealth address for Bob
- The channel is opened to that stealth address
- Bob discovers the channel through SPECTER's announcement system
- Observers see a channel to an unknown address
How it works
Alice initiates
Alice enters Bob's ENS name or meta-address and chooses a token/amount.
SPECTER creates a private destination
The backend derives a stealth address for Bob and creates an announcement with a channel_id linking it to the Yellow channel.
Channel opens to stealth address
The Yellow channel is bound to the stealth address instead of Bob's public identity.
Bob discovers the channel
Bob scans announcements with his SPECTER keys and finds the channel-linked discovery. He now has the stealth private key and the channel metadata.
Off-chain trading
Alice and Bob trade off-chain through the state channel. Settlement goes to the stealth address.

API flow
Create a channel
curl -s -X POST https://backend.specterpq.com/api/v1/yellow/channel/create \
-H "Content-Type: application/json" \
-d '{
"recipient": "bob.eth",
"token": "USDC",
"amount": "1000"
}' | jq .
Discover incoming channels
curl -s -X POST https://backend.specterpq.com/api/v1/yellow/channel/discover \
-H "Content-Type: application/json" \
-d '{
"viewing_sk": "<HEX>",
"spending_pk": "<HEX>",
"spending_sk": "<HEX>"
}' | jq .
Full endpoint table
| Endpoint | Status | What it does |
|---|---|---|
POST /yellow/channel/create | Live | Derives stealth address, creates announcement with channel_id |
POST /yellow/channel/discover | Live | Scans for channel-linked announcements |
GET /yellow/config | Live | Returns WebSocket and contract configuration |
POST /yellow/channel/fund | Scaffold | API shape exists, simplified response |
POST /yellow/channel/close | Scaffold | Returns placeholder close output |
GET /yellow/channel/:id/status | Live | Channel status lookup |
The fund and close endpoints currently return placeholder-style fields. They demonstrate the integration surface but don't submit real L1 settlement transactions. Treat them as integration scaffolding.
Why this matters
Most privacy protocols stop at payments. SPECTER extends privacy into ongoing financial relationships. Stealth addresses aren't just a one-time trick. They're a coordination primitive that can hide counterparty identity in channels, recurring payments, and multi-party setups.
Yellow is the first integration that demonstrates this, with real API endpoints you can test today.