FreeByte MSISDN wallet, GB packs and token catalog
FreeByte is the Kazan Kazan mobile rewards app from 1GB APP COMPANY DMCC. Users sign in with a phone number and SMS code, complete tasks and check-ins, spin the wheel, invite friends, and redeem earned rewards for mobile internet packages and shopping vouchers. The app also offers token packs, partner websites and phone-number-based transfers. Its catalog includes Turkcell-specific data packs alongside brand vouchers, reflecting its Turkish Kim GB İster / Kazan Kazan branding. On Google Play, FreeByte holds a 4.32 rating across 224,094 reviews.
GB reward balances and wheel tokens sit in separate records: amount measures the wallet pool, while tokenBalance tracks tokens and pointLimit and dataLimit describe remaining redemption caps. Catalog entries join productId, value and price with the carrier-eligibility flag onlyTurkcell. Telecom operations teams can compare those offer attributes with remaining caps when planning data-pack redemptions.
Redemption results carry purchaseId, transactionId, state, deliverable and code; ledger entries add partner, reason, created, value and type. Together, these records support voucher-partner settlement and rewards-ledger reconciliation. Phone-number destinations distinguish peer transfers through toMsisdn from charity recipients identified by msisdn. openData Studio turns these reward, catalog and transaction records into callable open data for authorized integrations.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Send MSISDN login OTP
POST
/v1/subscriber-access/challengesosintSends a sign-in OTP to the subscriber msisdn and returns code plus timerValue, the countdown before a resend is available.
Auth: None. Supply the subscriber msisdn to request an SMS code.
- msisdn
- code
- timerValue
POST /v1/subscriber-access/challenges HTTP/1.1 Accept: application/json Content-Type: application/json { "msisdn": "<subscriber-msisdn>" }{ "code": "OK", "timerValue": 120 }Check MSISDN account status
POST
/v1/subscriber-access/eligibilityosintChecks whether a subscriber is an existingUser and whether electronic-communications consent is recorded in etkAccepted before OTP sign-in.
Auth: None. Supply the subscriber msisdn before OTP sign-in.
- msisdn
- etkAccepted
- existingUser
POST /v1/subscriber-access/eligibility HTTP/1.1 Accept: application/json Content-Type: application/json { "msisdn": "<subscriber-msisdn>" }{ "etkAccepted": true, "existingUser": true }Exchange OTP for session token
POST
/v1/subscriber-access/sessionsosintCompletes the subscriber OTP sign-in and returns a session token plus code for use with subsequent Bearer-authenticated requests.
Auth: None. Supply msisdn, otp and osType. The returned token is used as Authorization: Bearer <session-token> on subsequent authenticated calls.
- msisdn
- otp
- osType
- token
- code
POST /v1/subscriber-access/sessions HTTP/1.1 Accept: application/json Content-Type: application/json { "msisdn": "<subscriber-msisdn>", "otp": "<sms-code>", "osType": "ANDROID" }{ "token": "<session-token>", "code": "OK" }Read GB wallet balance
GET
/v1/rewards-wallet/data-balanceopenbankingReads amount, the signed-in subscriber's GB wallet pool displayed as the home-screen balance.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- amount
GET /v1/rewards-wallet/data-balance HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json{ "amount": 3500 }Read token balance
GET
/v1/rewards-wallet/token-balanceopenbankingReads tokenBalance, the paid or earned token count used for the wheel and token catalog.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- tokenBalance
GET /v1/rewards-wallet/token-balance HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json{ "tokenBalance": 12 }Read point and data spend limits
GET
/v1/rewards-wallet/redemption-capsopenbankingReturns pointLimit and dataLimit, the remaining point and mobile-data redemption caps for the signed-in subscriber.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- pointLimit
- dataLimit
GET /v1/rewards-wallet/redemption-caps HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json{ "pointLimit": 5000, "dataLimit": 10240 }List wallet transaction history
GET
/v1/rewards-wallet/ledger-entriesopenbankingLists wallet ledger entries with partner, reason, created, value, type and date for credits and debits of GB or points.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- partner
- reason
- created
- value
- type
- date
GET /v1/rewards-wallet/ledger-entries HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json[ { "partner": "FreeByte", "reason": "TASK_REWARD", "created": "2026-10-21T09:14:03Z", "value": "250", "type": "CREDIT", "date": "2026-10-21" } ]List market data packs and vouchers
GET
/v1/reward-market/offeringsopendataLists market data packs and vouchers with productId, wallet-unit price, onlyTurkcell eligibility and redemption metadata including deliverable, code and type.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- id
- productId
- name
- value
- price
- onlyTurkcell
- promoted
- pinned
- filterable
- internal
- deliverable
- code
- type
- title
- header
- desc
- buttonText
- buttonUrl
- deeplink
- badge
- image
- fake
GET /v1/reward-market/offerings HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json[ { "id": 101, "productId": 201, "name": "Example 1 GB pack", "value": "1024", "price": 1000, "onlyTurkcell": true, "promoted": true, "pinned": false, "filterable": true, "internal": true, "deliverable": null, "code": null, "type": "DATA", "title": "1 GB internet", "header": "Turkcell", "desc": "Illustrative prepaid data pack", "buttonText": "Redeem", "buttonUrl": null, "deeplink": null, "badge": null, "image": "<catalog-image>", "fake": false } ]Redeem a catalog product
POST
/v1/reward-market/redemption-ordersopenbankingSpends wallet value on itemId for receiver after pinOtp confirmation, returning purchaseId, transactionId, state, deliverable and code.
Auth: Authorization: Bearer <session-token>. Accept: application/json. Supply itemId, receiver and pinOtp.
- itemId
- receiver
- pinOtp
- purchaseId
- transactionId
- state
- deliverable
- code
POST /v1/reward-market/redemption-orders HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json Content-Type: application/json { "itemId": 201, "receiver": "<subscriber-msisdn>", "pinOtp": "<confirmation-code>" }{ "purchaseId": "purchase-example-001", "transactionId": "transaction-example-001", "state": "DELIVERED", "deliverable": "<voucher-delivery-reference>", "code": "<voucher-code>" }Transfer wallet value by MSISDN
POST
/v1/rewards-wallet/peer-sendsopenbankingTransfers amount of wallet GB or points to the subscriber identified by toMsisdn after pinOtp confirmation.
Auth: Authorization: Bearer <session-token>. Accept: application/json. Supply toMsisdn, amount and pinOtp.
- toMsisdn
- amount
- pinOtp
POST /v1/rewards-wallet/peer-sends HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json Content-Type: application/json { "toMsisdn": "<recipient-msisdn>", "amount": 500, "pinOtp": "<confirmation-code>" }{}List charity MSISDNs
GET
/v1/reward-giving/recipientsopendataLists charity donation destinations by msisdn and name so wallet value can be sent to a charity instead of a peer.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- msisdn
- name
GET /v1/reward-giving/recipients HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json[ { "msisdn": "<charity-msisdn>", "name": "Example charity" } ]List partner websites
GET
/v1/reward-market/partner-directoryopendataLists partner websites with title, url, featured and enabled flags plus image and story creative fields used in the rewards feed.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- id
- title
- description
- details
- image
- buttonText
- url
- featured
- internal
- enabled
- showTt
- imageUrl
- imageHeight
- imageWidth
- storyImageUrl
- storyButtonName
- storyOrder
- storyOnly
GET /v1/reward-market/partner-directory HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json[ { "id": 42, "title": "Example partner shop", "description": "Earn on partner checkout", "details": "Open the partner site from the catalog", "image": "<partner-image>", "buttonText": "Visit", "url": "<partner-url>", "featured": true, "internal": false, "enabled": true, "showTt": false, "imageUrl": "<partner-image-url>", "imageHeight": 600, "imageWidth": 1000, "storyImageUrl": "<partner-story-image-url>", "storyButtonName": "Shop", "storyOrder": 1, "storyOnly": false } ]List purchasable token packs
GET
/v1/reward-market/token-bundlesopendataLists purchasable tokenProductList bundles with googleProductId, tokenAmount, pointAmount, price and tokenProductType, and identifies the highlighted tokenProductIdWithBadge.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- tokenProductList
- tokenProductIdWithBadge
- id
- googleProductId
- name
- tokenAmount
- imageUrl
- pointAmount
- price
- tokenProductType
GET /v1/reward-market/token-bundles HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json{ "tokenProductList": [ { "id": 3, "googleProductId": "example_token_pack_50", "name": "50 tokens", "tokenAmount": 50, "imageUrl": "<token-bundle-image-url>", "pointAmount": 0, "price": 2999, "tokenProductType": "IAP" } ], "tokenProductIdWithBadge": 3 }Create Stripe payment intent for tokens
POST
/v1/token-checkout/payment-draftsopenfinanceCreates a Stripe payment intent for tokenProductId, returning payment state, payer msisdn, amount, currency and the clientSecret, publishableKey, ephemeralKey and customerId needed by checkout.
Auth: Authorization: Bearer <session-token>. Accept: application/json. Supply tokenProductId.
- tokenProductId
- msisdn
- intentId
- amount
- currency
- status
- response
- clientSecret
- publishableKey
- ephemeralKey
- customerId
POST /v1/token-checkout/payment-drafts HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json Content-Type: application/json { "tokenProductId": 3 }{ "tokenProductId": 3, "msisdn": "<subscriber-msisdn>", "intentId": "<payment-intent-id>", "amount": 2999, "currency": "try", "status": "requires_payment_method", "response": "ok", "clientSecret": "<payment-client-secret>", "publishableKey": "<publishable-key>", "ephemeralKey": "<ephemeral-key>", "customerId": "<payment-customer-id>" }Read gamification mission progress
GET
/v1/reward-journey/mission-statusopendataReads the signed-in subscriber's mission progress through completedMission, totalMissionCount, missionActive, milestoneCategory and rewardGainedAmount.
Auth: Authorization: Bearer <session-token>. Accept: application/json.
- completedMission
- rewardGainedAmount
- milestoneCategory
- missionActive
- totalMissionCount
GET /v1/reward-journey/mission-status HTTP/1.1 Authorization: Bearer <session-token> Accept: application/json{ "completedMission": 4, "rewardGainedAmount": 750, "milestoneCategory": 2, "missionActive": true, "totalMissionCount": 8 }
Data categories
- balances
- transactions
- identity
- catalog
- payments
- missions
Where teams use this data
Prepaid data-cap reconciliation
Ops jobs compare LimitResponse.dataLimit and pointLimit with redeemed MarketProductsResponse rows (onlyTurkcell, productId, value) so carrier packs are not oversold against the remaining cap.
Rewards ledger ETL
Finance bots pull HistoryItem partner, reason, created, value and type plus BalanceResponse.amount and TokenBalance.tokenBalance to rebuild the GB/token ledger outside the app.
Voucher partner settlement
Partner ops match BuyResponse.purchaseId, transactionId, state, deliverable and code to PartnerWebsiteItem.url rows after a pinOtp redemption.
MSISDN P2P transfer monitoring
Risk desks watch TransferRequest.toMsisdn, amount and pinOtp alongside charity CharitiesResponse.msisdn destinations to separate peer sends from donations.
Frequently asked questions
How does FreeByte identify a subscriber?
Subscribers sign in with an MSISDN phone number and SMS OTP. The account check reports existingUser and etkAccepted, the communications-consent flag. Successful OTP confirmation returns a session token for Bearer-authenticated requests.
Which wallet balances and catalog fields are available?
The GB wallet pool uses amount, while paid or earned tokens use tokenBalance. The pointLimit and dataLimit fields describe the remaining point and mobile-data redemption caps. Catalog entries carry onlyTurkcell for carrier-specific eligibility alongside productId, value, price and type. The deliverable and code fields describe redemption delivery, allowing data packs and vouchers to be represented in the same catalog.
Which fields support redemption and transfer reconciliation?
Redemptions take itemId, receiver and pinOtp, then return purchaseId, transactionId, state, deliverable and code. Peer transfers use toMsisdn, amount and pinOtp; wallet ledger entries include partner, reason, created, value and type.
Are the displayed API routes live service addresses?
No. The paths and request and response examples are illustrative models of the app's data flows, not production service addresses. Example subscriber numbers, tokens and payment keys are placeholders.
Apps similar to FreeByte
- Google Opinion Rewards — Google Opinion Rewards is Google's survey app that pays Google Play credit for answering short questionnaires sent to the phone.
- KazandıRio — KazandıRio is PepsiCo Turkey's rewards app where codes from Pepsi, Doritos, Lay's and related brands can be redeemed for gifts that include free internet, game codes and shopping vouchers.
- Daha Daha — Daha Daha is Coca-Cola's Turkey rewards app that lets users enter codes from bottle caps to claim internet packages, food discounts, game codes and other prizes.
- Hopi — Hopi is Boyner's Turkish shopping-rewards app that issues Paracık credit and brand deals for online and in-store purchases across clothing, electronics, travel and groceries.
- Freecash: Earn Money — Freecash is a rewards app that pays for playing games, completing surveys and testing products, with cash-outs via bank transfer, PayPal or gift cards.
- Testerup: Test & Earn Rewards — Testerup is a rewards app where members play games, complete offers and take surveys, then request a transfer from their in-app balance.
- Bounty — Bounty is a Turkish survey app that pays members for completing simple questionnaires and lets them withdraw approved earnings.
Topics
- FreeByte API
- Kazan Kazan rewards data
- Kim GB Ister mobile rewards
- GB wallet tokenBalance
- Turkcell data pack catalog
- voucher redemption ledger
- pointLimit dataLimit
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use