diff --git a/src/db/migrations/meta/_journal.json b/src/db/migrations/meta/_journal.json
index 966b5209f2e984b047b6fd6265601ae6a90fa1eb..eaa8fcf3b643329af83679deadefa3c53fdb6305 100644
--- a/src/db/migrations/meta/_journal.json
+++ b/src/db/migrations/meta/_journal.json
@@ -1,13 +1,5 @@
 {
   "version": "7",
   "dialect": "postgresql",
-  "entries": [
-    {
-      "idx": 0,
-      "version": "7",
-      "when": 1729686694449,
-      "tag": "0000_cooing_doorman",
-      "breakpoints": true
-    }
-  ]
+  "entries": []
 }
\ No newline at end of file
diff --git a/src/db/repo/user-stats.repo.ts b/src/db/repo/user-stats.repo.ts
index 922aa603b8ceb5547163f01aff104e87c26ab2b1..a4ac9c2574aa45dcac9473ef149681fa1fa857f6 100644
--- a/src/db/repo/user-stats.repo.ts
+++ b/src/db/repo/user-stats.repo.ts
@@ -18,28 +18,18 @@ export class UserStatsRepo {
             where: eq(userStatsTable.id, id)
         })
         if(!userStats) return null
-        return userStatsSchemas.userStatsModelSchema.parse(userStats)
+        return userStatsSchemas.model.parse(userStats)
     }
 
-    async findByUserId(
-      user_id: UserStatsModel['user_id']
-    ): Promise<UserStatsModel | null> {
-        const userStats = await db.query.userStatsTable.findFirst({
-            where: eq(userStatsTable.user_id, user_id)
-        })
-        if(!userStats) return null
-        return userStatsSchemas.userStatsModelSchema.parse(userStats)
-    }
-
-    async create(userStats: UserStatsInput, tx?: db): Promise<UserStatsModel> {
+    async create(tx?: db): Promise<UserStatsModel> {
       const repo = tx ?? db
-
+      const userStats: UserStatsInput = {}
       const [ret] = await repo
         .insert(userStatsTable)
         .values(userStats)
         .returning()
 
-      return userStatsSchemas.userStatsModelSchema.parse(ret)
+      return userStatsSchemas.model.parse(ret)
     }
 
     async update(userStats: UserStatsUpdate): Promise<UserStatsModel>{
@@ -49,7 +39,7 @@ export class UserStatsRepo {
       .where(eq(userStatsTable.id, userStats.id))
       .returning()
 
-      return userStatsSchemas.userStatsModelSchema.parse(ret)
+      return userStatsSchemas.model.parse(ret)
     }
 
     async delete(id: UserStatsModel['id']): Promise<UserStatsModel>{
@@ -58,6 +48,6 @@ export class UserStatsRepo {
       .where(eq(userStatsTable.id, id))
       .returning()
 
-      return userStatsSchemas.userStatsModelSchema.parse(ret)
+      return userStatsSchemas.model.parse(ret)
     }
 }
\ No newline at end of file
diff --git a/src/db/schema/user-stats.schema.ts b/src/db/schema/user-stats.schema.ts
index 8ccfb6cdf080ee4f71c75f6886088e5be25fbb4e..475ffc156bf73e925240a401305e211f9e652e72 100644
--- a/src/db/schema/user-stats.schema.ts
+++ b/src/db/schema/user-stats.schema.ts
@@ -1,6 +1,4 @@
-import { relations } from "drizzle-orm";
 import { integer, pgTable, serial } from "drizzle-orm/pg-core";
-import userTable from "./user.schema";
 import { createInsertSchema, createSelectSchema } from "drizzle-zod";
 import type { z } from "zod";
 
@@ -8,9 +6,6 @@ const userStatsTable = pgTable('user_stats', {
   id: serial('id').primaryKey()
   .unique()
   .notNull(),
-  user_id: integer('user_id')
-  .references(() => userTable.id, {onDelete: 'cascade'})
-  .notNull(),
   score: integer('score')
   .notNull()
   .default(0),
@@ -34,16 +29,6 @@ const userStatsTable = pgTable('user_stats', {
   .default(0),
 })
 
-export const userStatsTableRelations = relations(
-  userStatsTable,
-  ({ one }) => ({
-    user: one(userTable, {
-      fields: [userStatsTable.user_id],
-      references: [userTable.id]
-    }),
-  })
-)
-
 const userStatsModelSchema = createSelectSchema(userStatsTable)
 const userStatsDtoSchema = userStatsModelSchema
 const userStatsInputSchema = createInsertSchema(userStatsTable)
@@ -57,10 +42,10 @@ export type UserStatsInput = z.infer<typeof userStatsInputSchema>
 export type UserStatsUpdate = z.infer<typeof userStatsUpdateSchema>
 
 export const userStatsSchemas = {
-  userStatsModelSchema,
-  userStatsDtoSchema,
-  userStatsInputSchema,
-  userStatsUpdateSchema
+  model: userStatsModelSchema,
+  dto: userStatsDtoSchema,
+  input: userStatsInputSchema,
+  update: userStatsUpdateSchema
 }
 
 export default userStatsTable
\ No newline at end of file
diff --git a/src/db/schema/user.schema.ts b/src/db/schema/user.schema.ts
index 627de98fda75a508b76008a68c86351de25360bf..d3699613852b8ed78ad43f13fce3457f7fa6d086 100644
--- a/src/db/schema/user.schema.ts
+++ b/src/db/schema/user.schema.ts
@@ -1,5 +1,5 @@
 import { relations, sql } from 'drizzle-orm'
-import { boolean, pgTable, serial, text, timestamp, varchar } from 'drizzle-orm/pg-core'
+import { boolean, integer, pgTable, serial, text, timestamp, varchar } from 'drizzle-orm/pg-core'
 import { createInsertSchema, createSelectSchema } from 'drizzle-zod'
 import { z } from 'zod'
 import userStatsTable from './user-stats.schema'
@@ -39,7 +39,11 @@ const userTable = pgTable('user', {
   deleted_at: timestamp('deleted_at', { mode: 'string' }),
   reactivated_at: timestamp('reactivated_at', { mode: 'string' }),
   active: boolean('active')
-    .default(true)
+    .default(true),
+  user_stats_id: integer('user_stats_id')
+    .references(() => userStatsTable.id)
+    .unique()
+    .notNull(),
 })
 
 export const userTableRelation = relations(
@@ -50,6 +54,14 @@ export const userTableRelation = relations(
 )
 
 const userInputSchema = createInsertSchema(userTable)
+.partial()
+.required({
+  name: true,
+  username: true,
+  password: true,
+  email: true,
+  birthday: true
+})
 const userModelSchema = createSelectSchema(userTable)
 const userDtoSchema = createSelectSchema(userTable).omit({
   password: true
@@ -59,6 +71,7 @@ const userUpdateSchema = createSelectSchema(userTable)
   .required({ id: true })
 const userProfileSchema = userModelSchema.omit({
   id: true,
+  user_stats_id: true,
   password: true,
   birthday: true,
   cpf: true,
diff --git a/src/routes/user-stats.route.ts b/src/routes/user-stats.route.ts
index 98789ec9b8acb4940624796baf9618c53a7491aa..bea7f752b4327b810864efacac6ddb958ff75e93 100644
--- a/src/routes/user-stats.route.ts
+++ b/src/routes/user-stats.route.ts
@@ -8,50 +8,14 @@ import { createApexError, HttpStatus } from "@/services/error.service";
 const service = Container.get(UserStatsService)
 
 export const userStatsRouter = honoWithJwt()
-  /* Nao deveria ter como criar um user stats sem user */
-  .post('/', zValidator('json', userStatsSchemas.userStatsInputSchema),
-    async (c) => {
-      try{
-        const input = await c.req.valid('json')
-
-        const user_stats = userStatsSchemas.userStatsDtoSchema.parse(
-          await service.create(input)
-        )
-        return c.json({ user_stats})
-      } catch (e) {
-        return c.json(
-          createApexError({
-            status: 'error',
-            message: 'could not create user stats',
-            code: HttpStatus.BAD_REQUEST,
-            path: c.req.routePath,
-            suggestion: 'check the input and try again',
-          }),
-          HttpStatus.BAD_REQUEST
-        )
-      }
-  })
-  /* Tem alguma utilidade sozinha? */
-  .get('/:user_id', async (c) =>{
-    try{
-      const user_id = +c.req.param('user_id')
-      const user_stats = await service.findByUserId(user_id)
-      const ret = userStatsSchemas.userStatsDtoSchema.parse(user_stats)
-      
-      return c.json({ user_stats: ret})
-
-    } catch(e){
-      return c.notFound()
-    }
-  })
   /* Update é uma rota própria ou vai estar embutida nas rotas das devidas estatisticas */
   .post('/update',
-    zValidator('json', userStatsSchemas.userStatsUpdateSchema),
+    zValidator('json', userStatsSchemas.update),
     async (c) => {
       try{
 
         const input = await c.req.valid('json')
-        const user_stats = userStatsSchemas.userStatsDtoSchema.parse(
+        const user_stats = userStatsSchemas.dto.parse(
           await service.update(input)
         )
               
@@ -71,11 +35,11 @@ export const userStatsRouter = honoWithJwt()
   })
   /* Nao deveria ter como deletar um user stats sozinho */
   .post('/delete/:id',
-    zValidator('json', userStatsSchemas.userStatsUpdateSchema),
+    zValidator('json', userStatsSchemas.update),
     async (c) =>{
       try{
         const id: number = +c.req.param('id')
-        const user_stats = userStatsSchemas.userStatsDtoSchema.parse(
+        const user_stats = userStatsSchemas.dto.parse(
           await service.delete(id)
         )
         return c.json(user_stats)
diff --git a/src/routes/user.route.ts b/src/routes/user.route.ts
index 4d2d35f1b909e31efc0d137cc9f94e37d6f23234..7564d1c77fc7719c86d13720360d35fb497f2c54 100644
--- a/src/routes/user.route.ts
+++ b/src/routes/user.route.ts
@@ -9,6 +9,7 @@ import { createApexError, HttpStatus } from '@/services/error.service'
 import { followRelationSchemas } from '@/db/relations/follows.relation'
 import { UserStatsService } from '@/services/user-stats.service'
 import { FollowRelationService } from '@/services/follow.relation.service'
+import { userStatsSchemas } from '@/db/schema/user-stats.schema'
 
 const service = Container.get(UserService)
 const followService = Container.get(FollowRelationService)
@@ -20,7 +21,10 @@ export const signUpRouter = new Hono()
     async (c) => {
       try {
         const input = await c.req.valid('json')
-
+        
+        const userStats = userStatsSchemas.dto.parse(await userStatsService.create())
+        input.user_stats_id = userStats.id
+        console.log(userStats)
         const user = userSchemas.userDtoSchema.parse(
           await service.create(input)
         )
diff --git a/src/services/user-stats.service.ts b/src/services/user-stats.service.ts
index c14a7ab401aec85e0d78c936ce8e7da4264e694a..3b4e3792e01a0fa0458358656ff8061c11d6d91e 100644
--- a/src/services/user-stats.service.ts
+++ b/src/services/user-stats.service.ts
@@ -1,6 +1,6 @@
 import type db from "@/db";
 import { UserStatsRepo } from "@/db/repo/user-stats.repo";
-import type { UserStatsInput, UserStatsModel, UserStatsUpdate } from "@/db/schema/user-stats.schema";
+import type { UserStatsModel, UserStatsUpdate } from "@/db/schema/user-stats.schema";
 import { Inject, Service } from "typedi";
 
 @Service()
@@ -14,16 +14,10 @@ export class UserStatsService{
         return await this.repo.findById(userStats_id)
     }
 
-    async findByUserId(
-        userStats_user_id: UserStatsModel['user_id']
-    ): Promise<UserStatsModel | null>{
-        return await this.repo.findByUserId(userStats_user_id)
-    }
-
     async create(
-        userStats: UserStatsInput, tx?: db
+        tx?: db
     ): Promise<UserStatsModel>{
-        return this.repo.create(userStats, tx)
+        return this.repo.create(tx)
     }
 
     async update(