Skip to main content

What are Savings Accounts?

Savings accounts in KillB are custodial USD-denominated accounts that allow users to earn yield on their deposits. KillB manages the custody while users maintain full ownership.
Savings accounts are FDIC-insured through partner banks and provide a safe way to hold USD value.

Key Features

USD Denominated

Hold value in US Dollars, protected from local currency volatility

Multiple Deposit Methods

Fund via ACH, Wire, or crypto deposits

Easy Withdrawals

Withdraw to bank accounts or crypto wallets anytime

Transaction History

Track all deposits and withdrawals

Creating a Savings Account

POST /api/v2/savings
{
  "userId": "user-id",
  "acceptedTermsAndConditions": true
}
const createSavingsAccount = async (userId) => {
  const response = await fetch(
    'https://teste-94u93qnn.uc.gateway.dev/api/v2/savings',
    {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${token}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        userId: userId,
        acceptedTermsAndConditions: true
      })
    }
  );
  
  return await response.json();
};
Response:
{
  "id": "savings-account-id",
  "userId": "user-id",
  "status": "PENDING",
  "createdAt": "2024-01-15T10:30:00.000Z"
}

Checking Balance

GET /api/v2/savings/{savingsAccountId}/balance
const getBalance = async (savingsAccountId) => {
  const response = await fetch(
    `https://teste-94u93qnn.uc.gateway.dev/api/v2/savings/${savingsAccountId}/balance`,
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  );
  
  const balance = await response.json();
  console.log(`Balance: $${balance.amount} ${balance.currency}`);
  return balance;
};

Deposit Methods

ACH Deposit

Get ACH deposit instructions:
GET /api/v2/savings/{savingsAccountId}/deposit-instructions/ACH
Response
{
  "type": "ACH",
  "currency": "USD",
  "accountHolderName": "Bridge Bank",
  "accountNumber": "123456789",
  "routingNumber": "987654321",
  "memo": "ABC123"
}
Important: User must include memo in transfer for proper credit.

Wire Deposit

GET /api/v2/savings/{savingsAccountId}/deposit-instructions/WIRE

Crypto Deposit

Get wallet address for crypto deposits:
GET /api/v2/savings/{savingsAccountId}/crypto-deposit-instructions
Response
{
  "address": "0x123...",
  "network": "POLYGON",
  "currency": "USDC"
}
Users send USDC to this address, which is automatically converted to USD.

Withdrawals

Create withdrawal to external account:
POST /api/v2/savings/withdrawal
{
  "source": {
    "savingsAccountId": "savings-id"
  },
  "destination": {
    "savingsAccountId": "savings-id",
    "externalAccountId": "bank-or-wallet-id"
  },
  "amount": 1000,
  "comment": "Withdrawal to bank account"
}

Transaction History

Get all savings transactions:
GET /api/v2/savings/transactions?userId=user-id
Response
{
  "transactions": [
    {
      "id": "txn-1",
      "type": "DEPOSIT",
      "amount": "1000.00",
      "currency": "USD",
      "createdAt": "2024-01-15T10:30:00.000Z"
    }
  ],
  "totalPage": 1
}

Next Steps