SkillChain Documentation
SkillChain is an on-chain education protocol built on Base. This reference covers the $SKILL token, the burn mechanism, course store contracts, certificate issuance, and integration guides for developers and partner schools.
Quickstart
To start using SkillChain, you'll need a Base-compatible wallet and a small amount of ETH on Base for gas. Here's the fastest path to your first course:
- Install a wallet that supports Base — we recommend
Coinbase WalletorMetaMaskconfigured for the Base network. - Bridge or buy ETH on Base to cover gas fees (typically under $0.01 per transaction).
- Acquire $SKILL tokens via the Uniswap V3 pool, or earn them by completing a free intro course.
- Connect your wallet at
app.skillchain.inkand browse the course catalog.
# Add Base network to your wallet via chainlist
curl -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","id":1}'
# Expected response: chainId 0x2105 (8453)
Architecture
SkillChain runs entirely on Base, an Ethereum L2 built by Coinbase. The protocol consists of four core on-chain components and an off-chain content layer:
| Component | Standard | Purpose |
|---|---|---|
| SkillToken.sol | ERC-20 | The $SKILL token. Mintable by treasury, burnable on purchase. |
| CourseCertificate.sol | ERC-1155 | Non-transferable proof-of-completion badges per course. |
| CourseStore.sol | Custom | Handles purchases, splits payment 85/10/5, triggers burn. |
| RewardDistributor.sol | Custom | Distributes $SKILL prizes for competitions and bounties. |
Course content (videos, text, quizzes) is stored off-chain via IPFS for censorship resistance, with content hashes anchored on-chain in the course registry for verifiability.
$SKILL token overview
$SKILL is the native utility token of the SkillChain protocol. It is used to purchase courses, reward learners, and — in future governance phases — vote on protocol parameters.
| Property | Value |
|---|---|
| name | SkillChain Token |
| symbol | SKILL |
| decimals | 18 |
| totalSupply | 1,000,000,000 SKILL (fixed at deploy) |
| network | Base Mainnet (chainId 8453) |
| mechanism | Deflationary — 5% burned on every course purchase |
mint() function reachable post-deploy — supply can only decrease via burns.Tokenomics & allocation
The initial 1,000,000,000 $SKILL supply is allocated as follows:
| Allocation | % of supply | Vesting |
|---|---|---|
| Community & rewards | 50% | Released over 4 years via competitions & staking |
| Liquidity pool | 15% | Locked 12 months at launch (Uniswap V3) |
| Investors | 20% | 6-month cliff, 18-month linear vest |
| Team | 15% | 12-month cliff, 24-month linear vest |
Burn mechanism
Every course purchase routes the payment through CourseStore.sol, which splits the $SKILL atomically in a single transaction:
function purchaseCourse(uint256 courseId) external {
Course memory course = courses[courseId];
uint256 price = course.price;
uint256 creatorAmount = (price * 85) / 100;
uint256 treasuryAmount = (price * 10) / 100;
uint256 burnAmount = price - creatorAmount - treasuryAmount;
skillToken.transferFrom(msg.sender, course.creator, creatorAmount);
skillToken.transferFrom(msg.sender, treasury, treasuryAmount);
skillToken.burnFrom(msg.sender, burnAmount);
certificate.mint(msg.sender, courseId);
emit CoursePurchased(msg.sender, courseId, price, burnAmount);
}
CoursePurchased event and is publicly verifiable on Basescan. Cumulative burned supply will be tracked live on our token dashboard at launch.Contract addresses
All SkillChain contracts are deployed and verified on Base Mainnet. Addresses below will populate at Stage 0 launch.
Course store
The course store is the primary purchase surface. Each course is registered with a price (in $SKILL), a creator address, and an IPFS content hash.
import { useSkillChain } from '@skillchain/sdk';
const { purchaseCourse, balance } = useSkillChain();
async function buy(courseId: number) {
const tx = await purchaseCourse(courseId);
await tx.wait();
// certificate NFT is minted automatically on success
}
Certificates (NFT)
Completion certificates are minted as ERC-1155 tokens, non-transferable by design — they represent your verified learning history, not a tradable asset.
- One token ID per course, minted directly to the learner's wallet on completion.
- Soulbound: transfer functions are overridden to revert, preventing resale or transfer.
- Publicly queryable — any employer or school can verify a wallet's certificates via Basescan or our public API.
Competitions & rewards
$SKILL rewards for competitions and bounty projects are distributed via RewardDistributor.sol, funded from the community allocation treasury.
Wallet integration
SkillChain supports any Base-compatible wallet via standard EIP-1193 providers. We recommend RainbowKit or wagmi for frontend integrations.
npm install @skillchain/sdk wagmi viem
API reference
The SkillChain REST API exposes read endpoints for courses, certificates, and burn statistics. Base URL: api.skillchain.ink/v1
| Endpoint | Method | Description |
|---|---|---|
| /courses | GET | List all published courses with prices and metadata. |
| /courses/:id | GET | Fetch a single course by ID. |
| /certificates/:wallet | GET | List certificates owned by a wallet address. |
| /token/stats | GET | Live supply, circulating supply, and cumulative burned amount. |
DAO & voting
Governance launches in Stage 4. $SKILL holders will be able to propose and vote on new courses, fee parameters, and treasury grants via a Governor Bravo-style module.
Security & audits
All core contracts will undergo independent audit prior to mainnet deployment. Audit reports will be linked here and on our GitHub once complete.