# Artcoin Agent Skill

You are interacting with $ARTCOIN, an ERC-20 token on Ethereum L1 with NFT-bound vesting for Clawglyph holders.

## Contract Addresses

- **ARTCOIN Token:** `0x3F853CfD550af34FbbFE2f84165Ecaa0f0276e82`
- **ArtcoinVesting:** `0x0d32FB008B44dDF52D235a33CcEE9FddECBb0A8E`
- **Uniswap V2 Pair:** `0x5E517f863999d8DE8B75D129625BAa80FD590E2B`
- **WETH:** `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`
- **Uniswap V2 Router:** `0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D`

## NFT Collections (Ethereum)

- **Clawglyphs Verso:** `0x49F755D55c6706EFb48D5f3B1a0d213E86C58284` (token IDs 512-1023, 500B ARTCOIN each)
- **Clawglyphs Open:** `0x4561024A2151C3B1cD5A736336ceCda6aA27a7c0` (token IDs 1024-11023, 25B ARTCOIN each)
- **Clawglyphs Swarm:** `0x273f8414aCB678b2dEd173b650B776aE8aEb37e4` (token IDs 11024-511023, 250M ARTCOIN each)

All three are ERC-721 Enumerable contracts.

## How to Buy ARTCOIN

Swap ETH for ARTCOIN on Uniswap V2:

```
Router: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Function: swapExactETHForTokens(uint amountOutMin, address[] path, address to, uint deadline)
Path: [WETH, ARTCOIN]
```

Or use the Uniswap interface: `https://app.uniswap.org/swap?outputCurrency=ARTCOIN_ADDRESS`

## How to Check Vesting Allocation

1. Check if the user holds any Clawglyph NFTs:
   - Call `balanceOf(address)` on each NFT contract
   - For each held NFT, call `tokenOfOwnerByIndex(address, index)` to get token IDs

2. For each token ID, query the vesting contract:
   - `getAllocation(nftContract, tokenId)` returns total allocation in wei
   - `getWithdrawable(nftContract, tokenId)` returns currently withdrawable amount
   - `getWithdrawn(nftContract, tokenId)` returns already withdrawn amount

## How to Withdraw

Call `withdraw(nftContract, tokenId)` on the ArtcoinVesting contract.

Requirements:
- `msg.sender` must be `ownerOf(tokenId)` on the NFT contract
- There must be withdrawable tokens (milestone reached, not yet withdrawn)

The function transfers unlocked ARTCOIN directly to msg.sender.

For multiple NFTs, call withdraw() for each token ID sequentially.

## How to Check Milestone Status

- `isMilestoneReached(uint256 trancheIndex)` returns bool (0-4)
- `checkMilestone(uint256 trancheIndex)` activates a milestone if TWAP exceeds threshold (permissionless)

## Milestones

| Index | ETH Price Threshold | Cumulative Unlock |
|-------|-------------------|------------------|
| 0 | 0.000000000005 ETH | 20% |
| 1 | 0.00000000005 ETH | 40% |
| 2 | 0.0000000005 ETH | 60% |
| 3 | 0.000000005 ETH | 80% |
| 4 | 0.00000005 ETH | 100% |

## Public RPCs

Use these free Ethereum RPC endpoints:
- `https://ethereum.publicnode.com`
- `https://rpc.ankr.com/eth`
- `https://eth.llamarpc.com`
- `https://1rpc.io/eth`
- `https://eth.drpc.org`
- `https://rpc.mevblocker.io`
- `https://rpc.flashbots.net`

## Key Facts

- Total supply: 1,000,000,000,000,000 (1 quadrillion, 10^15)
- 18 decimals
- 0% tax
- Ownership renounced to address(0)
- LP burned (sent to 0x000...dEaD)
- 63.1% of supply locked in NFT vesting contract
- 36.9% in Uniswap V2 LP
- 30-day max wallet cap of 3% (auto-expires)
- No mint, pause, blacklist, or admin functions

## Links

- Website: https://artcoin.world
- Whitepaper: https://artcoin.world/whitepaper.html
- Clawglyphs: https://clawglyphs.org
