Accounts

Accounts are used to hold funds on the platform. Once a customer is onboarded via the application process, you can create accounts for them in various currencies.

Endpoints

GET /accounts

Retrieve a list of accounts with optional filtering.

Query Parameters

Parameter Type Description
customer_id string Filter by customer ID
status string Filter by status (ACTIVE, PENDING, FROZEN, CLOSED)
currency string Filter by currency (USD, GBP, EUR, BTC, ETH, etc.)
limit integer Number of results to return (default: 20)

Response

200 OK
{
  "data": [
    {
      "id": "acc_123456789",
      "customer_id": "cust_987654321",
      "type": "DEPOSIT",
      "currency": "USD",
      "status": "ACTIVE",
      "balance": {
        "available": "10000.00",
        "total": "10500.00"
      },
      "created_at": "2026-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "has_more": false
  }
}
POST /accounts

Open a new account for an existing customer.

Request Body

Field Type Description
customer_id required string The customer ID
type required string Account type: DEPOSIT
currency required string Currency code (USD, GBP, EUR, BTC, ETH, USDC)
nickname string Optional account nickname

Example Request

Request
{
  "customer_id": "cust_987654321",
  "type": "DEPOSIT",
  "currency": "USD",
  "nickname": "Main USD Account"
}

Response

201 Created
{
  "id": "acc_123456789",
  "customer_id": "cust_987654321",
  "type": "DEPOSIT",
  "currency": "USD",
  "status": "ACTIVE",
  "nickname": "Main USD Account",
  "balance": {
    "available": "0.00",
    "total": "0.00"
  },
  "created_at": "2026-01-15T10:30:00Z"
}
GET /accounts/{id}

Retrieve details of a specific account including balances.

Response

200 OK
{
  "id": "acc_123456789",
  "customer_id": "cust_987654321",
  "type": "DEPOSIT",
  "currency": "USD",
  "status": "ACTIVE",
  "nickname": "Main USD Account",
  "balance": {
    "available": "10000.00",
    "total": "10500.00",
    "pending": "500.00"
  },
  "deposit_details": {
    "account_number": "1234567890",
    "routing_number": "021000021",
    "bank_name": "Bultra Bank"
  },
  "created_at": "2026-01-15T10:30:00Z",
  "updated_at": "2026-01-15T14:45:00Z"
}
PATCH /accounts/{id}

Update account details such as nickname.

Request Body

Field Type Description
nickname string Account nickname

Response

200 OK
{
  "id": "acc_123456789",
  "nickname": "Primary Account",
  "updated_at": "2026-01-15T15:00:00Z"
}
GET /accounts/{id}/transactions

Retrieve transaction history for an account.

Query Parameters

Parameter Type Description
from_date string Start date (ISO 8601)
to_date string End date (ISO 8601)
type string Transaction type filter
limit integer Number of results (default: 50)

Response

200 OK
{
  "data": [
    {
      "id": "txn_111222333",
      "account_id": "acc_123456789",
      "type": "DEPOSIT",
      "amount": "1000.00",
      "currency": "USD",
      "status": "COMPLETED",
      "description": "Wire transfer deposit",
      "created_at": "2026-01-15T10:30:00Z"
    },
    {
      "id": "txn_444555666",
      "account_id": "acc_123456789",
      "type": "WITHDRAWAL",
      "amount": "-500.00",
      "currency": "USD",
      "status": "COMPLETED",
      "description": "ACH withdrawal",
      "created_at": "2026-01-14T09:15:00Z"
    }
  ],
  "pagination": {
    "has_more": true,
    "next_cursor": "cursor_xyz789"
  }
}
GET /accounts/{id}/transactions/{transaction_id}

Retrieve details of a specific transaction.

Response

200 OK
{
  "id": "txn_111222333",
  "account_id": "acc_123456789",
  "type": "DEPOSIT",
  "amount": "1000.00",
  "currency": "USD",
  "status": "COMPLETED",
  "description": "Wire transfer deposit",
  "reference": "REF123456",
  "counterparty": {
    "name": "John Doe",
    "account_number": "****1234"
  },
  "created_at": "2026-01-15T10:30:00Z",
  "completed_at": "2026-01-15T10:35:00Z"
}
GET /accounts/{id}/statements

Retrieve available account statements.

Response

200 OK
{
  "data": [
    {
      "id": "stmt_001",
      "account_id": "acc_123456789",
      "period": "2026-01",
      "opening_balance": "5000.00",
      "closing_balance": "10500.00",
      "created_at": "2026-02-01T00:00:00Z"
    }
  ]
}
GET /accounts/{id}/statements/{statement_id}

Download a specific account statement (PDF).

Response

Returns the statement as a PDF file.

200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="statement_2026-01.pdf"

[Binary PDF data]