Index: backend/src/main/java/com/tradingmk/backend/controller/PortfolioController.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/controller/PortfolioController.java	(revision 9ff247d34e31488173291baeb8a83e9048de57eb)
+++ backend/src/main/java/com/tradingmk/backend/controller/PortfolioController.java	(revision 9ff247d34e31488173291baeb8a83e9048de57eb)
@@ -0,0 +1,35 @@
+package com.tradingmk.backend.controller;
+
+
+import com.tradingmk.backend.repository.PortfolioRepository;
+import com.tradingmk.backend.repository.UserRepository;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/portfolio")
+public class PortfolioController {
+
+    private final PortfolioRepository portfolioRepository;
+    private final UserRepository userRepository;
+
+    public PortfolioController(PortfolioRepository portfolioRepository, UserRepository userRepository) {
+        this.portfolioRepository = portfolioRepository;
+        this.userRepository = userRepository;
+    }
+
+    @GetMapping
+    public ResponseEntity<?> getMyPortfolio(@AuthenticationPrincipal UserDetails userDetails) {
+        var user = userRepository.findByUsername(userDetails.getUsername())
+                .orElseThrow(() -> new RuntimeException("user not found"));
+
+        var portfolio = portfolioRepository.findByUserId(user.getId())
+                .orElseThrow(() -> new RuntimeException("portfolio not found"));
+
+        return ResponseEntity.ok(portfolio);
+    }
+}
Index: backend/src/main/java/com/tradingmk/backend/model/Portfolio.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/model/Portfolio.java	(revision f9278e93f14a8f8cf111d5cb0a12c7fec6c0d535)
+++ backend/src/main/java/com/tradingmk/backend/model/Portfolio.java	(revision 9ff247d34e31488173291baeb8a83e9048de57eb)
@@ -4,5 +4,8 @@
 import jakarta.persistence.*;
 
+import java.math.BigDecimal;
+
 @Entity
+@Table(name ="portfolios")
 public class Portfolio {
 
@@ -11,12 +14,33 @@
     private Long id;
 
-    @ManyToOne
+    @OneToOne
+    @JoinColumn(name = "user_id", nullable = false, unique = true)
     private User user;
 
-    @ManyToOne
-    private Stock stock;
+    @Column(nullable = false, precision = 18, scale = 2)
+    private BigDecimal balance = BigDecimal.ZERO;
 
-    private Integer quantity;
+    public Long getId() {
+        return id;
+    }
 
+    public void setId(Long id) {
+        this.id = id;
+    }
 
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public BigDecimal getBalance() {
+        return balance;
+    }
+
+    public void setBalance(BigDecimal balance) {
+        this.balance = balance;
+    }
 }
Index: backend/src/main/java/com/tradingmk/backend/model/User.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/model/User.java	(revision f9278e93f14a8f8cf111d5cb0a12c7fec6c0d535)
+++ backend/src/main/java/com/tradingmk/backend/model/User.java	(revision 9ff247d34e31488173291baeb8a83e9048de57eb)
@@ -31,4 +31,24 @@
     private Double balance;
     private String email;
+
+
+    @OneToOne(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+    private Portfolio portfolio;
+
+    public Portfolio getPortfolio() {
+        return portfolio;
+    }
+
+    public void setPortfolio(Portfolio portfolio) {
+        this.portfolio = portfolio;
+    }
+
+    public Role getRole() {
+        return role;
+    }
+
+    public void setRole(Role role) {
+        this.role = role;
+    }
 
     @Enumerated(EnumType.STRING)
Index: backend/src/main/java/com/tradingmk/backend/repository/PortfolioRepository.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/repository/PortfolioRepository.java	(revision f9278e93f14a8f8cf111d5cb0a12c7fec6c0d535)
+++ backend/src/main/java/com/tradingmk/backend/repository/PortfolioRepository.java	(revision 9ff247d34e31488173291baeb8a83e9048de57eb)
@@ -4,4 +4,7 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 
+import java.util.Optional;
+
 public interface PortfolioRepository extends JpaRepository<Portfolio, Long> {
+    Optional<Portfolio> findByUserId(Long userId);
 }
Index: backend/src/main/java/com/tradingmk/backend/service/AuthenticationService.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/service/AuthenticationService.java	(revision f9278e93f14a8f8cf111d5cb0a12c7fec6c0d535)
+++ backend/src/main/java/com/tradingmk/backend/service/AuthenticationService.java	(revision 9ff247d34e31488173291baeb8a83e9048de57eb)
@@ -5,6 +5,8 @@
 import com.tradingmk.backend.dto.AuthenticationRequest;
 import com.tradingmk.backend.dto.RegisterRequest;
+import com.tradingmk.backend.model.Portfolio;
 import com.tradingmk.backend.model.Role;
 import com.tradingmk.backend.model.User;
+import com.tradingmk.backend.repository.PortfolioRepository;
 import com.tradingmk.backend.repository.UserRepository;
 import lombok.RequiredArgsConstructor;
@@ -13,4 +15,6 @@
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
 
 @Service
@@ -25,6 +29,9 @@
     private final AuthenticationManager authenticationManager;
 
+    private final PortfolioRepository portfolioRepository;
+
 
     public AuthenticationResponse register(RegisterRequest request) {
+        //create user
         var user = User.builder()
                 .username(request.getUsername())
@@ -33,10 +40,23 @@
                 .role(Role.USER)
                 .build();
+        //save
         repository.save(user);
+
+        //create uniwque portfolio for user
+
+        Portfolio portfolio = new Portfolio();
+        portfolio.setUser(user);
+        portfolio.setBalance(BigDecimal.ZERO);
+        portfolioRepository.save(portfolio);
+
+
+        //final generate token
         var jwtToken = userService.generateToken(user);
         return AuthenticationResponse.builder()
                 .token(jwtToken)
                 .build();
+
     }
+
 
     public AuthenticationResponse authenticate(AuthenticationRequest request) {
