Which SmartMetal series exist?
SmartMetal series: 2024 and the Limited Edition Azure Dragon
The Veri SmartMetal contract has two series, the 2024 series of 6,566 tokens (ids 1 to 6566, created on chain on 22 May 2025) and Veri SmartMetal Limited Edition Azure Dragon, 16 tokens created on 28 May 2026; each series is one metadata folder on IPFS, and its id is the keccak256 hash of that folder's CID.
- Chain#
- Base (eip155:8453)
- Implementation#
- Series1155V1 0x945D54B21a582d5D186Ae1E449DdC2a4Ce39E26c
- Deployed#
- Block 30,569,433 · 22 May 2025
- Source#
- Verified on BaseScan
- Transactions#
- All transactions
- Last verified#
- 13 Oct 2026
A series is a group of SmartMetal tokens that share one metadata folder on IPFS. The token contract, 0x4516a5D613C30A36D157d3b579813734cbb929a4, had two on 13 Oct 2026 (seriesCount() returns 2), and totalSupply() returns 6,582, the two series added together. Every token in both is non-fungible: totalSupply(id) is 1 for each id.
| Series | Series id | Metadata folder (CID) | Token ids | Created on chain |
|---|---|---|---|---|
| 2024 | 0x2ee2…939a |
QmU8oEWK3KNrJqHGtWgpZzjcUBukmSLutFY6ZxGGkcEdLf |
1 to 6566 (6,566 tokens) | 22 May 2025, block 30,569,486 |
| Veri SmartMetal Limited Edition Azure Dragon | 0x2d3e…b9d6 |
QmSijK1oR1TAGhGeeZrrVrjEoQAyGYGB1Vph3qvSSzT3Ht |
16 ids, 7777 to 88888888888 (listed below) | 28 May 2026, block 46,583,469 |
The same table is in /facts.json under series, with the full series ids.
How a series id is made#
createSeries(cid, isFungible) sets the series id to keccak256 of the CID string, exactly as written, so anyone can compute it offline:
# keccak256("QmSijK1oR1TAGhGeeZrrVrjEoQAyGYGB1Vph3qvSSzT3Ht") = 0x2d3e0395c9e91e036ad74f6010443210c6a13260c88e93fc7c2fecc2d577b9d6
node -e 'const {keccak_256}=require("@noble/hashes/sha3.js");const {bytesToHex,utf8ToBytes}=require("@noble/hashes/utils.js");console.log("0x"+bytesToHex(keccak_256(utf8ToBytes("QmSijK1oR1TAGhGeeZrrVrjEoQAyGYGB1Vph3qvSSzT3Ht"))))'
# or, with Foundry's cast
cast keccak QmSijK1oR1TAGhGeeZrrVrjEoQAyGYGB1Vph3qvSSzT3Ht
The hash equals the seriesId topic of the series’ SeriesCreated log, and listSeries returns the same pairs of id and CID. Because the id is the hash of the CID, the same metadata folder gets the same series id on any chain, and createSeries refuses a CID that was already registered.
The 2024 series#
“2024” is the label the tokens carry: each one is named Veri SmartMetal Silver Round #<id> and its metadata has year: 2024. It is not a date. On chain, the series was created on 22 May 2025 at 15:38:39 UTC in block 30,569,486 (transaction), 53 blocks after the token contract itself, and its 6,566 tokens were minted over the following quarter of an hour:
- Ids 1 to 6566 were registered with
SeriesActivationfirst, 100 per transaction, in 66 transactions between blocks 30,569,508 and 30,569,699. - They were then minted to
SeriesActivation(0x412E962bbAE0bB97CE98e74f3424543651a21ce3), again 100 per transaction, from block 30,569,702 (ids 1 to 100) to block 30,569,892 (ids 6501 to 6566). Each mint emitted oneURIevent per token, oneTransferBatchand oneSeriesTokensMinted.
seriesTokenCount returns 6,566 and seriesTokens lists the ids 1, 2, 3 … 6566 with no gaps. Id 6567 does not exist (exists(6567) is false).
Every 2024 token shares one image, ipfs://QmYsiGSYWx6mn3TgLZfoZVRqqNjuyvTLziWscfjme3tmAK, and the same attributes apart from its serial number: metal Silver, purity 0.999, weight 1 oz, year 2024, mint Veritaseum, serial number equal to the token id. Look up a SmartMetal token shows the full metadata file.
Veri SmartMetal Limited Edition Azure Dragon#
The second series was created on 28 May 2026 at 08:18:05 UTC in block 46,583,469 (transaction). Its 16 holders were registered three blocks later (transaction) and the 16 tokens were minted to SeriesActivation in block 46,583,475 (transaction), twelve seconds after the series was created.
The token ids are the repdigits of 7 and 8 from four to eleven digits long:
| Length | Ids |
|---|---|
| 4 | 7777, 8888 |
| 5 | 77777, 88888 |
| 6 | 777777, 888888 |
| 7 | 7777777, 8888888 |
| 8 | 77777777, 88888888 |
| 9 | 777777777, 888888888 |
| 10 | 7777777777, 8888888888 |
| 11 | 77777777777, 88888888888 |
Each token is named Veri SmartMetal Limited Edition Azure Dragon #<id>, described as “The Azure Dragon of Ancient Chinese Mythology”, with its own image (token 7777’s is ipfs://QmR2coRJYva1ACFU3gMzZRX2LaZztWTFcPrDKvG3FimH6S) and the attributes metal Silver, purity 0.999, weight 1 oz, year 2026, mint Veritaseum, serial number equal to the token id.
Check it yourself#
Each command is an eth_call to a public Base endpoint; swap in https://base-rpc.publicnode.com if the first one is busy.
# seriesCount(): 0x…02
curl -s https://mainnet.base.org -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x4516a5d613c30a36d157d3b579813734cbb929a4","data":"0xd7f2c0ef"},"latest"]}'
# listSeries(0, 10): both series ids, then both CIDs as ABI-encoded strings
curl -s https://mainnet.base.org -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x4516a5d613c30a36d157d3b579813734cbb929a4","data":"0x71ab8b690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a"},"latest"]}'
# seriesTokenCount(2024 series): 0x…19a6, which is 6566
curl -s https://mainnet.base.org -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x4516a5d613c30a36d157d3b579813734cbb929a4","data":"0xe3c3d74a2ee24f76bf0ebc754064e8c31709a2241c2c2969694a5f3ba3dd956833de939a"},"latest"]}'
# seriesTokens(Azure Dragon series, 0, 16): the 16 ids, 7777 (0x1e61) first
curl -s https://mainnet.base.org -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x4516a5d613c30a36d157d3b579813734cbb929a4","data":"0xee47a9272d3e0395c9e91e036ad74f6010443210c6a13260c88e93fc7c2fecc2d577b9d600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010"},"latest"]}'
# totalSupply(): 0x…19b6, which is 6582
curl -s https://mainnet.base.org -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x4516a5d613c30a36d157d3b579813734cbb929a4","data":"0x18160ddd"},"latest"]}'
With Foundry installed, its cast command runs the same calls and decodes the answers:
export ETH_RPC_URL=https://mainnet.base.org
# 2
cast call 0x4516a5d613c30a36d157d3b579813734cbb929a4 'seriesCount()(uint256)'
# Both series ids, then both CIDs
cast call 0x4516a5d613c30a36d157d3b579813734cbb929a4 'listSeries(uint256,uint256)(bytes32[],string[])' 0 10
# 6566
cast call 0x4516a5d613c30a36d157d3b579813734cbb929a4 'seriesTokenCount(uint256)(uint256)' 0x2ee24f76bf0ebc754064e8c31709a2241c2c2969694a5f3ba3dd956833de939a
# [7777, 8888, 77777, …, 88888888888]
cast call 0x4516a5d613c30a36d157d3b579813734cbb929a4 'seriesTokens(uint256,uint256,uint256)(uint256[])' 0x2d3e0395c9e91e036ad74f6010443210c6a13260c88e93fc7c2fecc2d577b9d6 0 16
# 6582
cast call 0x4516a5d613c30a36d157d3b579813734cbb929a4 'totalSupply()(uint256)'
To read the series without curl, open the contract’s Read as Proxy view on BaseScan and call listSeries with offset 0 and limit 10.