Total earned
-
Lifetime commission
KorekSchool, JAMB, WAEC and NECO — for students preparing, staff managing and partners growing.
Select the option that matches how you use Korek.
All payments are final. We do not offer refunds. If you cannot access the app after paying, contact support and we will fix it.
Cancel
KorekStaff access
Manage teachers, exam codes and results from one place.
Account recovery
Enter the email on your staff account and we will send a single-use reset link. Only that inbox can open it.
Back to sign inAccount recovery
Set the new password for . You will sign in with it right after.
Cancel and go backSecure sign-in · School · JAMB · WAEC · NECO
We sent a confirmation link to .
Click the link to activate your account. If you do not see it, check your spam folder.
If you already have an account with this email, use Staff sign-in instead.
Back to homeYour signup for is waiting for approval. You will be able to use your dashboard once the owner approves it. You can close this page and sign in again later.
Your signup is waiting for approval from your school principal. You will be able to use your dashboard once they approve it. You can close this page and sign in again later.
Your principal has turned off teacher access for your school. Please contact your principal if you believe this is a mistake.
Every account attached to this school is locked out until the owner lifts the suspension. Contact the owner if you believe this is a mistake.
Filled in from the link you followed. It credits the affiliate who invited you.
Not your recruiter? Remove this code BackBefore your dashboard unlocks, join the training channel and confirm here.
Then open @AmanaCBTBot on Telegram and send it this code:
Your affiliate account is waiting for the owner to approve it. You will be notified when this is done.
Earnings, network and payout status at a glance.
Total earned
-
Lifetime commission
Available balance
-
Ready to withdraw
Referrals
-
Students who paid
Schools brought in
-
Your school pipeline
Every student who signs up through this link is credited to you.
Students credited to you in each of the last six months.
-
Loading chart...
Where the money came from, straight from your ledger.
| Source | Amount |
|---|---|
| Direct students | - |
| School codes | - |
| Recruiter overrides | - |
| Refunded | - |
Set by the operator.
Loading payout policy...
Commission split and override status come from the platform's live affiliate rules.
Pick flat or percentage before your first student pays. The choice locks afterwards.
| School | Location | Joined | Commission method | Earnings | Action |
|---|
Every student credited to your code, newest first.
-
| Student | Source | Commission | Earned | Status |
|---|
Loading payout policy...
Checking Telegram status...
Open a receipt for any payout, then print it or save it as a PDF.
| Requested | Amount | Fee | Net | Status | Receipt |
|---|
Copy your code or link and drop it into any channel.
Each button opens the app on your own account with your code already written into the message.
Flyers, captions and graphics published by the operator.
See how many schools in a state or LGA are still open before you pitch.
| State | Schools | Already affiliated | Open slots |
|---|
Type part of a school name to see whether it is already on the platform before you visit.
| School | LGA | State | Your claim |
|---|
Payouts go to the account Paystack verifies below.
Your affiliate identity and account status.
Need help? Reach the operator on the support channel.
The identity this affiliate account signs in with. Bank details and withdrawal settings stay on Bank & settings.
At least 8 characters. Your current password is checked first, so a browser left open on a shared machine cannot be used to change it.
This ends the session on this device only. Your earnings, referrals and network are untouched.
Payouts, approvals and announcements from Korek.
Pick the exam you want to practise.
Days in a row —
Loading...
Practise one subject, or sit a full JAMB simulation.
Pick the subject you want to practise.
You can link up to two devices to this account. Use one device for JAMB practice and one for WAEC/NECO practice, or keep both on the same exams.
Show this code on your new device:
Your averages for every exam you have submitted, weakest first.
Exam countdown —
Readiness —
Exam results and announcements from Korek.
Homework, tests and examinations set by your teachers. Open work first, then closed work.
Question 1
Loading question...
Practise with no timer, or sit the real paper duration.
Your answers save automatically. You can reload the page and continue.
Question 1
Keyboard-only mode is active for this exam. Use A, B, C, D to answer. Use P for Previous, N for Next, R for Reverse, S for Submit.
Loading question...
0 / 0
0%
Loading...
You've hit the 20-question limit. Upgrade to unlock all subjects for 30 days!
Price: ₦1,000 / month
Bank: OPay
Acct No: 7017860781
Name: Mohammed Abdulmalik
Send this email to admin:
Loading schools…
One school per line: Name, State, LGA, Notes. Name and state are
required — the other blank columns are stored as empty. Up to 200 schools
per batch.
Commas or tabs separate columns. Rows missing a name or state are reported and skipped. Duplicate names are skipped, not created twice.
| School | State | Status | Retail JAMB | Retail Combo | Actions |
|---|
| Code | Tier | Type | Status | Used by | Used at |
|---|
Deleting is permanent. Codes that were used, that carry a payment or an affiliate earning, or that a student record still names are kept and listed for you — nothing with money or student history behind it is removed here.
Nothing ticked yet. Tick a user to delete several in one go.
| Name | Role | School | Tier | Access level | Expires at | Code used | Actions |
|---|
Deleting an account removes its sign-in, exam scores, saved answers and notifications, along with any assessment it created. A student named in an affiliate commission is deactivated instead, so the money record survives.
More than one account is about to be deleted. This cannot be undone.
Every submitted paper, filtered in the database. The figures below describe the whole filtered set, not just the rows loaded underneath them.
Attempts
Students
Average score
Pass rate (50%+)
Best score
Flagged
Pick your filters and press Search.
| Student | School | Subject | Exam | Score | % | Submitted | Anomaly | Sheet |
|---|
Deleting a score is permanent: the paper, its total and its saved answers all go. Only the super-admin function in migration 0107 can delete, and it deletes exactly the rows you tick — never a filter.
Nothing ticked yet. Tick the box on the left of a row to pick it.
Turn an exam body on or off for students, and set keyboard-only mode for each body. A body that is off disappears from the student flow; its questions, durations and windows are kept. Keyboard-only mode applies to laptop and desktop only - phones and tablets always answer by touch.
Official paper durations for WAEC, NECO and JAMB. Edit one value, or tick several rows and apply one duration to all of them. Archiving hides a paper from the student flow but keeps its history; a row you added by hand can also be deleted outright.
No rows ticked.
To add a paper the timetables did not include, use the form below.
Optional. A window records when a paper is meant to be sat, so the list below can show Open, Scheduled or Closed at a glance. Leave the subject key empty to cover every subject of that exam; one window per exam and subject. Nothing in the student flow reads this table yet, so a window does not by itself stop a paper starting.
Every change to a duration, newest first, with the actor and time stamped by the server. The log is append-only: nothing here can be edited or deleted, and it survives an archived or deleted duration.
Pick a CSV file. Each row is one objective question or one essay row. For an essay, the stem row has a group number and no part label, and each part row has the same group number and a part label like (a). The app checks every row and shows a preview before anything is written.
A subject is shown to students only when its toggle here is ON and at least one question exists for it in the database. The question count beside each subject tells you which of those two conditions is or is not met.
Manage the syllabus topics for each class, term, and subject. Questions are tagged to these topics.
Browse, search, and edit questions in the database. Editing does not delete. To add new questions, use the upload section above.
| Type | Exam | Subject | Question | Answer |
|---|
Deleting is permanent. A question that an assignment paper or a student essay answer still needs is kept, and the panel tells you which ones were kept and why.
Nothing ticked yet. Tick the box on the left of a row to pick it.
Use this to clear a whole paper: pick the subject and exam, narrow it if you want, and only those questions go. Subject and exam are required so a half-filled form can never empty the bank. If more questions match than the cap below, nothing is deleted and you are told how many matched — narrow it instead.
Approve a school admin so they can sign in, or reject the signup with a reason they will read on their next attempt.
Loading...
Nothing ticked yet. Tick an applicant to approve several in one go.
| Applicant | School | Location | Decision | Reason | Decided by | Decided | Linked school |
|---|---|---|---|---|---|---|---|
| Switch to Decided to load the history. | |||||||
(no email on file)
0 / 500 Optional, but it is the only explanation the applicant gets.
Every partner, what they have earned, what is still owed, and who changed what.
Ranked by total earned. Paid out is money already sent; the rest is what the project still holds.
Send hands one payout to Paystack. Void and retry change our records only, never the bank. Approving the transfer itself still happens in the Paystack dashboard.
| Affiliate | Amount | Account | Status | Actions |
|---|---|---|---|---|
| Loading... | ||||
A referred signup named a school that already exists. Leaving the student in Amana Affiliates keeps the credit with the affiliate.
| Student | Referred by | Claimed school | Existing match | Resolve |
|---|---|---|---|---|
| Loading... | ||||
A pending affiliate earns nothing until approved.
| Affiliate | Code | Joined | Telegram | Approve |
|---|---|---|---|---|
| Loading... | ||||
Search by name, email or code. Open a row for referrals, schools and the audit trail.
| Affiliate | Status | Earned | Paid out | Referrals | Schools | Flags | Actions | |
|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||
Pausing stops new signups and new earnings. Existing balances are never touched.
(no affiliate selected) A flag is a note for the next operator. It does not stop earnings on its own.
0 / 500 At least a sentence. This is the only record of why.
No rows selected Shown on the affiliate dashboard notice board. Nobody is emailed.
0 / 500 Keep it short and specific.
(no affiliate selected) Every status change, flag and payout decision, newest first.
| When | What | By | Why |
|---|---|---|---|
| Loading... | |||
These are the money numbers for the whole platform. Wholesale is computed from the school's retail using the percentage and floor below. The affiliate flat cut and affiliate percentage set what direct and school-path affiliates earn. Save applies immediately to new signups and new redemptions; existing locked records keep their captured values, and every save is written to the audit trail at the bottom of this tab with the before and after values.
One message to a chosen audience. Students, teachers and principals read it in the notification bell they already open, and it disappears the moment it is recalled. A scheduled announcement stays invisible until its go-live time passes, so there is no background job to miss; recalling it keeps the row and its audit entry, because the history of having sent it matters. Affiliates have their own bell, so ticking "Also show it to active affiliates" writes a copy to each active affiliate's notice board in the same send. Choosing All affiliates is that copy on its own, addressed to nobody else, and it cannot be scheduled because there would be no moment to write it.
Send to is locked to the role this audience names, so the two cannot disagree. Pick another audience to choose groups yourself.
Leave "Goes live" empty to send it now. A future time schedules it: it will not appear in any bell until then, so it cannot also go to the affiliate notice board. The affiliate copy is written straight to their board, and Recall does not take it back.
Kill switches for platform features. A flag marked "sensitive" moves money, access or exam behaviour, so it is listed a second time under Sensitive changes the moment it moves. A change takes effect for the next request; nothing has to be redeployed.
The last 25 changes that moved money, access or exam behaviour. Routine edits are in the settings audit trail further down the tab; this card exists so the changes that can cost or unlock something are never buried.
Export writes the money numbers, the exam settings and every feature flag to a JSON file you can keep or move to another environment. Import reads the whole file before it writes anything and skips flag keys it does not recognise, so an old file cannot invent a switch. Reset puts the money numbers back to the shipped defaults; it does not touch schools, students, codes, payments or exam content.
Every change made on this tab, newest first: the money numbers, announcements, feature flags and any export, import or reset. Rows are written by the database and cannot be edited or deleted, not even by a super admin, so the list is the record rather than a copy of one.
Money in
Paystack
Cash
Net to Operator
| Money in | - |
|---|---|
| of which Paystack | - |
| of which cash | - |
| Owed to principals | - |
| Affiliate earnings | - |
| Net to operator | - |
| School | Category | Cash received | Online sales | Owed to principal |
|---|
Compares the selected period to the period immediately before it. Not available for All Time.
| Metric | Current | Previous | Change |
|---|
Select a bar to filter the whole tab to that school.
Current state, does not follow the period filter.
| School | Paid unused | Demo unused | Oldest unused |
|---|
Current state, does not follow the period filter.
Follows the period filter. Retry moves a failed payment back to pending and records who did it. It grants nothing: access is only ever given by the Paystack webhook after the signature check and the server-side verify, so a retry simply puts the reference back in front of that same path.
| Reference | Kind | Amount | Reason | Date | Action |
|---|
Current state, does not follow the period filter.
Current state, does not follow the period filter.
| School | Student | Access | Tier | Expires | Days Left |
|---|
Follows the period filter.
| Subject | Exam | Submissions |
|---|
Paid students by tier (current state). Exam usage follows the period filter.
| Exam | Submissions |
|---|
Current state, does not follow the period filter.
| Affiliate | Status | Raw Balance | Payable |
|---|
Follows the period filter.
Select a bar to filter the table above to that subject.
Select a bar to filter the exam table above to that exam body.
Current state, does not follow the period filter. Activity means a row in scores. Essay responses do not count.
Cohorts under 10 students have indicative percentages only.
| Cohort | Type | Size | Month 1 | Month 2 | Month 3 | Month 4 | Month 5 | Month 6 |
|---|
Paid students who have gone quiet while their access is still live. A student whose access has already run out is a renewal problem and appears in the expiring list instead, so the same student is never chased twice. A student who redeemed a code and never sat a paper is measured from the day they redeemed it rather than left out.
Showing at most 200 students, quietest first.
| Student | School | Tier | Expires | Last activity | Days quiet |
|---|
Records whether the weekly Monday summary email should go out. This tab stores the intent only: the sender is a separate job and nothing is sent from here, so switching it on does not put a message in anyone's inbox today.
School health
Waiting for data
Students
Paid and active
Active in period
Unused codes
Earnings in period
Purchase codes in bulk to hand out to students. Pay with any method Paystack supports.
Loading codes...
| Code | Tier | Created | Copy |
|---|
Generate a code for one tier, free of charge, and give it to your students. The same code works for every student you give it to.
One code works for every student you give it to, and stops working when you revoke it. Revoking never removes a student's access: it only closes the code to new students.
Loading codes...
| Code | Tier | Status | Created | Row actions |
|---|
A notice goes to the people you pick in your school, on the screen they already open. It cannot be edited or recalled once it is sent, so read it over before you press Send.
The ten most recent notices your school has sent, newest first.
| Sent | Title | Message |
|---|---|---|
| Loading notices... | ||
Class and guardian details are the ones the school collected at enrolment. Each row opens the student's record, where devices can be reset and access extended; both write a reason to the school's audit trail.
| Select | Row actions |
|---|
No students yet.
Two columns per row: name and class. Each row reserves one of your unused codes and writes the student's name and class on it, so the code is ready to hand out. No code is created here and no access is granted: only codes your school has already bought are used, 200 rows at a time.
| # | Name | Class |
|---|
| Name | Class | Code |
|---|
Tick students in the list above, then extend their access or send them a message. Extending adds days to each student's existing expiry, and reports any student it could not change instead of failing the whole list.
No students selected.
Every device reset, every access extension and every profile correction your school has made, newest first. Each entry is written by the action itself and cannot be edited or deleted, here or anywhere else.
Loading entries...
| When | Action | Student | By | Reason | Effect |
|---|---|---|---|---|---|
| Loading entries... | |||||
Students who have never practised, or have not practised in the last 14 days. This window is fixed and does not follow the header date filter.
Loading…
Teacher access is turned off. Turn it on to generate invite codes.
A teacher's classes say which of SS1, SS2 and SS3 they take. Change opens the three classes for that teacher; Save replaces their list with what is ticked, and clearing all three removes them from every class.
Assignments set and questions submitted in the last 30 days, one line per teacher. Counts only: no class and no student is named.
—
—
| Subject | Attempts | Average |
|---|---|---|
| No completed practice yet. | ||
Printed — from Korek.
Continue?
Prints name, class, exam readiness and subject averages for this student on one sheet.
Unlinks every device from this student and closes any pending link code. It issues nothing: no new code, no account and no change to access.
Written to the school's audit trail.
Adds days on top of the date this student already has. It grants no tier and charges nothing.
Between 1 and 3650 days. Written to the school's audit trail.
Corrects what the school recorded at enrolment. It changes no tier, no access date and no code.
Saved with your name and today's date on the school's audit trail. Leave Class, Gender, date of birth or the guardian details blank if they were never recorded.
The latest 50 completed practice attempts, newest first.
| When | Exam | Subject | Score | Percent |
|---|---|---|---|---|
| Loading… | ||||
The last 10 actions taken on this student's account, from the school's audit trail.
| When | Action | By | Reason |
|---|---|---|---|
| Loading… | |||
Counted from the classes your principal assigned you. A class you cannot see here is a class you have not been given.
Students
—
In my assigned classes
Assessments
—
Created by me
Open
—
Still accepting work
Bookmarks
—
Saved bank questions
Average practice
—
All recorded sessions
Average practice score per class across every recorded session. Classes with no sessions yet are listed at zero rather than hidden.
A draft is private to you. Publishing opens the assessment to every student in your school, and only you can publish an assessment you wrote.
Loading assessments...
| Title | Type | Subject | Exam | Questions | Due | Status | Actions |
|---|---|---|---|---|---|---|---|
| Loading assessments... | |||||||
Open Results on an assessment to see who submitted it.
| Student | Score | Percent | Submitted | |
|---|---|---|---|---|
| No results to show yet. | ||||
Highest score first, at most 500 submissions per assessment.
Counted across every submission to this assessment. A question nobody answered shows 0 answered instead of being hidden.
| # | Question | Answered | Correct | Pass rate |
|---|---|---|---|---|
| Open an assessment's results to see its questions. | ||||
Students in the classes your principal assigned you. A class you cannot see here is a class you have not been given.
| Student | Class | Last practice | Average | Actions | |
|---|---|---|---|---|---|
| Loading students... | |||||
Last practice and Average come from each student's most recent recorded attempts. Details opens a record you can read but not change.
Notices your principal and the platform sent to you, newest first. This page is a reader: a notice is written once, by whoever owns the audience.
Every objective question a teacher may use, searchable by exam, subject and wording. The answer key is never sent to this screen.
Choose a subject, then search.
| Question | Year | Bookmark |
|---|---|---|
| No questions to show yet. | ||
Send a question to the operators for review. teacher_submit_pending_question stores it as pending, so no student is served it until an operator approves it, and this screen never writes to the bank itself.
Questions you kept for later, newest first, with your own note. A bookmark is private to you: no principal and no student can read it.
Loading bookmarks...
| Question | Year | Your note | Bookmark |
|---|---|---|---|
| No bookmarks to show yet. | |||
Questions you sent to your principal for review. A question that was sent back can be corrected and resubmitted once the editor lands; publishing into the shared bank stays with the platform.
| Question | Subject | Exam | Status | Review note | Submitted |
|---|---|---|---|---|---|
| Loading your submissions... | |||||
The latest attempts recorded for this student, newest first.
| When | Exam | Subject | Score | Percent |
|---|---|---|---|---|
| No practice recorded yet. | ||||
This record is read-only. Changing a student's class, access or devices is your principal's job.
Korek
This certificate is awarded to
—
for averaging — across — in
—
| Exam | — |
|---|---|
| Milestone | Subject average of 75% or better |
| Issued | — |
A progress certificate from Korek. It records practice on this platform and is not a certificate issued by an examination body.