Skip to main content
A token’s creator fees normally accrue in SOL to the wallets in its fee-share config. With Bags Payouts, they are paid out as cash instead. You name the Bags payout wallet as the token’s only fee claimer and save a payout handle, such as an X account for X Money. From then on Bags claims the fees, converts them, and sends them to that account. This guide walks through it for X Money; Cash App and Venmo work the same way.

How it works

  1. You launch the token with the Bags payout wallet as its only fee claimer (100%) and a payoutCashout handle, for example { "method": "xmoney", "username": "@creator" }.
  2. Every few minutes the payout wallet claims the token’s fees once they reach at least 0.25 SOL.
  3. The claimed SOL is converted to USDC, and once a batch is worth at least 5 USDC it is listed on Peer as a cash order with the handle as the payee.
  4. A Peer buyer sends the cash to the handle (for example through X Money), proves the payment, and receives the USDC. The account owner receives the cash directly from the buyer.
Every step is recorded and readable through the public payout endpoints.
The Bags payout wallet is PAY9yjtc5nkuQL3yFd6yV3M1WoX7uNfFMAQdB9tHjSR. Use it as the only entry in claimersArray, with 10000 in basisPointsArray. Never make it the fee-share manager (admin): it does not sign manager transactions, and the API refuses it.

What the account owner receives

  • Conversion costs: converting SOL to USDC costs about 0.5–0.7% plus a few cents, and comes out of the payout.
  • Discount: to get orders filled quickly, an order is offered 10% below the market rate from listing, and 20% below once it is 24 hours old. At 10% the account receives $0.90 per USDC listed. The current discount of every order is public (order.discountBps).
  • Network fees: paid by Bags, never deducted from the payout.

Choosing the handle

Peer cannot check whether an X account has X Money enabled. A handle that cannot receive X Money produces an order no buyer can fill. Make sure the account can receive X Money before launching. X Money also has fewer buyers than Cash App, so its orders can take longer to fill.

Prerequisites

1. Create the fee-share config with a payout handle

Call Create Fee Share Config with the payout wallet as the only claimer and the handle in payoutCashout. The launch wallet pays for the config and is its fee-share manager.
The handle is validated and saved before any transaction is returned, so a typo fails fast with 400. The API saves the handle as entered (@Creator) and matches it case-insensitively for X.

2. Launch the token

Continue exactly as in Launch a Token, using the config key from step 1:
Nothing else is needed: the payout wallet starts claiming once trading fees reach the threshold.
The deployer share (25% of the claimers pool on new SOL configs) still goes to the payer as SOL. Only the remaining claimers pool, the payout wallet’s 100%, is paid out as cash.

Track payouts

All payout reads are public and need only your API key.
A payout moves through pending → bridging → bridged → listing → awaiting_buyer → matched → partially_paid / paid. fiatPaidCents is the verified cash paid to the handle so far; order.discountBps is the order’s current discount.

Change the handle later

The token’s fee-share manager can switch the handle at any time with POST /bags-payout/token/cashout:
Fees already claimed stay with the handle that was current when they were claimed; only later claims go to the new handle.

Troubleshooting