Skip to main content

Endpoint

GET
Retrieve user transaction history including deposits, withdrawals, staking, loans, and trades.

Query Parameters

page
number
default:"1"
The page number for pagination. Each page returns up to 10 transactions.
size
number
default:"10"
Number of transactions to return per page.
statuses
string[]
Filter by transaction status. Can be provided multiple times for multiple statuses.Allowed values: ACTIVE, COMPLETED, CANCELEDExample: ?statuses=ACTIVE&statuses=COMPLETED
fullTypes
string[]
Filter by transaction type. Can be provided multiple times for multiple types.Allowed values:
  • DEPOSIT% - All deposit types
  • WITHDRAWAL% - All withdrawal types
  • STAKING% - Staking operations
  • TRADE.CONVERSION% - Currency conversion/swap operations
  • TRADE% - All trade types
  • LOAN% - Loan operations
Example: ?fullTypes=DEPOSIT%&fullTypes=STAKING%

Response

The API returns an array of activity data objects. Each transaction has a base operation object and type-specific fields.
data
ActivityData[]
Array of transaction objects. The structure varies based on the transaction type.
status
number
HTTP status code of the response.

Common Operation Fields

All transaction types include an operation object with these fields:
operation.id
string
Unique identifier for the operation.
operation.creatorId
string
ID of the user who created the operation.
operation.ownerId
string
ID of the user who owns the operation.
operation.openedAt
string
ISO 8601 timestamp when the operation was opened.
operation.updatedAt
string
ISO 8601 timestamp when the operation was last updated.
operation.closedAt
string | null
ISO 8601 timestamp when the operation was closed, or null if still open.
operation.status
string
Current status of the operation: ACTIVE, COMPLETED, or CANCELED.
operation.type
string
The operation type: DEPOSIT, WITHDRAWAL, STAKING, TRADE, LOAN, TRANSFER.
operation.fullType
string
Detailed operation type including subtype. Examples: DEPOSIT.ADMIN, WITHDRAWAL.CRYPTO, TRADE.CONVERSION.

Transaction Types

The Activity API returns different data structures based on the transaction type. Each type includes the common operation fields plus type-specific data.

Admin Operations (Deposits/Withdrawals)

Admin-approved deposits and withdrawals include approval workflow information.
type
'ADMIN'
Identifies this as an admin operation.
currencyId
string
Currency identifier (e.g., USDT, BTC, ETH).
amount
string
Gross amount of the transaction.
netAmount
string
Net amount after fees.
feeAmount
string
Fee charged for the transaction.
grossAmount
string
Total gross amount.
senderId
string
ID of the sender (for withdrawals).
receiverId
string
ID of the receiver (for deposits).
approverId
string | null
ID of the admin who approved/rejected the operation.
approvalState
string
Approval status: APPROVED or REJECTED.
currency
Currency
Currency metadata object.

Crypto Operations

Blockchain deposits and withdrawals with network information.
type
'CRYPTO'
Identifies this as a crypto blockchain operation.
currencyId
string
Cryptocurrency identifier.
amount
string
Transaction amount.
netAmount
string
Net amount after network fees.
feeAmount
string
Network fee amount.
networkId
string
Blockchain network identifier.
network
Network
Blockchain network details.
address
string
Wallet address for the transaction.
addressURL
string
Block explorer URL for the address.
dstAddress
string
Destination address (for withdrawals).
dstAddressURL
string
Block explorer URL for destination address.
srcAddress
string
Source address (for deposits).
srcAddressURL
string
Block explorer URL for source address.
transactionHash
string | null
Blockchain transaction hash.
transactionHashURL
string | null
Block explorer URL for the transaction.

Staking Operations

Staking positions with yield calculations.
typeId
string
Staking product identifier (e.g., ADA_180DAY, ETH_FLEX).
startsAt
string
ISO 8601 timestamp when staking period starts.
redeemableAt
string | null
ISO 8601 timestamp when stake becomes redeemable. Null for flexible staking.
initialAmount
string
Initial staked amount.
initialAPY
string
Annual percentage yield at time of staking.
amount
string
Current staked amount.
yield
string
Yield earned to date.
estRedeemYield
string
Estimated total yield at redemption.
apy
string
Current annual percentage yield.
type
StakingType
Staking product configuration.

Convert/Trade Operations

Currency conversion and trading operations.
operationId
string
Operation identifier.
groupId
string
Trade group identifier (e.g., CONVERT).
baseId
string
Base currency identifier.
quoteId
string
Quote currency identifier.
type
string
Order type: MARKET or LIMIT.
side
string
Order side: BUY or SELL.
status
string
Order status: FILLED, PARTIAL, CANCELED, etc.
size
string
Order size.
filledSize
string
Amount filled.
avgPrice
string | null
Average fill price.
limitPrice
string | null
Limit price (for limit orders).
creditCurrencyID
string
Currency being credited.
debitCurrencyID
string
Currency being debited.
creditAmount
string
Gross amount credited.
netCreditAmount
string
Net amount credited after fees.
grossCreditAmount
string
Total gross credit amount.
debitAmount
string
Amount debited.
feeAmount
string
Trading fee charged.
makerFeePercent
string
Maker fee percentage.
takerFeePercent
string
Taker fee percentage.
execType
string
Execution type: IMMEDIATE, POST_ONLY, etc.
liquidityProviderType
string
Liquidity provider (e.g., OKX).
lastFilledAt
string | null
ISO 8601 timestamp of last fill.

Loan Operations

Collateralized loan positions.
typeId
string
Loan product identifier.
sizeCurrencyId
string
Currency of the loan.
collatCurrencyId
string
Currency used as collateral.
status
string
Loan status.
size
string
Loan amount.
collat
string
Current collateral amount.
repayed
string
Amount repaid.
debt
string
Remaining debt including interest.
interest
string
Accrued interest.
ratio
string
Current collateralization ratio.
liqPrice
string
Liquidation price.
apr
string
Current annual percentage rate.
tierNum
number
Current interest tier.
minCollat
string
Minimum collateral required.
initialAPR
string
APR at loan origination.
initialRatio
string
Initial collateralization ratio.
initialSize
string
Initial loan size.
initialCollat
string
Initial collateral amount.
initialDebt
string
Initial debt amount.
origFee
string
Origination fee.
forcedLiq
boolean
Whether the loan was force-liquidated.
tiers
Tier[]
Interest rate tiers.
lastUpdate
LoanUpdate
Most recent loan update.

Transfer Operations

Internal platform transfers between users.
type
'TRANSFER'
Identifies this as an internal transfer.
currencyId
string
Currency identifier.
amount
string
Transfer amount.
netAmount
string
Net amount after fees.
feeAmount
string
Transfer fee.
grossAmount
string
Gross transfer amount.
senderId
string
ID of the sender.
receiverId
string
ID of the receiver.
receiver
string
Receiver username or identifier.

Examples

Get All Transactions (First Page)

GET /activity?page=1&size=10

Filter by Status

Get only completed transactions:
GET /activity?page=1&size=10&statuses=COMPLETED
Get active and completed transactions:
GET /activity?page=1&size=10&statuses=ACTIVE&statuses=COMPLETED

Filter by Transaction Type

Get only deposits:
GET /activity?page=1&size=10&fullTypes=DEPOSIT%
Get staking and deposits:
GET /activity?page=1&size=10&fullTypes=STAKING%&fullTypes=DEPOSIT%

Combine Filters

Get completed deposits and withdrawals:
GET /activity?page=1&size=10&statuses=COMPLETED&fullTypes=DEPOSIT%&fullTypes=WITHDRAWAL%

Response Example: Admin Deposit

{
  "data": [
    {
      "type": "ADMIN",
      "id": "a23339c3-89ec-4c0c-b9a4-745619eae679",
      "currencyId": "USDT",
      "amount": "10",
      "netAmount": "10",
      "feeAmount": "0",
      "grossAmount": "10",
      "receiverId": "79f970d7-3b2f-492c-a358-6c1f1c2fd429",
      "approverId": "b285cab6-8038-44f4-85e9-39215b1eed18",
      "approvalState": "APPROVED",
      "operation": {
        "id": "80f00687-0de3-413f-b4c6-0385400b3dc0",
        "creatorId": "b285cab6-8038-44f4-85e9-39215b1eed18",
        "ownerId": "79f970d7-3b2f-492c-a358-6c1f1c2fd429",
        "openedAt": "2026-01-14T15:22:37.751081Z",
        "updatedAt": "2026-01-14T15:23:02.770695Z",
        "closedAt": "2026-01-14T15:23:02.770695Z",
        "status": "COMPLETED",
        "type": "DEPOSIT",
        "fullType": "DEPOSIT.ADMIN"
      },
      "currency": {
        "id": "USDT",
        "name": "Tether",
        "decimals": 2,
        "allowTransfers": true,
        "disabled": false,
        "priority": 3
      }
    }
  ],
  "status": 200
}

Response Example: Staking

{
  "data": [
    {
      "typeId": "ADA_180DAY",
      "startsAt": "2026-01-21T00:00:00Z",
      "redeemableAt": "2026-07-20T00:00:00Z",
      "initialAmount": "1",
      "initialAPY": "0.04",
      "amount": "1",
      "yield": "0",
      "estRedeemYield": "0.01952998",
      "apy": "0.04",
      "operation": {
        "id": "1147d03d-2384-4981-b133-61ad352f59ec",
        "creatorId": "79f970d7-3b2f-492c-a358-6c1f1c2fd429",
        "ownerId": "79f970d7-3b2f-492c-a358-6c1f1c2fd429",
        "openedAt": "2026-01-20T18:49:11.428971Z",
        "updatedAt": "2026-01-20T18:49:11.428971Z",
        "closedAt": null,
        "status": "ACTIVE",
        "type": "STAKING",
        "fullType": "STAKING"
      },
      "type": {
        "id": "ADA_180DAY",
        "currencyId": "ADA",
        "mode": "FIXED",
        "durationDays": 180,
        "apy": "0.04",
        "minAmount": "0"
      }
    }
  ],
  "status": 200
}

Response Example: Trade/Conversion

{
  "data": [
    {
      "operationId": "e79a12b9-0981-439f-8a49-a1e226b89516",
      "groupId": "CONVERT",
      "baseId": "USDC",
      "quoteId": "USDT",
      "limitPrice": null,
      "type": "MARKET",
      "side": "BUY",
      "status": "FILLED",
      "size": "20",
      "filledSize": "19.984012",
      "avgPrice": "1.0008",
      "lastFilledAt": "2026-01-09T14:40:23.906478Z",
      "creditCurrencyID": "USDC",
      "debitCurrencyID": "USDT",
      "creditAmount": "19.914067958",
      "netCreditAmount": "19.914067958",
      "grossCreditAmount": "19.984012",
      "debitAmount": "19.9999992096",
      "feeAmount": "0.069944042",
      "makerFeePercent": "0.0035",
      "takerFeePercent": "0.0035",
      "execType": "IMMEDIATE",
      "liquidityProviderType": "OKX",
      "operation": {
        "id": "e79a12b9-0981-439f-8a49-a1e226b89516",
        "creatorId": "79f970d7-3b2f-492c-a358-6c1f1c2fd429",
        "ownerId": "79f970d7-3b2f-492c-a358-6c1f1c2fd429",
        "openedAt": "2026-01-09T14:40:23.508926Z",
        "updatedAt": "2026-01-09T14:40:23.906478Z",
        "closedAt": "2026-01-09T14:40:23.906478Z",
        "status": "COMPLETED",
        "type": "TRADE",
        "fullType": "TRADE.CONVERSION"
      }
    }
  ],
  "status": 200
}

Pagination

The Activity API uses offset-based pagination:
  • Use the page parameter to navigate through results
  • Each page returns up to size transactions (default 10)
  • Transactions are ordered by openedAt timestamp (newest first)
  • To get the next page, increment the page parameter
The API returns a maximum of 10 transactions per page. If you need to retrieve all transactions, you must paginate through multiple requests.

Error Responses

error
string
Error message describing what went wrong.
status
number
HTTP error status code (e.g., 400, 401, 500).

Common Errors

Status CodeDescription
400Invalid query parameters
401Unauthorized - missing or invalid authentication
404User not found
500Internal server error

Implementation Notes

Transaction amounts are returned as strings to preserve precision. Always parse them as decimals, never as floating-point numbers.
The fullType filter uses the % wildcard to match all subtypes. For example, DEPOSIT% matches both DEPOSIT.ADMIN and DEPOSIT.CRYPTO.
Use the currency.decimals field to properly format amounts for display. Each currency may have different decimal precision.

Build docs developers (and LLMs) love