curl --request GET \
--url https://public-api-v2.bags.fm/api/v1/bags-payout/feed \
--header 'x-api-key: <api-key>'import requests
url = "https://public-api-v2.bags.fm/api/v1/bags-payout/feed"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://public-api-v2.bags.fm/api/v1/bags-payout/feed', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://public-api-v2.bags.fm/api/v1/bags-payout/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://public-api-v2.bags.fm/api/v1/bags-payout/feed"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public-api-v2.bags.fm/api/v1/bags-payout/feed")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api-v2.bags.fm/api/v1/bags-payout/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"response": {
"events": [
{
"paymentId": "0x8f3c2b7e1d4a5f6e9c0b1a2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f",
"payoutId": "6720f1c2a9b3e45d7f8a1b2c",
"tokenMint": "CyXBDcVQuHyEDbG661Jf3iHqxyd9wNHhE2SiQdNrBAGS",
"cashoutMethod": "venmo",
"username": "rebeccaperrotto",
"displayHandle": "@rebeccaperrotto",
"amountUsd": 786.04,
"fiatPaidCents": "78604",
"usdcAmount": "45746116",
"usdcDecimals": 6,
"discountBps": 1000,
"timestamp": 1794040000,
"isFirstPayment": true,
"token": {
"name": "Rebecca",
"symbol": "BECCA",
"image": "https://example.com/token.png"
}
}
],
"hasMore": true,
"nextCursor": "<string>"
}
}{
"success": false,
"response": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"response": "<string>"
}{
"success": false,
"response": "<string>"
}Get Bags Payout Feed
The feed of Bags payout payments across all tokens.
An event is one completed end-to-end send: a Peer fill the buyer paid and that was released with verified cash. Claims, bridges, listed or open orders, and pending or pruned fills never appear, and one payout can hold several events, one per buyer. Only X Money payments are returned unless method says otherwise.
With sort=time (default), events are ordered newest first; page backwards by passing the last event’s timestamp as before. With sort=amount, events are ordered by cash paid (USD) descending; page by passing the response’s nextCursor back as cursor. hasMore reports whether more events exist.
curl --request GET \
--url https://public-api-v2.bags.fm/api/v1/bags-payout/feed \
--header 'x-api-key: <api-key>'import requests
url = "https://public-api-v2.bags.fm/api/v1/bags-payout/feed"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://public-api-v2.bags.fm/api/v1/bags-payout/feed', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://public-api-v2.bags.fm/api/v1/bags-payout/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://public-api-v2.bags.fm/api/v1/bags-payout/feed"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public-api-v2.bags.fm/api/v1/bags-payout/feed")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api-v2.bags.fm/api/v1/bags-payout/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"response": {
"events": [
{
"paymentId": "0x8f3c2b7e1d4a5f6e9c0b1a2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f",
"payoutId": "6720f1c2a9b3e45d7f8a1b2c",
"tokenMint": "CyXBDcVQuHyEDbG661Jf3iHqxyd9wNHhE2SiQdNrBAGS",
"cashoutMethod": "venmo",
"username": "rebeccaperrotto",
"displayHandle": "@rebeccaperrotto",
"amountUsd": 786.04,
"fiatPaidCents": "78604",
"usdcAmount": "45746116",
"usdcDecimals": 6,
"discountBps": 1000,
"timestamp": 1794040000,
"isFirstPayment": true,
"token": {
"name": "Rebecca",
"symbol": "BECCA",
"image": "https://example.com/token.png"
}
}
],
"hasMore": true,
"nextCursor": "<string>"
}
}{
"success": false,
"response": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"response": "<string>"
}{
"success": false,
"response": "<string>"
}Authorizations
API key authentication. Provide your API key as the header value.
Query Parameters
Maximum number of events to return (1 to 100, default 100)
1 <= x <= 100Sort order: time orders by payment time, newest first (default); amount by cash paid in USD, largest first
time, amount Unix timestamp in seconds. Returns only events older than this, for paging with sort=time. Rejected with 400 when sort=amount
x >= 1Opaque page cursor for sort=amount, taken from the previous response's nextCursor. Rejected with 400 when sort=time, or when it is not a well-formed cursor
4096Lower bound (inclusive) on the cash paid, in USD cents
x >= 1Upper bound (inclusive) on the cash paid, in USD cents. Must be at least minAmountCents
x >= 1Return only each handle's first payment per token
true, false Payout method: xmoney (default), cashapp, venmo or all
Payout method to return events for: xmoney (default), cashapp, venmo, or all for every method.
xmoney, cashapp, venmo, all 