Permissionless payout protocol on Solana

Your order
is free.

Add about 1% at checkout. Sometimes the receipt ends on 0.00. The odds are on-chain, the bank is shared, and the merchant is paid in full.

  • 1 order in 100, free
  • Half price, 1 in 50
  • Your swap, won back
  • 10x cashback

Three seconds,
three steps.

  1. 01

    Tick the box

    The ticket rides with the payment. One signature, no account.

  2. 02

    The draw

    A verifiable oracle, on a block that did not exist when you paid.

  3. 03

    Paid in full

    The winner gets the order back. The shared bank pays, not the shop.

For merchants and apps

Every order can come back free.

Paid in full, every time. The vault pays the winner, never the shop.

Your share, 0 to 5%. Zero for a promotion, a few percent to earn on every ticket.

Your offer. The order free, half price or 10% off: pick the odds, Fade checks the math.

One call. No capital, no deposit, no registration.

Order
Payout

Ticket

1.05 USDC

If you win

+101.05

Example with the merchant's share at 2%. Try it for real at app.fade.finance.

For liquidity providers

Every ticket pays the bank.

At least 1% of every ticket, from every app at once. Move the volume and see the arithmetic.

Monthly volume, for a 1M USDC bank

24%APR

On average at the 1% floor. Worked example, not a forecast: returns follow volume and the luck of the draws.

For builders

One call opens a payout.

A program, a server or a wallet. Up to 32 outcomes, checked on-chain before any money moves.

Quickstart
const ticket = await getOpenTicketInstructionAsync({
  ...accounts,
  price: 1_000_000n, // 1 USDC
  payoutTable: [
    { p: 96_500_000n, m: 100_000n }, // 10x, 9.65%
    { p: 903_500_000n, m: 0n },
  ],
  appShareBps: 0n,
  nonce, // the app's next ticket number
});

// One transaction, one approval for the user.
// payment: your existing transfer
await send(user, [payment, ticket]);
No Fade SDK to install. One instruction, built from the public IDL with any Solana client, joins the transaction you already send, or your program calls it over CPI.

Payments are programmable.
Payouts should be too.

Try Fade now