Superteam Brasil
Academy Test
Devnet test page. All instructions and data.

Disconnected

Config

No config (connect wallet).

Courses

No courses.

Learner
Wallet-signed actions

Connect wallet for learner actions.

Admin / Backend (API)
Backend-signed transactions. Requires NEXT_PUBLIC_BACKEND_URL and backend with ACADEMY_AUTHORITY_KEYPAIR and ACADEMY_BACKEND_SIGNER_KEYPAIR. Use courseId from create-course (e.g. test-course-1).

Rotates the backend signer. Use after deploying a new keypair; the new signer will be used for complete_lesson, finalize_course, issue_credential, upgrade_credential.

Registers a new course PDA on-chain. Sets lesson count, XP per lesson, and creator. Must exist before learners can enroll.

Marks one lesson complete for a learner and mints XP. Learner must be enrolled first. Backend signer required (anti-cheat).

Call when learner has completed all lessons. Mints 50% bonus XP to learner, creator reward (if threshold met), sets completed_at. Required before issue_credential.

Changes course fields (isActive, xpPerLesson, etc). Authority only. Leave a field empty to skip updating it.

Creates a soulbound Metaplex Core credential NFT for the learner. Requires finalize_course first. trackCollection = Metaplex Core collection pubkey (from create-mock-track or create_achievement_type).

Updates an existing credential NFT (name, URI, attributes). Use when learner completes another course in the same track. credentialAsset = existing NFT pubkey.

Registers a wallet as an XP minter. Minters can call reward_xp and award_achievement. maxXpPerCall: 0 = unlimited.

Closes the MinterRole PDA and reclaims rent to authority. Revoked minter can no longer call reward_xp or award_achievement.

Mints arbitrary XP to a recipient. Requires backend signer to be a registered minter (auto-registered at initialize). Used for community events, etc.

Defines an achievement badge (e.g. hackathon-winner). Creates Metaplex Core collection. maxSupply: 0 = unlimited. xpReward > 0 required.

Mints achievement NFT + XP reward to recipient. Requires registered minter (backend signer is auto-registered). collection = achievement type collection pubkey.

Disables future awards for this achievement. Existing recipients keep their NFTs. Authority only.