토큰 확장이란 무엇이며 Web2 개발자가 관심을 가져야 하는 이유

작성자

카테고리:

← 피드로
DEV Community · Vinay · 2026-06-26 개발(SW)
Cover image for What Token Extensions Are and Why a Web2 Developer Should Care

Vinay

Vinay

Posted on Jun 26 • Edited on Jun 28

You already understand tokens. Extensions are just middleware for your money.

If you have ever worked with Stripe, you know the pattern. You start with a simple charge: send money from point A to point B. Then you add features — subscriptions, transfer fees, metadata on invoices, compliance checks. Each feature is a separate Stripe product or API call, and wiring them together is your job.

Solana’s Token Extensions Program is the same idea, but at the blockchain protocol level. Instead of bolting features on top of a basic token after creation (which Solana does not allow), you declare every capability upfront, and the runtime enforces it automatically. No smart contract to write. No backend service to maintain. Just configuration flags at creation time.

What is a token extension?

A token extension is an optional feature you enable when you create a token mint. Under the hood, each extension reserves extra bytes in the mint’s on-chain account. Those bytes store configuration — an interest rate, a fee percentage, a metadata URI — and the Solana runtime reads them during every transaction.

The original SPL Token Program is simple. It stores supply, decimals, and authorities. The Token Extensions Program (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb) is a superset. It stores everything the original does, plus additional data for each extension you enable.

Extensions map directly to Web2 concepts

Extension Web2 Analogy What It Does Transfer Fees Payment processor fee Deducts a % on every transfer Interest-Bearing Savings account APY Displays time-adjusted balance Metadata Product catalog entry Stores name, symbol, URI on-chain Default Account State KYC gating All accounts start frozen; you thaw approved users Non-Transferable Professional license Tokens cannot be sold or transferred Permanent Delegate Admin revoke power Issuer can burn tokens from any holder

A concrete example

Here is the exact command I ran to create a token with transfer fees, interest-bearing, and metadata — all in one line:

spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb \
  create-token \
  --decimals 2 \
  --transfer-fee-basis-points 100 \
  --transfer-fee-maximum-fee 500 \
  --interest-rate 5 \
  --enable-metadata

Enter fullscreen mode Exit fullscreen mode

This single command does what would take three separate services in Web2:

  • Transfer fees (like Stripe taking 1%): 100 basis points = 1%, capped at 5 tokens
  • Interest-bearing (like a savings account): 5% continuous compounding
  • Metadata (like a product database entry): space reserved for name, symbol, and URI

After creating the mint, I added the metadata:

spl-token initialize-metadata [MINT_ADDRESS] \
  "ArcCoin" "ARC" \
  "https://example.com/metadata.json" \
  --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb

Enter fullscreen mode Exit fullscreen mode

Then I inspected everything with:

spl-token display [MINT_ADDRESS] \
  --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb

Enter fullscreen mode Exit fullscreen mode

The output showed each extension as a separate block — TransferFeeConfig, Interest-bearing, Metadata Pointer, Metadata — all living in the same on-chain account.

What surprised me

Extensions are additive in cost. Each one adds bytes to the mint account, and bytes require SOL for rent-exempt status. My bare mint (default-frozen only) was 171 bytes. Adding interest-bearing bumped it to 222 bytes. The multi-extension mint with transfer fees + metadata + interest was 599 bytes — costing over 2x the rent.

In Web2 terms: extensions are like choosing between a lightweight microservice and a feature-rich monolith. Both have their place, but you should make the choice deliberately.

Where to go deeper

The official Solana documentation covers every extension in detail:

If you are a Web2 developer curious about Solana, start with the extensions that map to problems you already solve — transfer fees, metadata, access control. You will recognize every one of them.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다