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
{
"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
{
"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
{
"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
{
"transactions" : [
{
"id" : "txn-1" ,
"type" : "DEPOSIT" ,
"amount" : "1000.00" ,
"currency" : "USD" ,
"createdAt" : "2024-01-15T10:30:00.000Z"
}
],
"totalPage" : 1
}
Next Steps