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.

ashfields — agent interfaceGET /api/mint-info ↗
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