Skip to main content

Prerequisites

  • User with L1+ KYC level
  • User email verified
  • Terms and conditions acceptance

Creating Account

POST /api/v2/savings
{
  "userId": "user-id",
  "acceptedTermsAndConditions": true
}

Complete Example

const onboardToSavings = async (userId) => {
  // Check user KYC level
  const user = await getUser(userId);
  
  if (user.accessLevel === 'L0') {
    throw new Error('User must complete basic KYC first');
  }
  
  // Create savings account
  const savings = await fetch('/api/v2/savings', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      userId: userId,
      acceptedTermsAndConditions: true
    })
  }).then(r => r.json());
  
  console.log('Savings account created:', savings.id);
  
  // Get deposit instructions
  const achInstructions = await fetch(
    `/api/v2/savings/${savings.id}/deposit-instructions/ACH`,
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  ).then(r => r.json());
  
  return {
    savingsAccountId: savings.id,
    depositInstructions: achInstructions
  };
};

Next Steps