{"info":{"_postman_id":"2a134f62-c431-41fa-916d-c2ee57f221cb","name":"Demo Credit App","description":"<html><head></head><body><p>This collection documents a backend assessment for a company called Lendr.</p>\n<p>The goal of the assessment is to build a demo credit system API. It is not a full production application, but it demonstrates core backend functionality including authentication, wallet management, and transactions.</p>\n<p>Base URL:<br><a href=\"https://bulus-lendsqr-be-test.onrender.com\">https://bulus-lendsqr-be-test.onrender.com</a></p>\n<p>Main Features:</p>\n<ul>\n<li><p>User Authentication (Register, Login)</p>\n</li>\n<li><p>Wallet Management (Create wallet, Deposit, Withdraw)</p>\n</li>\n<li><p>Transactions (Transfer funds, View transaction history)</p>\n</li>\n</ul>\n<p>Authentication</p>\n<p>- Login returns a mock (faux) token<br>- All protected routes require a Bearer Token</p>\n<p>Example:<br>Authorization: Bearer token</p>\n<p>Getting Started</p>\n<p>1. Register a new user<br>2. Login to receive your token<br>3. Create a wallet<br>4. Perform transactions (deposit, transfer, withdraw)</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"44782397","collectionId":"2a134f62-c431-41fa-916d-c2ee57f221cb","publishedId":"2sBXqDs3be","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-17T15:49:14.000Z"},"item":[{"name":"Auths Routes","item":[{"name":"Register User","id":"619f5fb2-d3bc-4fcc-8ff9-1e87a22bf7fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"fullname\": \"Hamnu Bulus\",\n    \"email\" : \"bulushamnu@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/register","description":"<p>Creates a new user account.</p>\n<p>Request Body:</p>\n<ul>\n<li><p>fullName → required</p>\n</li>\n<li><p>email → required</p>\n</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>201 → User created successfully</p>\n</li>\n<li><p>400 → Validation error (missing fullname or email)</p>\n</li>\n<li><p>409 → User already exists</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f843a4b1-85ff-43a5-831a-64b680063563","id":"f843a4b1-85ff-43a5-831a-64b680063563","name":"Auths Routes","type":"folder"}},"urlObject":{"path":["auth","register"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"042e9c67-29db-47ad-ab82-d21c6329e397","name":"User Created","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"fullname\": \"Hamnu Bulus\",\n    \"email\" : \"bulushamnu@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/register"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:35:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"35-bwZUqFVwId+yXqDiTqTuVmTVNDE\""},{"key":"rndr-id","value":"f4645f3b-e7d6-4fa7"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbcf964dc5af78-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"User created succesfully.\"\n}"},{"id":"77697beb-0e20-43df-be1d-cd846bd479dc","name":"User Already Exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"fullname\": \"Hamnu Bulus\",\n    \"email\" : \"hamnubulus@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/register"},"status":"Conflict","code":409,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:33:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"119"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"83-iWCoHHa2+JwwfNxmezCC/rP8fGQ\""},{"key":"rndr-id","value":"60469bb4-1e30-4d4a"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbcd59a8f6c987-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"User already exists.\",\n    \"error\": {\n        \"code\": \"USER_ALREADY_EXISTS\",\n        \"details\": {\n            \"email\": \"hamnubulus@gmail.com\"\n        }\n    }\n}"},{"id":"00b99e8b-39b0-41b2-bb48-14e0cb41e6f8","name":"Validation Error","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\" : \"hamnubulus@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/register"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:32:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"117"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"a5-Y8Mk9kzdgRsUo/giCIQ9HiQeFQY\""},{"key":"rndr-id","value":"4defd036-4914-416b"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbcb660e831770-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Missing required fields.\",\n    \"error\": {\n        \"code\": \"VALIDATION_ERROR\",\n        \"details\": {\n            \"email\": \"email is required.\",\n            \"fullname\": \"fullname is required.\"\n        }\n    }\n}"}],"_postman_id":"619f5fb2-d3bc-4fcc-8ff9-1e87a22bf7fb"},{"name":"Login","event":[{"listen":"test","script":{"id":"13447e90-c65e-4c7f-9a41-c644ee3ab4ad","exec":["if(pm.response.code === 200) {","    pm.collectionVariables.set(\"TOKEN\", pm.response.json().data.token);","}",""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"prerequest","script":{"id":"f659c3c2-20be-49e7-b752-c7439ebbd511","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"7abe6938-eb10-4a22-810b-e191bc1f2d91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\" : \"bulushamnu55@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/login","description":"<p>Logs in a user using their email.</p>\n<ul>\n<li><p>Returns a mock (faux) token for authentication</p>\n</li>\n<li><p>Token should be used as a Bearer Token for protected routes</p>\n</li>\n</ul>\n<p>Request Body:</p>\n<ul>\n<li>email → required</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>200 → Login successful</p>\n</li>\n<li><p>404 → User not found</p>\n</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"f843a4b1-85ff-43a5-831a-64b680063563","id":"f843a4b1-85ff-43a5-831a-64b680063563","name":"Auths Routes","type":"folder"}},"urlObject":{"path":["auth","login"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"b5fdb88c-3fa9-4259-baa2-216bef780d4c","name":"Login Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\" : \"bulushamnu@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:41:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"95"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"6f-X0q6H9/cU7LBqEYhJMuHssGIUNg\""},{"key":"rndr-id","value":"b6238bfd-19fa-4029"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbd8a84d00e623-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"User logged in succesfully.\",\n    \"data\": {\n        \"token\": \"74c6a607-f523-4851-84cf-c378561a0772\"\n    }\n}"},{"id":"766435f4-eb38-4003-aec3-e7347302df64","name":"User Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\" : \"bulushamnu55@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"/auth/login"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 21:01:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"81-BJaHAV7bSvifb6w79CuzFV2DcvM\""},{"key":"rndr-id","value":"df5fd43a-7f98-4008"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9ede5e17ea532d26-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"User does not exists.\",\n    \"error\": {\n        \"code\": \"USER_NOT_FOUND\",\n        \"details\": {\n            \"email\": \"bulushamnu55@gmail.com\"\n        }\n    }\n}"}],"_postman_id":"7abe6938-eb10-4a22-810b-e191bc1f2d91"}],"id":"f843a4b1-85ff-43a5-831a-64b680063563","description":"<p>Handles user authentication.</p>\n<p>Users can:</p>\n<ul>\n<li><p>Register a new account</p>\n</li>\n<li><p>Log in using their email</p>\n</li>\n</ul>\n<p>On successful login, a mock (faux) token is returned.<br />This token should be used as a Bearer Token to access protected routes.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"10327012-24c0-4cc7-9472-058c6fc2f488","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"e0c7117d-ea77-4860-8720-aae419f58df0","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"f843a4b1-85ff-43a5-831a-64b680063563"},{"name":"Wallets Routes","item":[{"name":"Retriveve Wallet","id":"6e388ed7-25b9-48f5-b30a-dbcd6f3b57f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"/wallets","description":"<p>Retrieves the user's wallet.</p>\n<ul>\n<li>Requires authentication</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>200 → Wallet retrieved successfully</p>\n</li>\n<li><p>401 → Missing or invalid token</p>\n</li>\n<li><p>404 → Wallet not found</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","name":"Wallets Routes","type":"folder"}},"urlObject":{"path":["wallets"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"6c7cc273-7c6b-47cf-b6d3-478c6de6a92e","name":"Wallet Retriveved","originalRequest":{"method":"GET","header":[],"url":"/wallets"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:56:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"147"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"bb-Y48iobhbwfvPwkqEwianML61r6A\""},{"key":"rndr-id","value":"57be869e-8380-4dda"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbee930d0fdd0c-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Wallet retrived successfully.\",\n    \"data\": {\n        \"id\": 3,\n        \"balance\": \"0.00\",\n        \"address\": \"f3b2dda0aec0044dee9e5ec227475ddf\",\n        \"user_id\": 5,\n        \"created_at\": \"2026-04-17T13:52:44.000Z\"\n    }\n}"},{"id":"e38e6271-6fac-4c89-9ed6-b8fdfdfbc5f8","name":"Wallet Not Found","originalRequest":{"method":"GET","header":[],"url":"/wallets"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:51:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"90"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"62-VKbpDg6yijRqnE/zZnryawvJrdc\""},{"key":"rndr-id","value":"792bcb63-1584-45a4"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbe719dc03af3f-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Wallet not found..\",\n    \"error\": {\n        \"code\": \"WALLET_NOT_FOUND\",\n        \"details\": null\n    }\n}"},{"id":"93a1c6a1-43bb-40f9-b00c-040c872bed7e","name":"Missing Auth Token","originalRequest":{"method":"GET","header":[],"url":"/wallets"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:45:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"5b-OiW9HFFgdXhht86CVm/sU/CfthM\""},{"key":"rndr-id","value":"4ba860c6-11cf-4832"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbdf1c5b7ce3c6-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Missing token\",\n    \"error\": {\n        \"code\": \"UNAUTHETICATED\",\n        \"details\": null\n    }\n}"},{"id":"bfc5dafc-792d-4553-a692-8094112a124c","name":"Invalid Token","originalRequest":{"method":"GET","header":[],"url":"/wallets"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:49:20 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"96"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"68-egHETDQuS3E6sNAYB5wnJ0xU2Xc\""},{"key":"rndr-id","value":"e109d394-1e6f-4226"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbe477abddd46d-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Invalid token, Unauthorized.\",\n    \"error\": {\n        \"code\": \"UNAUTHORIZED\",\n        \"details\": null\n    }\n}"}],"_postman_id":"6e388ed7-25b9-48f5-b30a-dbcd6f3b57f1"},{"name":"Create Wallet","id":"3b2bc18c-45e0-4b4e-816d-cab1ff5bb410","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"/wallets","description":"<p>Creates a new wallet for the user.</p>\n<ul>\n<li>Requires authentication</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>201 → User wallet created successfully</p>\n</li>\n<li><p>409 → User already has a wallet</p>\n</li>\n<li><p>401 → Unauthorized</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","name":"Wallets Routes","type":"folder"}},"urlObject":{"path":["wallets"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"1b00087b-ec54-439c-b9c8-a13aa7062cef","name":"Wallet Created","originalRequest":{"method":"POST","header":[],"url":"/wallets"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:52:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"3d-GHorgfomaRf/eumZ0U/vlpVd/+s\""},{"key":"rndr-id","value":"43a9bd83-12b1-4f1a"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbe9742f691625-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"User wallet created successfully.\"\n}"},{"id":"9e161f03-18b3-4b93-a97c-1ca1204f5059","name":"Wallet Already Exists","originalRequest":{"method":"POST","header":[],"url":"/wallets"},"status":"Conflict","code":409,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 13:53:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"101"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"70-u5AyAS7U27pvfQBza9OrU7zsnOg\""},{"key":"rndr-id","value":"27a425e9-e775-49ad"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbea1188471625-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"User already have a wallet.\",\n    \"error\": {\n        \"code\": \"WALLET_ALREADY_EXISTS\",\n        \"details\": null\n    }\n}"}],"_postman_id":"3b2bc18c-45e0-4b4e-816d-cab1ff5bb410"},{"name":"Deposit Funds","id":"bcc4e653-9f90-4153-813c-75d79041ed88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 1050,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/deposit","description":"<p>Deposits funds into a wallet using a wallet address.</p>\n<p>Request Body:</p>\n<ul>\n<li><p>amount → required (must be ≥ 100)</p>\n</li>\n<li><p>address → required</p>\n</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>200 → Deposit successful.</p>\n</li>\n<li><p>400 → Validation error (missing fields or amount too low)</p>\n</li>\n<li><p>404 → Wallet not found</p>\n</li>\n<li><p>401 → Unauthorized</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","name":"Wallets Routes","type":"folder"}},"urlObject":{"path":["wallets","deposit"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"cac91c8e-068c-4f25-9abe-a77601618cb8","name":"Deposit Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 1000,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/deposit"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:04:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"57"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"3b-5yYyj/RHWGzSaPbhC7NgOT1nBZw\""},{"key":"rndr-id","value":"8032c2f3-18fa-456a"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbfa61cf66b8b1-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Deposit of 1000 was successful.\"\n}"},{"id":"eab3da1d-88a3-44ec-9bf9-28aa5ed89998","name":"Wallet Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 1000,\n    \"address\" : \"0x1234567890abcdef\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/deposit"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:03:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"90"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"62-VKbpDg6yijRqnE/zZnryawvJrdc\""},{"key":"rndr-id","value":"a14ea5f1-3c76-4887"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbf92b6e69398c-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Wallet not found..\",\n    \"error\": {\n        \"code\": \"WALLET_NOT_FOUND\",\n        \"details\": null\n    }\n}"},{"id":"6cee3665-1553-46a4-a063-19dc0625a2e1","name":"Amount Invalid","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 50,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/deposit"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:05:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"98"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"6e-glpNh6MyVRnzX/tiwx944rac+B0\""},{"key":"rndr-id","value":"d1e13f54-0b80-4354"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbfb9f4fb2b76a-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Amount can not be less than 100.\",\n    \"error\": {\n        \"code\": \"AMOUNT_INVALID\",\n        \"details\": null\n    }\n}"},{"id":"43e92794-2107-49d0-909f-8030ea6a43e8","name":"Validation Error","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \n}","options":{"raw":{"language":"json"}}},"url":"/wallets/deposit"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:01:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"116"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"a4-X1qQuBUfMLjQ4STSAvcYPK1z5Bw\""},{"key":"rndr-id","value":"96ca7668-a42c-498e"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edbf6ee5cb78544-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Missing required field.\",\n    \"error\": {\n        \"code\": \"VALIDATION_ERROR\",\n        \"details\": {\n            \"amount\": \"amount is required.\",\n            \"address\": \"address is required.\"\n        }\n    }\n}"}],"_postman_id":"bcc4e653-9f90-4153-813c-75d79041ed88"},{"name":"Transfer","id":"b7d75f00-f347-4529-8fbb-51719cdb1c3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 2000,\n    \"address\" : \"88d8111d7097c936a0ba126f3679cca7\",\n    \"notes\": \"My money long o.\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/transfer","description":"<p>Transfers funds from the user's wallet to another wallet.</p>\n<p>Request Body:</p>\n<ul>\n<li><p>amount → required</p>\n</li>\n<li><p>address → required (recipient wallet address)</p>\n</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>200 → Transfer successful</p>\n</li>\n<li><p>400 → You can not tranfer funds to yourself.</p>\n</li>\n<li><p>400 → Insufficient funds</p>\n</li>\n<li><p>404 → Wallet not found.</p>\n</li>\n<li><p>401 → Unauthorized</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","name":"Wallets Routes","type":"folder"}},"urlObject":{"path":["wallets","transfer"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"7a8e40ac-425d-41b8-8bce-239882f3aeab","name":"Transfer Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 100,\n    \"address\" : \"88d8111d7097c936a0ba126f3679cca7\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/transfer"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:30:48 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"50"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"34-3vWMxWENASJttSc8u2tz9z7zhUU\""},{"key":"rndr-id","value":"7427ea46-61e3-4565"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc212ebaf5e2ca-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Transfer was successful.\"\n}"},{"id":"8b49c1eb-cbc3-4457-8af9-ae6ce607f2b1","name":"Address Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 100,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddg\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/transfer"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:11:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"129"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"95-GvSDPxQ1MC4VVd4y1EtTzy/MvdQ\""},{"key":"rndr-id","value":"43959049-10a7-4085"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc04c0ca13d6bd-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Wallet with address - f3b2dda0aec0044dee9e5ec227475ddg was not found.\",\n    \"error\": {\n        \"code\": \"WALLET_NOT_FOUND\",\n        \"details\": null\n    }\n}"},{"id":"175e1e9b-542f-4e79-b801-67493b6d7f32","name":"Insuificent Funds","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 2000,\n    \"address\" : \"88d8111d7097c936a0ba126f3679cca7\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/transfer"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:31:26 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"64-CBpBJr1HlTHo4/s4npYgfvYsYus\""},{"key":"rndr-id","value":"e6cf7f98-d983-4f7e"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc221d5d5ee62d-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Insufficient funds\",\n    \"error\": {\n        \"code\": \"INSUFFICIENT_FUNDS\",\n        \"details\": null\n    }\n}"},{"id":"f76318eb-54b8-46ed-aa1c-020800b029aa","name":"Self Transfer Error","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 100,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/transfer"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:08:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"99"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"76-wNQklOW+fMZYer1UCRpkapsvekU\""},{"key":"rndr-id","value":"5f2af25a-b01d-4fe5"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc007ff8e6ac43-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"You can not tranfer funds to yourself.\",\n    \"error\": {\n        \"code\": \"TRANSFER_INVALID\",\n        \"details\": null\n    }\n}"}],"_postman_id":"b7d75f00-f347-4529-8fbb-51719cdb1c3c"},{"name":"Withdrawal","id":"4feac515-7c9f-4018-8be5-021471448bf0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 2000,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\",\n    \"note\": \"My money no long again.\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/withdraw","description":"<p>Withdraws funds from the user's wallet.</p>\n<p>Request Body:</p>\n<ul>\n<li><p>amount → required</p>\n</li>\n<li><p>address → required</p>\n</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>200 → Withdrawal successful</p>\n</li>\n<li><p>400 → Insufficient funds</p>\n</li>\n<li><p>404 → Wallet not found</p>\n</li>\n<li><p>401 → Unauthorized</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","name":"Wallets Routes","type":"folder"}},"urlObject":{"path":["wallets","withdraw"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"0157f238-17e7-4cee-84f6-c44c54cab794","name":"Withdraw Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 2000,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\",\n    \"notes\": \"My money long no long again.\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/withdraw"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:47:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"62"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"40-g82+IySYFC1/2a+QvEu5FJvtz3k\""},{"key":"rndr-id","value":"af157407-28b7-42c5"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc39979f8b4160-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Withdrawal of 2000 was successfully.\"\n}"},{"id":"433c80bf-723a-44ca-9253-20f401a56314","name":"Wallet Address Not Found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 2000,\n    \"address\" : \"88d8111d7097c936a0ba126f3679cca7\",\n    \"notes\": \"My money long o.\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/withdraw"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:39:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"94"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"6c-9E4zggCPg/WEm4YrxaqWiOxdiuk\""},{"key":"rndr-id","value":"25c272f5-5135-4582"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc2dec6f9cc938-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"User does not have a wallet.\",\n    \"error\": {\n        \"code\": \"WALLET_NOT_FOUND\",\n        \"details\": null\n    }\n}"},{"id":"e7074b60-943b-4b3f-977e-e7c0f9b01fa3","name":"Insufficient Funds","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"amount\": 2000,\n    \"address\" : \"f3b2dda0aec0044dee9e5ec227475ddf\",\n    \"notes\": \"My money long no long again.\"\n}","options":{"raw":{"language":"json"}}},"url":"/wallets/withdraw"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:47:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"88"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"64-CBpBJr1HlTHo4/s4npYgfvYsYus\""},{"key":"rndr-id","value":"e64b1e80-d902-4f52"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc3a4dfbace601-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Insufficient funds\",\n    \"error\": {\n        \"code\": \"INSUFFICIENT_FUNDS\",\n        \"details\": null\n    }\n}"}],"_postman_id":"4feac515-7c9f-4018-8be5-021471448bf0"}],"id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948","description":"<p>Handles wallet operations.</p>\n<p>Users can:</p>\n<ul>\n<li><p>Create a wallet</p>\n</li>\n<li><p>Retrieve their wallet details</p>\n</li>\n<li><p>Deposit funds</p>\n</li>\n<li><p>Withdraw funds</p>\n</li>\n<li><p>Transfer funds to another user's wallet</p>\n</li>\n</ul>\n<p>Each wallet has a unique address.</p>\n<ul>\n<li><p>To deposit funds, provide your wallet address</p>\n</li>\n<li><p>To transfer funds, provide the recipient's wallet address</p>\n</li>\n<li><p>To withdraw funds, use your own wallet address</p>\n</li>\n</ul>\n<p>For deposit, transfer, and withdrawal:</p>\n<ul>\n<li><p>amount → required</p>\n</li>\n<li><p>address → required</p>\n</li>\n<li><p>note → optional</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"3773e2ee-219d-4ecc-a46a-a98448ce58f3","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"780dc22f-43ec-40d3-89ea-54fc82cd3543","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"4dd9cc1a-8f37-46b3-8e54-7fbf365fd948"},{"name":"Transaction Routes","item":[{"name":"Retriveved Transactions","id":"816024f8-7c1a-4262-95c0-b5efc4beb775","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"/transactions","description":"<p>Retrieves all transactions for the authenticated user.</p>\n<ul>\n<li>Requires authentication</li>\n</ul>\n<p>Response:</p>\n<ul>\n<li><p>200 → Transactions retrieved successfully</p>\n</li>\n<li><p>401 → Unauthorized</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"89ee79df-a600-4209-a9f3-6b8d78a05978","id":"89ee79df-a600-4209-a9f3-6b8d78a05978","name":"Transaction Routes","type":"folder"}},"urlObject":{"path":["transactions"],"host":[""],"query":[],"variable":[]}},"response":[{"id":"afafca43-934d-4ce9-9465-d939ec7a1250","name":"Transaction Retriveved","originalRequest":{"method":"GET","header":[],"url":"/transactions"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 14:56:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"539"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"815-D4kjSapBDDKWpV864EfhUwySJ3Y\""},{"key":"rndr-id","value":"9331c9f2-d3b6-4f94"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9edc46ceab222d22-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": true,\n    \"message\": \"Transactions retrived successfully.\",\n    \"data\": [\n        {\n            \"id\": 4,\n            \"amount\": \"1000.00\",\n            \"receiver_wallet_id\": 3,\n            \"sender_wallet_id\": null,\n            \"reference\": \"TNX_782cfc36e81038b9aaf55e5bce9b3fedd1e83da1\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:04:18.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 5,\n            \"amount\": \"1000.00\",\n            \"receiver_wallet_id\": 3,\n            \"sender_wallet_id\": null,\n            \"reference\": \"TNX_daaf271e8b54e58f1668d31a95c1eb121ca51321\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:04:48.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 6,\n            \"amount\": \"100.00\",\n            \"receiver_wallet_id\": 3,\n            \"sender_wallet_id\": null,\n            \"reference\": \"TNX_d5064ae9a9e387d35756531a3eaa737f32413c1b\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:04:58.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 7,\n            \"amount\": \"100.00\",\n            \"receiver_wallet_id\": 1,\n            \"sender_wallet_id\": 3,\n            \"reference\": \"TNX_7c03d725c47b60d585e13651aa06d64d29921036\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:30:48.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 8,\n            \"amount\": \"2000.00\",\n            \"receiver_wallet_id\": 1,\n            \"sender_wallet_id\": 3,\n            \"reference\": \"TNX_b0be609b8ef5cf68c9cacee845cc3ec69d5eab50\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:31:20.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 9,\n            \"amount\": \"1050.00\",\n            \"receiver_wallet_id\": 3,\n            \"sender_wallet_id\": null,\n            \"reference\": \"TNX_eb2ad814c2e92d9684f263d22ec1f94dabf1fbe1\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:37:34.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 10,\n            \"amount\": \"1050.00\",\n            \"receiver_wallet_id\": 3,\n            \"sender_wallet_id\": null,\n            \"reference\": \"TNX_21602ec20f1686aa773f59b3b90389e21028951c\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:44:29.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 11,\n            \"amount\": \"1050.00\",\n            \"receiver_wallet_id\": 3,\n            \"sender_wallet_id\": null,\n            \"reference\": \"TNX_04ded65d4809c90fed1b14408d2165bd7ba565b8\",\n            \"notes\": \"\",\n            \"created_at\": \"2026-04-17T14:46:13.000Z\",\n            \"type\": \"deposit\",\n            \"initiated_by\": 5\n        },\n        {\n            \"id\": 12,\n            \"amount\": \"2000.00\",\n            \"receiver_wallet_id\": null,\n            \"sender_wallet_id\": 3,\n            \"reference\": \"TNX_200d079374eca68225e8ca5e513c46c7811e57a9\",\n            \"notes\": \"My money long no long again.\",\n            \"created_at\": \"2026-04-17T14:47:27.000Z\",\n            \"type\": \"withdrawal\",\n            \"initiated_by\": 5\n        }\n    ]\n}"},{"id":"ba2bf261-8b5f-4736-9463-c0e85827fea5","name":"Missing Req Token","originalRequest":{"method":"GET","header":[],"url":"/transactions"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Fri, 17 Apr 2026 21:34:17 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"Content-Encoding","value":"br"},{"key":"etag","value":"W/\"5b-OiW9HFFgdXhht86CVm/sU/CfthM\""},{"key":"rndr-id","value":"2de5cda6-f1c5-4254"},{"key":"vary","value":"Accept-Encoding"},{"key":"x-powered-by","value":"Express"},{"key":"x-render-origin-server","value":"Render"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"9ede8d8dad95e5f3-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": false,\n    \"message\": \"Missing token\",\n    \"error\": {\n        \"code\": \"UNAUTHETICATED\",\n        \"details\": null\n    }\n}"}],"_postman_id":"816024f8-7c1a-4262-95c0-b5efc4beb775"}],"id":"89ee79df-a600-4209-a9f3-6b8d78a05978","description":"<p>Handles transaction history.</p>\n<p>Users can:</p>\n<ul>\n<li>Retrieve all their transactions</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"id":"44d65d4b-c592-4c41-9116-4472ff4bf503","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"10d04e20-a316-4f3a-85b7-7fa80c5b7fab","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"89ee79df-a600-4209-a9f3-6b8d78a05978"}],"auth":{"type":"bearer","bearer":{"basicConfig":[]}},"event":[{"listen":"prerequest","script":{"id":"8aad788e-12a7-4d97-889a-ced78a52a6eb","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"fd0e8aa2-ba73-4d4b-a000-70542b58a73f","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"variable":[{"key":"BASE_URL","value":""},{"key":"TOKEN","value":""}]}