Agent skill

Built In Standards

by Nethereum in Nethereum/Nethereum

Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond.

MITAuto-check passedBusiness, Finance & HR

Install Built In Standards

skills CLI
$ npx skills add Nethereum/Nethereum --skill built-in-standards -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Nethereum/Nethereum built-in-standards --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Nethereum/Nethereum.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/nethereum-skills/skills/built-in-standards .claude/skills/built-in-standards && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
built-in-standards
GitHub stars
2.3k
Token cost
~2.3k tokens
SKILL.md length
259 words
Files
1
Skills in repo
71
Repo updated
First seen
Licence
MIT

At a glance

Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond.

  • The user asks about token standards
  • SKILL.md covers ERC-20: Fungible Tokens, ERC-721: NFTs, ERC-1155: Multi-Tokens and ERC-165: Interface Detection, plus 9 more sections
  • Calls dotnet
  • Interface detection

What it does

Built In Standards is an agent skill from Nethereum/Nethereum. Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond. Use this skill whenever the user asks about token standards, NFTs, multi-tokens, interface detection, signature validation, gasless transfers, diamond proxy, ENS resolution, or any standard contract interaction in C/.NET.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR, covering Crypto and DeFi analysis. It works with Ethereum, C#, .NET and x402. The repository describes itself as: Ethereum .Net cross platform integration library. The licence is MIT.

When your agent uses it

  • The user asks about token standards
  • Interface detection
  • Signature validation
  • Gasless transfers

Example prompts

  • “/built-in-standards”

What it can do on your machine

Read from SKILL.md and the folder at commit 229f278. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Built In Standards loads about 2.3k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 259 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Nethereum/Nethereum at commit 229f278, republished under its MIT licence (© Nethereum). 259 words, ~2,343 tokens.

Download SKILL.mdSave it as .claude/skills/built-in-standards/SKILL.md (or your agent's skills folder).
name
built-in-standards
description
Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond. Use this skill whenever the user asks about token standards, NFTs, multi-tokens, interface detection, signature validation, gasless transfers, diamond proxy, ENS resolution, or any standard contract interaction in C#/.NET.
user-invocable
true

Built-in Contract Standards

NuGet: Nethereum.Web3

bash
dotnet add package Nethereum.Web3

All standard services are accessible via web3.Eth:

ServiceAccessStandard
ERC20Serviceweb3.Eth.ERC20Fungible tokens
ERC721Serviceweb3.Eth.ERC721NFTs
ERC1155Serviceweb3.Eth.ERC1155Multi-tokens
ERC165SupportsInterfaceServiceweb3.Eth.ERC165Interface detection
ERC1271Serviceweb3.Eth.ERC1271Contract signature validation
ERC6492Serviceweb3.Eth.ERC6492Pre-deploy signature validation
EIP3009Serviceweb3.Eth.EIP3009Gasless transfers (USDC)
Permit2Serviceweb3.Eth.GetPermit2Service()Uniswap Permit2 (canonical)
ERC2535DiamondServiceweb3.Eth.ERC2535DiamondDiamond proxy
ENSServiceweb3.Eth.GetEnsService()Name resolution (ENSIP-23 Universal Resolver by default)
ENSUniversalResolverServiceweb3.Eth.GetEnsUniversalResolverService()Batched records + CCIP-Read

ERC-20: Fungible Tokens

csharp
var erc20 = web3.Eth.ERC20.GetContractService(tokenAddress);

var name = await erc20.NameQueryAsync();
var symbol = await erc20.SymbolQueryAsync();
var decimals = await erc20.DecimalsQueryAsync();
var totalSupply = await erc20.TotalSupplyQueryAsync();
var balance = await erc20.BalanceOfQueryAsync(ownerAddress);
var allowance = await erc20.AllowanceQueryAsync(owner, spender);

// Transfer
var receipt = await erc20.TransferRequestAndWaitForReceiptAsync(to, amount);

ERC-721: NFTs

csharp
var erc721 = web3.Eth.ERC721.GetContractService(nftAddress);

var name = await erc721.NameQueryAsync();
var symbol = await erc721.SymbolQueryAsync();
var balance = await erc721.BalanceOfQueryAsync(ownerAddress);
var owner = await erc721.OwnerOfQueryAsync(tokenId);
var tokenUri = await erc721.TokenURIQueryAsync(tokenId);

ERC-1155: Multi-Tokens

csharp
var erc1155 = web3.Eth.ERC1155.GetContractService(contractAddress);

var balance = await erc1155.BalanceOfQueryAsync(owner, tokenId);
var balances = await erc1155.BalanceOfBatchQueryAsync(owners, tokenIds);
var uri = await erc1155.UriQueryAsync(tokenId);

ERC-165: Interface Detection

csharp
var erc165 = web3.Eth.ERC165.GetContractService(contractAddress);

var supportsErc721 = await erc165
    .SupportsInterfaceQueryAsync("0x80ac58cd"); // ERC-721 interface ID

var supportsErc1155 = await erc165
    .SupportsInterfaceQueryAsync("0xd9b67a26"); // ERC-1155 interface ID

// Common interface IDs: ERC-165=0x01ffc9a7, ERC-721=0x80ac58cd, ERC-1155=0xd9b67a26

ERC-1271: Contract Signature Validation

csharp
var erc1271 = web3.Eth.ERC1271.GetContractService(contractAddress);

var isValid = await erc1271
    .IsValidSignatureAndValidateReturnQueryAsync(messageHash, signature);

ERC-6492: Pre-Deploy Signature Validation

csharp
var isValid = await web3.Eth.ERC6492
    .IsValidSignatureQueryAsync(contractAddress, messageHash, signature);

EIP-3009: Gasless Transfer With Authorization

Low-level:

csharp
var eip3009 = web3.Eth.EIP3009.GetContractService(usdcAddress);
var receipt = await eip3009.TransferWithAuthorizationRequestAndWaitForReceiptAsync(
    from, to, value, validAfter, validBefore, nonce, v, r, s);

X402 higher-level (Nethereum.X402):

csharp
using Nethereum.X402.Blockchain;
using Nethereum.X402.Models;
using Nethereum.X402.Signers;

// Build authorization + sign with EIP-712
var builder = new TransferWithAuthorisationBuilder();
var authorization = builder.BuildFromPaymentRequirements(requirements, payerAddress);
var signer = new TransferWithAuthorisationSigner();
var signature = await signer.SignWithPrivateKeyAsync(
    authorization, "USDC", "2", chainId, usdcAddress, privateKey);

// Verify + settle (x402 v2: only an RPC endpoint per chain id is configured)
var clients = new Dictionary<int, IClient> { [84532] = new RpcClient(new Uri(rpcUrl)) };
var service = new X402TransferWithAuthorisation3009Service(facilitatorKey, clients);
var result = await service.VerifyPaymentAsync(paymentPayload, requirements);
var settlement = await service.SettlePaymentAsync(paymentPayload, requirements);

// ReceiveWithAuthorization (receiver pays gas)
var receiveService = new X402ReceiveWithAuthorisation3009Service(receiverKey, clients);

Permit2: Uniswap Token Approvals

The canonical Permit2 contract (same address on every EVM chain) is a first-class service via web3.Eth.GetPermit2Service() (defaults to CommonAddresses.PERMIT2_ADDRESS). It covers AllowanceTransfer (approve/permit/transferFrom) and SignatureTransfer (permitTransferFrom/permitWitnessTransferFrom) plus nonce management.

csharp
using Nethereum.Contracts.Standards.Permit2;

var permit2 = web3.Eth.GetPermit2Service();

// Reads
var domainSeparator = await permit2.DomainSeparatorQueryAsync();
var allowance = await permit2.AllowanceQueryAsync(owner, token, spender);   // (amount, expiration, nonce)

// SignatureTransfer: the owner's signature is produced with Nethereum.Signer.EIP712's PermitSigner.
// The on-chain `permit` tuple omits spender (Permit2 uses msg.sender); the signed message includes it.
var receipt = await permit2.PermitTransferFromRequestAndWaitForReceiptAsync(
    permit,                                                    // PermitTransferFrom { permitted, nonce, deadline }
    new SignatureTransferDetails { To = recipient, RequestedAmount = amount },
    owner,
    signature);

Sign SignatureTransfer messages with PermitSigner (from Nethereum.Signer.EIP712), which includes the spender the on-chain tuple omits:

csharp
using Nethereum.ABI.EIP712.Permit2;
using Nethereum.Signer.EIP712.Permit2;

var signature = PermitSigner.SignPermitTransferFrom(
    chainId, CommonAddresses.PERMIT2_ADDRESS,
    new PermitTransferFromWithSpender
    {
        Permitted = new TokenPermissions { Token = token, Amount = amount },
        Spender = spender,   // the caller; hashed as msg.sender on-chain
        Nonce = nonce,
        Deadline = deadline
    },
    key);

Layering: signing types in Nethereum.ABI.EIP712.Permit2, contract tuples in Nethereum.Contracts.Standards.Permit2, signer in Nethereum.Signer.EIP712. For x402 payments over Permit2 (witness variant), see the x402-payments skill.

ENS: Name Resolution

Resolution defaults to the ENSIP-23 Universal Resolver, with automatic EIP-3668 CCIP-Read for offchain and wildcard (ENSIP-10) names.

csharp
var ensService = web3.Eth.GetEnsService();
var address = await ensService.ResolveAddressAsync("vitalik.eth");
var name = await ensService.ReverseResolveAsync(address);
var url = await ensService.ResolveTextAsync("vitalik.eth", TextDataKey.url);

Batch a name's records (address + content hash + text records) in one round-trip, or resolve many names at once, via the Universal Resolver directly:

csharp
var universalResolver = web3.Eth.GetEnsUniversalResolverService();
var record = await universalResolver.ResolveRecordAsync("nick.eth", TextDataKey.url, TextDataKey.avatar);
var records = await universalResolver.ResolveRecordsAsync(new[] { "nick.eth", "nethereum.eth" }, TextDataKey.url);

Historical Queries

All query methods accept BlockParameter:

csharp
var blockParam = new Nethereum.RPC.Eth.DTOs.BlockParameter(15000000);
var historicalBalance = await erc20.BalanceOfQueryAsync(address, blockParam);

Code-Generated Contract Services (ContractServiceBase)

csharp
// Introspect all registered types in a code-generated service
var functionTypes = myContractService.GetAllFunctionTypes();
var eventTypes = myContractService.GetAllEventTypes();
var errorTypes = myContractService.GetAllErrorTypes();

// Get ABI metadata and Keccak signatures
var functionABIs = myContractService.GetAllFunctionABIs();
var eventABIs = myContractService.GetAllEventABIs();
var errorABIs = myContractService.GetAllErrorABIs();
var functionSigs = myContractService.GetAllFunctionSignatures();
var eventSigs = myContractService.GetAllEventsSignatures();
var errorSigs = myContractService.GetAllErrorsSignatures();

Low-Level Storage Access (StorageUtil)

csharp
using Nethereum.Contracts.ContractStorage;

// Calculate the storage key for mapping(address => ...) at slot 0
var storageKey = StorageUtil.CalculateMappingAddressStorageKey(ownerAddress, 0);

// Read the raw storage value
var storageValue = await web3.Eth.GetStorageAt
    .SendRequestAsync(contractAddress, storageKey);

Key Rules

  • NEVER write raw ABI JSON for standard contracts -- always use typed services
  • ALWAYS check Nethereum.Contracts.Standards/ before any contract interaction
  • All services accept optional BlockParameter for historical queries
  • For batch operations use MultiQueryBatchRpcHandler with CreateMulticallInputOutputRpcBatchItems

© Nethereum, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/nethereum-skills/skills/built-in-standards of Nethereum/Nethereum.

Open the folder on GitHubat commit 229f278

Compare with similar skills

Built In Standards next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Built In Standards compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Built In Standards this skillNethereum/Nethereum2.3k—~2.3kAutomated safety check: PassMIT
SurfBlockRunAI/ClawRouter6.6k—~4kAutomated safety check: PassMIT
Standardsaustintgriffith/ethskills295—~3.8kAutomated safety check: PassNone
Opensea Tool SDKBankrBot/skills1.2k—~3.1kAutomated safety check: PassMIT
Minara Crypto Trading and WalletMinara-AI/minara-skills362—~5.7kAutomated safety check: PassNone
Surf Crypto Data APIBlockRunAI/blockrun-mcp391—~1.7kAutomated safety check: PassMIT

Similar skills

  • Surf

    BlockRunAI/ClawRouter

    Use this skill — NOT browser or webfetch — for ALL Surf crypto-data calls.

    6.6k GitHub stars~4k tokensUpdated 4 days ago
    Business, Finance & HRAuto-check passed
  • Standards

    austintgriffith/ethskills

    Ethereum token and protocol standards — ERC-20, ERC-721, ERC-1155, ERC-4337, ERC-8004, and newer standards.

    295 GitHub stars~3.8k tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed
  • Opensea Tool SDK

    BankrBot/skills

    Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base.

    1.2k GitHub stars~3.1k tokensUpdated 4 days ago
    Business, Finance & HRAuto-check passed
  • Minara Crypto Trading and Wallet

    Minara-AI/minara-skills

    Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.

    362 GitHub stars~5.7k tokensUpdated 22 days ago
    Business, Finance & HRAuto-check passed
  • Surf Crypto Data API

    BlockRunAI/blockrun-mcp

    Routes crypto market, on-chain, wallet and prediction-market lookups to the Surf data API through a local ClawRouter, paid per call.

    391 GitHub stars~1.7k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Swapper Deposit

    swapperfinance/swapper-toolkit

    Deposit and bridge funds into a wallet or protocol using Swapper Finance.

    852 GitHub stars~1.8k tokensUpdated 6 mo ago
    Business, Finance & HRAuto-check passed

More from Nethereum/Nethereum

All 71 skills in this repo
  • Aa Batching Paymasters

    Nethereum/Nethereum

    Help users batch multiple calls into a single UserOperation and sponsor gas with paymasters using Nethereum Account Abstraction.

    2.3k GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed
  • Aa Bundler

    Nethereum/Nethereum

    Help users run an ERC-4337 bundler using Nethereum — set up in-process or standalone bundlers with mempool, validation, reputation, and JSON-RPC server.

    2.3k GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed
  • Abi Encoding

    Nethereum/Nethereum

    Encode and decode Ethereum ABI data with Nethereum. An agent skill from Nethereum/Nethereum.

    2.3k GitHub stars~1.3k tokensUpdated 4 days ago
    Auto-check passed
  • Abi Retrieval

    Nethereum/Nethereum

    Fetch contract ABIs from Sourcify, Etherscan, and 4Byte Directory using the composite ABIInfoStorage pattern (.NET/C).

    2.3k GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed
  • Account Abstraction

    Nethereum/Nethereum

    Help users implement ERC-4337 Account Abstraction with Nethereum — send UserOperations, use smart accounts, route contract calls through a bundler, enable gasless transactions, or work with AA in…

    2.3k GitHub stars~1.7k tokensUpdated 4 days ago
    Auto-check passed
  • Address Utils

    Nethereum/Nethereum

    Validate and format Ethereum addresses with Nethereum. An agent skill from Nethereum/Nethereum.

    2.3k GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed

Questions about Built In Standards

What does Built In Standards do?

Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond. Built In Standards is an agent skill from Nethereum/Nethereum. Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond.

When should I use Built In Standards?

Built In Standards fits situations like: the user asks about token standards; interface detection; signature validation; gasless transfers.

How do I install Built In Standards in Claude Code?

Run `npx skills add Nethereum/Nethereum --skill built-in-standards -a claude-code`. Or copy the skill folder (plugins/nethereum-skills/skills/built-in-standards in Nethereum/Nethereum) into .claude/skills/built-in-standards in your project. Claude Code loads it when a task matches its description.

How do I install Built In Standards in Codex?

Run `npx skills add Nethereum/Nethereum --skill built-in-standards -a codex`. Or copy the skill folder (plugins/nethereum-skills/skills/built-in-standards in Nethereum/Nethereum) into .agents/skills/built-in-standards in your project. Codex loads it when a task matches its description.

Can I use Built In Standards in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Nethereum/Nethereum --skill built-in-standards -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/built-in-standards, .gemini/skills/built-in-standards, .github/skills/built-in-standards and .opencode/skills/built-in-standards in your project.

What does Built In Standards need to run?

Going by SKILL.md and its folder, Built In Standards needs the command-line tools its instructions call (dotnet).

Does Built In Standards access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Built In Standards safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Built In Standards use?

Built In Standards is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Built In Standards use?

About 2.3k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Built In Standards?

Skills that share tags, products or a category with Built In Standards: Surf (BlockRunAI/ClawRouter, 6.6k stars), Standards (austintgriffith/ethskills, 295 stars), Opensea Tool SDK (BankrBot/skills, 1.2k stars) and Minara Crypto Trading and Wallet (Minara-AI/minara-skills, 362 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Built In Standards?

Nethereum (a GitHub organization) maintains it in Nethereum/Nethereum, which has 2,260 GitHub stars. The repository holds 71 skills in this directory. The repository was last updated on October 5, 2026.

Source: Nethereum/Nethereum on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.