Minting an Art Blocks Token
Project ID Format
All minting tools require a full project ID: INLINECODE0
Example: INLINECODE1
Use discover_projects to find the project ID from a name or search term. To find projects currently open for minting, pass mintable: true — this filters to only projects with active minters and remaining supply.
Minting Workflow
Step 1 — Understand the minter
Call get_project_minter_config first. Returns:
- - Minter type (set price, Dutch auction, allowlist, RAM, etc.)
- Current price and currency (ETH or ERC-20)
- Remaining supply (
max_invocations - invocations) - Auction timing (start/end, price decay curve for DA minters)
- Allowlist details (for gated minters)
Step 2 — Check eligibility (gated projects only)
If the minter type is MinterMerkleV5 or MinterHolderV5, call check_allowlist_eligibility before proceeding.
Accepts a walletAddress (including ENS names) or an Art Blocks username. When the input resolves to an Art Blocks profile, all wallets linked to that profile are checked for eligibility. At least one of walletAddress or username is required.
| Param | Type | Notes |
|---|
| INLINECODE13 | string | Required. Full project ID. |
| INLINECODE14 |
string | Wallet address or ENS name. Provide this or
username. |
|
username | string | Art Blocks username — checks all linked wallets. |
|
chainId | number | Default
1.
1,
42161,
8453. |
Returns: eligibility status, gate type, which wallets are eligible (for multi-wallet profiles), and for holder-gated minters, which projects the wallet must hold tokens from.
Step 3 — Build the transaction
INLINECODE22 currently supports MinterSetPriceV5 (ETH) only.
| Param | Required | Notes |
|---|
| INLINECODE23 | yes | INLINECODE24 |
| INLINECODE25 |
— | Default
1. See chain IDs below. |
|
purchaseTo | — | Mint to a different address (gifting). Check
purchaseTo.disabled in
get_project_minter_config first — some projects disable this. |
Returns { transaction, project, minter, price, purchaseTo, warnings }. The warnings array contains non-fatal issues (paused project, sold out, complete) — always surface these to the user before they sign.
Minter Types
| Minter | Description | INLINECODE32 |
|---|
| INLINECODE33 | Fixed ETH price | Supported |
| INLINECODE34 |
Dutch auction — exponential decay | Use wallet directly |
|
MinterDALinV5 | Dutch auction — linear decay | Use wallet directly |
|
MinterMerkleV5 | Merkle allowlist gating | Use wallet directly |
|
MinterHolderV5 | Holder-gated (must own another token) | Use wallet directly |
|
RAM | Ranked auction mechanism | Use wallet directly |
For unsupported minters, explain the mechanics from get_project_minter_config data and direct the user to their wallet.
Chain IDs
| Chain | ID |
|---|
| Ethereum mainnet | INLINECODE40 |
| Arbitrum |
42161 |
| Base |
8453 |
Notes
- - User profiles: When a wallet address or username resolves to an Art Blocks profile, eligibility is checked across all linked wallets. The response includes
walletAddresses (all checked), profile info, and for Merkle gates, eligibleWallets showing which specific wallets passed. - ERC-20 projects:
get_project_minter_config indicates the currency token address. build_purchase_transaction only supports ETH — direct ERC-20 users to their wallet. - Dutch auctions: current price decreases over time. Use
start_price, end_price, auction_start_time, and auction_end_time from get_project_minter_config to explain current pricing. purchaseTo: useful for gifting — mints the token directly to a recipient address instead of the signer.
铸造 Art Blocks 代币
项目 ID 格式
所有铸造工具都需要完整的项目 ID:<合约地址>-<项目索引>
示例:0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-0
使用 discover_projects 通过名称或搜索词查找项目 ID。要查找当前开放铸造的项目,请传递 mintable: true — 这将仅筛选出具有活跃铸造者且仍有剩余供应量的项目。
铸造工作流程
步骤 1 — 了解铸造者
首先调用 getprojectminter_config。返回:
- - 铸造者类型(固定价格、荷兰式拍卖、白名单、RAM 等)
- 当前价格和货币(ETH 或 ERC-20)
- 剩余供应量(max_invocations - invocations)
- 拍卖时间(开始/结束时间,DA 铸造者的价格衰减曲线)
- 白名单详情(针对有门槛的铸造者)
步骤 2 — 检查资格(仅限有门槛的项目)
如果铸造者类型是 MinterMerkleV5 或 MinterHolderV5,请在继续之前调用 checkallowlisteligibility。
接受 walletAddress(包括 ENS 名称)或 Art Blocks username。当输入解析为 Art Blocks 个人资料时,将检查链接到该个人资料的所有钱包的资格。walletAddress 或 username 至少需要提供一个。
| 参数 | 类型 | 说明 |
|---|
| projectId | 字符串 | 必填。完整的项目 ID。 |
| walletAddress |
字符串 | 钱包地址或 ENS 名称。提供此项或 username。 |
| username | 字符串 | Art Blocks 用户名 — 检查所有关联的钱包。 |
| chainId | 数字 | 默认为 1。1、42161、8453。 |
返回:资格状态、门槛类型、哪些钱包有资格(针对多钱包个人资料),以及对于持有者门槛铸造者,钱包必须持有哪些项目的代币。
步骤 3 — 构建交易
buildpurchasetransaction 目前仅支持 MinterSetPriceV5(ETH)。
| 参数 | 必填 | 说明 |
|---|
| projectId | 是 | <合约地址>-<项目索引> |
| chainId |
— | 默认为 1。请参见下面的链 ID。 |
| purchaseTo | — | 铸造到不同的地址(赠予)。首先检查 get
projectminter_config 中的 purchaseTo.disabled — 某些项目禁用了此功能。 |
返回 { transaction, project, minter, price, purchaseTo, warnings }。warnings 数组包含非致命问题(项目暂停、售罄、完成)— 在用户签名前务必向用户展示这些信息。
铸造者类型
| 铸造者 | 描述 | buildpurchasetransaction |
|---|
| MinterSetPriceV5 | 固定 ETH 价格 | 支持 |
| MinterDAExpV5 |
荷兰式拍卖 — 指数衰减 | 直接使用钱包 |
| MinterDALinV5 | 荷兰式拍卖 — 线性衰减 | 直接使用钱包 |
| MinterMerkleV5 | Merkle 白名单门槛 | 直接使用钱包 |
| MinterHolderV5 | 持有者门槛(必须拥有其他代币) | 直接使用钱包 |
| RAM | 排名拍卖机制 | 直接使用钱包 |
对于不支持的铸造者,请根据 getprojectminter_config 数据解释其机制,并引导用户使用其钱包。
链 ID
42161 |
| Base | 8453 |
备注
- - 用户个人资料:当钱包地址或用户名解析为 Art Blocks 个人资料时,将检查所有关联钱包的资格。响应包括 walletAddresses(所有已检查的钱包)、profile 信息,以及对于 Merkle 门槛,eligibleWallets 显示哪些特定钱包通过了检查。
- ERC-20 项目:getprojectminterconfig 指示货币代币地址。buildpurchasetransaction 仅支持 ETH — 将使用 ERC-20 的用户引导至其钱包。
- 荷兰式拍卖:当前价格随时间递减。使用 getprojectminterconfig 中的 startprice、endprice、auctionstarttime 和 auctionendtime 来解释当前定价。
- purchaseTo:适用于赠予场景 — 直接将代币铸造到接收者地址,而非签名者地址。