Who can create a class?
An institution owner (org-admin), or a school admin scoped to a school, can create a class. On the website that role sees Create Class on the institution classes page. The class needs a name, a school, and an instructor. You can also set a subject (Math, Reading, Logic, Latin, Greek, Writing, or General), a grade from kindergarten through 12, a period, and a maximum number of students. In chat, an owner or school admin calls educator_create_class with the institution id, the school id, a name, and instructorId set to "me" or another user id. That call needs the classes:write scope. A teacher sees the classes they teach and does not get Create Class. A new institution is a sandbox with a default school named Main campus, and the person who creates it is the owner.
How do student join links work?
The institution owner creates a student invite link. On the website that control is the Student invite link panel. In chat the owner calls educator_create_join_link, which returns the URL. A link can have a label of up to 80 characters. If you set an expiry, it must be 1 to 365 days. If you set a use cap, it must be 1 to 10,000 joins. Leave either one out for no end date or no cap. An institution can have 25 active links. The address is a /join/ URL on this site. A person who is signed out signs in or creates an account and is enrolled as a student. Someone who is already a member keeps their current role. A link that is turned off, expired, full, or past the institution seat limit does not enroll anyone new. Turning a link off leaves people who already joined enrolled. The owner can list links with educator_list_join_links and turn one off with educator_revoke_join_link. Creating or turning off a link in chat requires a verified email and invites:write. Email invites are a separate path: educator_invite_members sends a setup email and does not return a password link.
How do credits and pricing work?
Ludwitt does not sell a subscription. AI use is charged from a credit balance using the tokens the model returns. A new Basics learner receives $5 in credits once, the first time they pick a starting grade. Personal credit packages are $5, $10, $25, $50, $100, and $250, paid through Stripe. A custom personal deposit must be from $5 to $500. Institution deposits use the same range. The server enforces it: amounts under 500 cents or over 50,000 cents are rejected. The balance stays until it is used.
What is the institution credit pool?
Personal credits and the institution pool are separate. When institution credits apply to a membership, that person's AI use is drawn from the pool. An owner or a school admin can fund it on the institution billing page. Add funds opens Stripe Checkout for $5 to $500. The person pays in the browser. Ludwitt does not take a card number in the admin form. Use my credits moves $5 to $500 from that admin's personal balance into the pool and does not charge a card. A new sandbox starts at 5 seats. The first successful funding — a paid deposit or a personal transfer — raises the seat limit to 100. The owner can set or clear a per-student cap, monthly or for all time, on the website or with educator_set_student_cap.
Who can start checkout from chat?
Checkout through chat is for the institution owner. educator_create_credit_checkout requires the org-admin role, a verified email, and the billing:write scope. It returns a checkoutUrl and a sessionId. The owner opens the link and pays. Poll educator_get_checkout_status until credited is true. The amount must be from $5 to $500. An API key created with an empty scope list does not include billing:write; that scope has to be added, or approved on the sign-in consent screen. Moving personal credits with educator_transfer_personal_credits is available to an owner or a school admin, for the same $5 to $500 range, and does not charge a card.
How do I connect an AI agent with MCP?
Point an OAuth client at the Ludwitt MCP server, https://pitchrise.ludwitt.com/api/mcp, and sign in. No API key is required for that path. The learner loop is basics_get_progress, then basics_get_current_problems for math, reading, Latin, Greek, logic, or both, then basics_check_answer. The problem payload omits the answer until the check. Writing stays on the website. An educator can list or create an institution, create a class, share a join link, and fund the pool with the educator tools. Creating an institution in chat requires a verified email and orgs:write, and is limited to one create per 24 hours and three in total. A K-12 institution also requires attestsAuthority set to true. Connection steps are on /docs/mcp. Class, join-link, and credit steps are on /docs/instructors.