curl --request GET \
--url https://staging.apimonaco.xyz/api/v1/sweeper/deposits \
--header 'X-Monaco-Signature: <api-key>'import requests
url = "https://staging.apimonaco.xyz/api/v1/sweeper/deposits"
headers = {"X-Monaco-Signature": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Monaco-Signature': '<api-key>'}};
fetch('https://staging.apimonaco.xyz/api/v1/sweeper/deposits', 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://staging.apimonaco.xyz/api/v1/sweeper/deposits",
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-Monaco-Signature: <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://staging.apimonaco.xyz/api/v1/sweeper/deposits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Monaco-Signature", "<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://staging.apimonaco.xyz/api/v1/sweeper/deposits")
.header("X-Monaco-Signature", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.apimonaco.xyz/api/v1/sweeper/deposits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Monaco-Signature"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"deposits": [
{
"txHash": "<string>",
"sourceChainId": 8453,
"sourceDomain": 6,
"beneficiary": "<string>",
"clientId": "<string>",
"depositTarget": "SPOT",
"token": "<string>",
"amountRaw": "5000000",
"creditedAmountRaw": "4999000",
"feeChargedRaw": "1000",
"transferType": "FAST",
"status": "ATTESTING",
"failureReason": "REFUNDED",
"sweepTx": "<string>",
"settleTx": "<string>",
"attestedAt": "<string>",
"settledAt": "<string>",
"failedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"nextPageToken": "<string>"
}List the caller's sweeper deposits, newest first
The caller’s sweeper deposits, newest first.
Every transfer into one of the caller’s deposit addresses, on any
supported chain, as the same SweeperDeposit entries
get_sweeper_deposit_status returns — so a client that has lost a
deposit’s transaction hash can still find it and follow it. A swept CCTP
deposit is listed once, by its source-chain transfer: its hub mint is the
same deposit’s second leg, not a deposit of its own. A burn made straight
to the hub deposit address has no source-chain transfer to the address,
so it is listed by its hub mint.
Newest recorded first, walked by an opaque cursor: omit pageToken (or
send "") to start, then pass each response’s nextPageToken until it
comes back empty. A shorter page proves the end; the token is pinned to
this listing and position-only — the caller always comes from the session.
Authenticated: only deposits credited to the session’s own address.
curl --request GET \
--url https://staging.apimonaco.xyz/api/v1/sweeper/deposits \
--header 'X-Monaco-Signature: <api-key>'import requests
url = "https://staging.apimonaco.xyz/api/v1/sweeper/deposits"
headers = {"X-Monaco-Signature": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Monaco-Signature': '<api-key>'}};
fetch('https://staging.apimonaco.xyz/api/v1/sweeper/deposits', 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://staging.apimonaco.xyz/api/v1/sweeper/deposits",
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-Monaco-Signature: <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://staging.apimonaco.xyz/api/v1/sweeper/deposits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Monaco-Signature", "<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://staging.apimonaco.xyz/api/v1/sweeper/deposits")
.header("X-Monaco-Signature", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.apimonaco.xyz/api/v1/sweeper/deposits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Monaco-Signature"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"deposits": [
{
"txHash": "<string>",
"sourceChainId": 8453,
"sourceDomain": 6,
"beneficiary": "<string>",
"clientId": "<string>",
"depositTarget": "SPOT",
"token": "<string>",
"amountRaw": "5000000",
"creditedAmountRaw": "4999000",
"feeChargedRaw": "1000",
"transferType": "FAST",
"status": "ATTESTING",
"failureReason": "REFUNDED",
"sweepTx": "<string>",
"settleTx": "<string>",
"attestedAt": "<string>",
"settledAt": "<string>",
"failedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"nextPageToken": "<string>"
}Authorizations
Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.
Query Parameters
Items per page (max 100)
1 <= x <= 100Pagination cursor with two states:
- Omitted or empty string (""): start the walk from the newest deposit.
- Non-empty: an opaque cursor from a previous response's
next_page_token; results resume immediately after that position.
The walk seeks on (created_at, id) descending over the caller's
inflows, served by idx_sweeper_transfers_user_inflows. created_at is
when the sweeper recorded the deposit and id an insertion-ordered
identity, so the key is total and immutable.
Was this page helpful?

