Skip to main content

Yellow use case

Read the user-facing story first.

Protocol flow

Understand the full payment flow.

Hosted app

Open the live page.
These endpoints are real, but parts of the funding and closing behavior are still integration scaffolding rather than final on-chain settlement automation.

Endpoints

  • POST /api/v1/yellow/channel/create
  • POST /api/v1/yellow/channel/discover
  • POST /api/v1/yellow/channel/fund
  • POST /api/v1/yellow/channel/close
  • GET /api/v1/yellow/channel/:id/status
  • POST /api/v1/yellow/transfer
  • GET /api/v1/yellow/config

What each route is for

RouteCurrent role
channel/createCreate a stealth destination, bind a channel_id, and publish the discovery object.
channel/discoverScan announcements and return channel-linked discoveries.
channel/fundTest the funding API surface.
channel/closeTest the close API surface; current response includes placeholder semantics.
channel/:id/statusInspect current backend status for a channel id.
transferSimulate off-chain transfer state progression.
configRead the active Yellow websocket and contract config.

Example calls

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 .

Current implementation caveats

The close path is documented in the handler comments as not performing backend L1 submission.
Parts of the current fund and close output are synthetic or placeholder-style values for integration continuity.
The most concrete value here is the link between stealth discovery and channel discovery through channel_id announcements.

Source-backed references

  • Route wiring: specter/specter-api/src/routes.rs
  • Yellow handlers: specter/specter-api/src/handlers.rs
  • Yellow config defaults: specter/specter-api/src/state.rs
  • Yellow crate: specter/specter-yellow/src/