token

作成者: convex-dev

Convex上で代替可能トークンを作成・管理します。ユーザーが新しいトークンの作成、トークン残高の確認、またはトークン供給量の管理を希望する場合に使用します。

npx skills add https://github.com/convex-dev/convex --skill token

Fungible Tokens on Convex

Fungible tokens use the @convex.fungible standard library (convex-core/src/main/cvx/convex/asset/fungible.cvx). See the convex-lisp skill for CVM conventions, and transact for how transactions are signed.

Create a New Token

Fixed supply — no further tokens can ever be minted:

(deploy (@convex.fungible/build-token {:supply 1000000}))

Mintablebuild-token alone provides no mint or burn capability. To allow minting you must compose add-mint into the same deployment:

(deploy [(@convex.fungible/build-token {:supply 1000000})
         (@convex.fungible/add-mint {:minter *address* :max-supply 1000000000})])

Decide which the user wants before deploying — the choice is permanent, and a token deployed without add-mint fails on any later mint attempt.

build-token config: :supply (defaults to 0), :initial-holder (defaults to *address*), :decimals. add-mint config: :minter (any trust monitor, defaults to *address*) and :max-supply (from protocol v1, defaults to unlimited).

Always set :max-supply explicitly. Before v1 activates, omitting it defaults the cap to 0 — and because 0 is truthy in CVM, that installs a zero cap which blocks all minting, silently producing a mintable-looking token that can never mint (#528). Setting it explicitly is correct under both genesis and v1. See the protocol-versions skill.

deploy returns the token's actor address.

Operations

TaskSource
Check balance(@convex.fungible/balance #TOKEN #HOLDER)
Total supply(@convex.fungible/total-supply #TOKEN)
Decimals(@convex.fungible/decimals #TOKEN)
Transfer(@convex.fungible/transfer #TOKEN #DEST AMOUNT)
Mint(@convex.fungible/mint #TOKEN AMOUNT)
Burn(@convex.fungible/burn #TOKEN AMOUNT)

There is no quantity function — it returns :UNDECLARED. Total supply is total-supply.

balance, total-supply and decimals are reads: use a query, not a transaction. transfer, mint and burn change state and must be transactions.

If a Convex MCP server is configured, its getBalance and transfer tools also accept a token parameter.

Authorisation

Minting requires the caller to satisfy the token's :minter trust monitor; anything else fails with :TRUST. :minter takes any trust monitor, not just an address — see the trust skill for composing them (a mint window, a multi-party whitelist, delegated revocation). Creating, transferring, minting and burning are all transactions, so they need a key the user has supplied — see the transact skill. Without one you can prepare the source but not execute it.

convex-devのその他のスキル

account
convex-dev
Convexアカウントを作成または確認します。ユーザーが新しいアカウントを設定したい場合、アカウントの詳細を確認したい場合、またはキーを管理したい場合に使用します。
account
convex-dev
Convexアカウントを作成または確認します。ユーザーが新しいアカウントを設定したい場合、アカウントの詳細を確認したい場合、またはキーを管理したい場合に使用します。
build-convex
convex-dev
Convexプロジェクトをソースからビルドします。コントリビューターがConvexをコンパイル、テスト、またはパッケージ化したい場合に使用します。
convex-db
convex-dev
Convex DB(ラティスベースのSQLデータベース)を使用します。ユーザーがクエリの作成、JDBCまたはPostgreSQLクライアント経由の接続、テーブルの作成、データの挿入・クエリを行う際に役立ちます、…
convex-lisp
convex-dev
Convex Lisp言語リファレンス — CVMの規約、ライブラリコードの呼び出し、アクター定義、ジュースとエラーコード。CVMソースの作成やデバッグ時に使用。
deploy
convex-dev
アクター(スマートコントラクト)をConvexネットワークにデプロイします。エクスポートされた関数を持つ新しいオンチェーンアクターを作成したい場合に使用します。
ecosystem
convex-dev
Convexエコシステムにおけるオリエンテーション — どのリポジトリに何が含まれているか、仕様書とドキュメントがどこにあるか、どのクライアントライブラリが存在するか。コンテキストが必要なときに使用します…
local-network
convex-dev
開発用にローカルのConvexテストネットワークを実行します。ライブネットワークに対して変更をテストする場合、ピアの問題を再現する場合、またはリモートネットワークがない場合に使用します…