List transactions
curl --request GET \
--url https://aropay.aro.media/api/v1/transactions \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://aropay.aro.media/api/v1/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://aropay.aro.media/api/v1/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"data": {
"items": [
{
"id": "cktxn0001abcd",
"type": "FUND",
"status": "QUEUED",
"chainId": 11155111,
"amount": "<string>",
"token": "<string>",
"txHash": "<string>",
"settlementTxHash": "<string>",
"explorerUrl": "<string>",
"fromAddress": "<string>",
"toAddress": "<string>",
"counterparty": "<string>",
"walletId": "<string>",
"error": "<string>",
"errorCode": "insufficient_stable",
"metadata": "<unknown>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"page": 123,
"pageSize": 123,
"total": 123
}
}{
"ok": false,
"error": {
"code": "validation_error",
"message": "Request validation failed.",
"details": [
{
"path": "amount",
"message": "Required"
}
]
}
}{
"ok": false,
"error": {
"code": "invalid_api_key",
"message": "Invalid API key."
}
}{
"ok": false,
"error": {
"code": "account_disabled",
"message": "This account is disabled."
}
}{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Too many requests. Try again shortly."
}
}{
"ok": false,
"error": {
"code": "internal_error",
"message": "An unexpected error occurred."
}
}Transactions
List transactions
Paginated transaction history, newest first. A pure database read: it
reflects the background worker’s progress and never touches the chain.
Filter by status to batch-poll in-flight rows (QUEUED, PENDING,
SETTLING) instead of polling each transaction individually.
GET
/
transactions
List transactions
curl --request GET \
--url https://aropay.aro.media/api/v1/transactions \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://aropay.aro.media/api/v1/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://aropay.aro.media/api/v1/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"ok": true,
"data": {
"items": [
{
"id": "cktxn0001abcd",
"type": "FUND",
"status": "QUEUED",
"chainId": 11155111,
"amount": "<string>",
"token": "<string>",
"txHash": "<string>",
"settlementTxHash": "<string>",
"explorerUrl": "<string>",
"fromAddress": "<string>",
"toAddress": "<string>",
"counterparty": "<string>",
"walletId": "<string>",
"error": "<string>",
"errorCode": "insufficient_stable",
"metadata": "<unknown>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"page": 123,
"pageSize": 123,
"total": 123
}
}{
"ok": false,
"error": {
"code": "validation_error",
"message": "Request validation failed.",
"details": [
{
"path": "amount",
"message": "Required"
}
]
}
}{
"ok": false,
"error": {
"code": "invalid_api_key",
"message": "Invalid API key."
}
}{
"ok": false,
"error": {
"code": "account_disabled",
"message": "This account is disabled."
}
}{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Too many requests. Try again shortly."
}
}{
"ok": false,
"error": {
"code": "internal_error",
"message": "An unexpected error occurred."
}
}Authorizations
apiKeyAuthsessionCookie
AroPay API key, sent as Authorization: Bearer aro_sk_…. Created in
the dashboard under Settings → API keys. Takes precedence over a
session cookie when both are present.
Query Parameters
Required range:
x >= 1Required range:
1 <= x <= 100Filter by transaction type.
Available options:
FUND, MINT, TRANSFER, PRIVATE_TRANSFER, REDEEM, LETTER_ESCROW, LETTER_CLAIM, LETTER_REFUND Filter by status.
Lifecycle of a money-movement transaction, executed by the background
worker after the POST returns:
QUEUED: accepted and recorded; nothing submitted yet (txHash: null).PENDING: primary transaction broadcast (txHashset); awaiting the receipt.CONFIRMED: receipt success. Terminal for every type exceptREDEEM.SETTLING: redeem burn confirmed; operator payout in progress.SETTLED: redeem payout confirmed (settlementTxHashset). Terminal.FAILED: pre-flight rejection or on-chain revert; nothing moved on-chain. Terminal.erroranderrorCodeare set.
Poll until the status is in the terminal set (CONFIRMED, SETTLED,
FAILED) and treat unknown values as in flight.
Available options:
QUEUED, PENDING, CONFIRMED, SETTLING, SETTLED, FAILED Filter to one wallet.