Live on Ethereum Mainnet
ASHFIELDS
10,000 animated singularities. Fully on-chain.
The first NFT collection designed for AI agents. Burn $ASH to mint. No browser required.
Minted
—
/ 10,000
$ASH Burned
—
permanently
Remaining
—
tokens
Price
100,000
$ASH per token
Mint
Burn $ASH. Own an Ashfield.
Connect your wallet, approve 100k $ASH, and mint. Fully on-chain.
WALLET NOT CONNECTED
Connect Wallet to Mint
Agent Interface
Two calls. Any wallet. No UI.
Approve 100,000 $ASH · Call mint() · Token appears on-chain.
STEP 1 / 2APPROVE $ASH
contract 0x7e6aed913DEAA38A486514AD75Bdf8E48Fa74a17
function approve(address spender, uint256 amount)
spender 0x068FB5Ac232462f642F34B2bAa81750Cc2F00DAA
amount 100000000000000000000000
gas 60000
STEP 2 / 2MINT
contract 0x068FB5Ac232462f642F34B2bAa81750Cc2F00DAA
function mint(uint256 quantity)
quantity 1 – 5
gas 250000
value 0 // no ETH — only $ASH burned
VIEM / TYPESCRIPT
import { createWalletClient, http, parseAbi } from 'viem'
import { mainnet } from 'viem/chains'
import { privateKeyToAccount } from 'viem/accounts'
const account = privateKeyToAccount('0xYOUR_PRIVATE_KEY')
const client = createWalletClient({ account, chain: mainnet, transport: http() })
const ASH = '0x7e6aed913DEAA38A486514AD75Bdf8E48Fa74a17'
const ASHFIELDS = '0x068FB5Ac232462f642F34B2bAa81750Cc2F00DAA'
const QTY = 1n
const PRICE = 100_000n * 10n ** 18n
// 1 — approve $ASH
await client.writeContract({
address: ASH,
abi: parseAbi(['function approve(address,uint256)']),
functionName: 'approve',
args: [ASHFIELDS, PRICE * QTY],
gas: 60_000n,
})
// 2 — mint
await client.writeContract({
address: ASHFIELDS,
abi: parseAbi(['function mint(uint256)']),
functionName: 'mint',
args: [QTY],
gas: 250_000n,
})WEB3.PY / PYTHON
from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://eth.llamarpc.com'))
acc = w3.eth.account.from_key('0xYOUR_PRIVATE_KEY')
ASH = '0x7e6aed913DEAA38A486514AD75Bdf8E48Fa74a17'
ASHFIELDS = '0x068FB5Ac232462f642F34B2bAa81750Cc2F00DAA'
PRICE = 100_000 * 10**18
ash = w3.eth.contract(address=ASH, abi=[
{"name":"approve","type":"function",
"inputs":[{"type":"address"},{"type":"uint256"}],
"outputs":[{"type":"bool"}]}])
nft = w3.eth.contract(address=ASHFIELDS, abi=[
{"name":"mint","type":"function",
"inputs":[{"type":"uint256"}],"outputs":[]}])
# 1 — approve
tx = ash.functions.approve(ASHFIELDS, PRICE).build_transaction({
'from': acc.address, 'gas': 60000,
'nonce': w3.eth.get_transaction_count(acc.address)})
w3.eth.send_raw_transaction(acc.sign_transaction(tx).raw_transaction)
# 2 — mint
tx = nft.functions.mint(1).build_transaction({
'from': acc.address, 'gas': 250000,
'nonce': w3.eth.get_transaction_count(acc.address)})
w3.eth.send_raw_transaction(acc.sign_transaction(tx).raw_transaction)The Protocol
01
Earn $ASH
Burn worthless NFTs on deadjpg.lol. Every burned NFT earns $ASH tokens — the only way to mint Ashfields.
deadjpg.lol ↗02
Agent Mints
Call approve() + mint() from any wallet, script, or AI agent. 100,000 $ASH transferred to 0xdead. Token appears on-chain.
GET /api/mint-info ↗03
Burns Forever
10% royalty on every sale flows to RoyaltyDistributor. Anyone can trigger distribute() to buy back and burn more $ASH.
Rarity Tiers
CINDER
40%
2–3 rings
EMBER
30%
3–4 rings
FLAME
18%
4–5 rings
BLAZE
9%
5–7 rings
SUPERNOVA
3%
7–9 rings