Agent skill

Use Smart Contract Platform

by circlefin in circlefin/skills

Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs.

Apache-2.0Auto-check: notesBackend & APIs

Install Use Smart Contract Platform

skills CLI
$ npx skills add circlefin/skills --skill use-smart-contract-platform -a claude-code

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

GitHub CLI
$ gh skill install circlefin/skills use-smart-contract-platform --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/circlefin/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/circle/skills/use-smart-contract-platform .claude/skills/use-smart-contract-platform && 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
use-smart-contract-platform
GitHub stars
155
Token cost
~2.9k tokens
SKILL.md length
1,176 words
Files
6 (incl. references)
Skills in repo
18
Repo updated
First seen
Licence
Apache-2.0

At a glance

Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs.

  • Works in 5 steps: Deploy Contract from Bytecode → Deploy from Template → Import Existing Contract → …
  • Tasks that involve Smart contracts
  • SKILL.md covers Overview, Prerequisites / Setup, Quick Reference and Core Concepts, plus 3 more sections
  • Calls npm; needs CIRCLE_API_KEY and ENTITY_SECRET

What it does

Use Smart Contract Platform is an agent skill from circlefin/skills. Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs. Supports bytecode deployment, template contracts (ERC-20/721/1155/Airdrop), ABI-based read/write calls, and webhook event monitoring. Keywords: contract deployment, smart contract, ABI interactions, template contracts, event monitoring, contract webhooks, bytecode, ERC-1155, ERC-20, ERC-721.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/deploy-bytecode.md`, `references/deploy-template.md` and `references/import-contract.md`).

It sits in Backend & APIs, covering Smart contracts and Webhooks. It works with Ethereum and Circle USDC. The repository describes itself as: Circle's open source skills for AI-assisted development. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Smart contracts
  • Tasks that involve Webhooks

Example prompts

  • “/use-smart-contract-platform”

Requirements

  • Node.js
  • A credential in CIRCLE_API_KEY
  • A credential in ENTITY_SECRET

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Deploy Contract from Bytecode
  2. Deploy from Template
  3. Import Existing Contract
  4. Interact with Deployed Contract
  5. Monitor Contract Events

What it can do on your machine

Read from SKILL.md and the folder at commit 58ab864. 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:

    • npm

    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):

    • developers.circle.com
    • console.circle.com

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CIRCLE_API_KEY
    • ENTITY_SECRET
    • TEST_API_KEY
    • LIVE_API_KEY

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

Context cost

Use Smart Contract Platform loads about 2.9k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 1,176 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:193
    s manager. Add `.gitignore` entries for `.env*`, `*.pem`, and recovery files when scaffolding.

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 circlefin/skills at commit 58ab864, republished under its Apache-2.0 licence (© circlefin). 1,176 words, ~2,942 tokens.

Download SKILL.mdSave it as .claude/skills/use-smart-contract-platform/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
use-smart-contract-platform
description
Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs. Supports bytecode deployment, template contracts (ERC-20/721/1155/Airdrop), ABI-based read/write calls, and webhook event monitoring. Keywords: contract deployment, smart contract, ABI interactions, template contracts, event monitoring, contract webhooks, bytecode, ERC-1155, ERC-20, ERC-721.

Overview

Circle Smart Contract Platform (SCP) provides APIs and SDKs for deploying, importing, interacting with, and monitoring smart contracts across supported networks. Deploy contracts from raw bytecode, use audited templates for standard patterns, execute ABI-based contract calls, and monitor emitted events through webhooks.

Prerequisites / Setup

Installation
bash
npm install @circle-fin/smart-contract-platform @circle-fin/developer-controlled-wallets
Environment Variables
CIRCLE_API_KEY=        # Circle API key (format: PREFIX:ID:SECRET)
ENTITY_SECRET=         # Registered entity secret for Developer-Controlled Wallets
SDK Initialization
typescript
import { initiateSmartContractPlatformClient } from "@circle-fin/smart-contract-platform";
import { initiateDeveloperControlledWalletsClient } from "@circle-fin/developer-controlled-wallets";

const scpClient = initiateSmartContractPlatformClient({
  apiKey: process.env.CIRCLE_API_KEY!,
  entitySecret: process.env.ENTITY_SECRET!,
});

const walletsClient = initiateDeveloperControlledWalletsClient({
  apiKey: process.env.CIRCLE_API_KEY!,
  entitySecret: process.env.ENTITY_SECRET!,
});

Quick Reference

Supported Blockchains
ChainMainnetTestnet
ArbitrumARBARB-SEPOLIA
ArcARCARC-TESTNET
AvalancheAVAXAVAX-FUJI
BaseBASEBASE-SEPOLIA
EthereumETHETH-SEPOLIA
MonadMONADMONAD-TESTNET
OP MainnetOPOP-SEPOLIA
Polygon PoSMATICMATIC-AMOY
UnichainUNIUNI-SEPOLIA

The references/ examples use Arc Testnet (blockchain: 'ARC-TESTNET'); for Arc mainnet, pass blockchain: 'ARC'. The Arc USDC address 0x3600000000000000000000000000000000000000 is the same on both networks.

Contract Templates
TemplateStandardTemplate IDUse Case
TokenERC-20a1b74add-23e0-4712-88d1-6b3009e85a86Fungible tokens, loyalty points
NFTERC-72176b83278-50e2-4006-8b63-5b1a2a814533Digital collectibles, gaming assets
Multi-TokenERC-1155aea21da6-0aa2-4971-9a1a-5098842b1248Mixed fungible/non-fungible tokens
AirdropN/A13e322f2-18dc-4f57-8eed-4bddfc50f85eBulk token distribution
Key API Response Fields
  • Contract functions: getContract().data.contract.functions
  • Contract address: contract.contractAddress (fallback: contract.address)
  • Transaction ID: createContractExecutionTransaction().data.id
  • Deployment status: getContract().data.contract.deploymentStatus

Core Concepts

Dual-Client Architecture

SCP workflows pair two SDK clients:

  • Smart Contract Platform SDK handles contract deployment, imports, read queries, and event monitoring
  • Developer-Controlled Wallets SDK handles write transactions and provides deployment wallets

Write operations use walletsClient.createContractExecutionTransaction(), NOT the SCP client.

Read vs Write Contract Calls
  • Read queries (view/pure functions) use scpClient.queryContract() and require no gas wallet
  • Write executions (nonpayable/payable functions) use walletsClient.createContractExecutionTransaction() and require a wallet ID with gas funds
Signature Formatting
  • Function signatures: name(type1,type2,...) with no spaces
  • Event signatures: EventName(type1,type2,...) with no spaces
  • Parameter order must exactly match ABI definitions
Idempotency Keys

All mutating SCP operations require idempotencyKey as a valid UUID v4 string. Use crypto.randomUUID() in Node.js. Non-UUID keys fail with generic API parameter invalid errors.

Deployment Async Model

Contract deployment is asynchronous. The response indicates initiation only. Poll getContract() for deploymentStatus.

EVM Version Constraint

Compile Solidity with evmVersion: "paris" or earlier to avoid the PUSH0 opcode. Solidity >= 0.8.20 defaults to Shanghai. Arc and other non-Shanghai chains fail deployment with ESTIMATION_ERROR / Create2: Failed on deploy if bytecode contains PUSH0.

Transaction Lifecycle

Write operations (contract deployments, executions) follow the same asynchronous state machine as Developer-Controlled Wallets. Poll with walletsClient.getTransaction({ id: txId }) until a terminal state is reached.

Happy path: INITIATED -> CLEARED -> QUEUED -> SENT -> CONFIRMED -> COMPLETE

Terminal states:

  • COMPLETE -- Transaction succeeded and is finalized on-chain.
  • FAILED -- Transaction reverted or encountered an unrecoverable error.
  • DENIED -- Transaction was rejected by risk screening.
  • CANCELLED -- Transaction was cancelled before on-chain submission.

Intermediate states:

  • INITIATED -- Request accepted, not yet validated or checked.
  • WAITING -- In queue for validation and compliance checks.
  • QUEUED -- Queued for submission to the blockchain.
  • CLEARED -- Passed compliance checks.
  • SENT -- Submitted to the blockchain, awaiting confirmation.
  • STUCK -- Submitted transaction's fee parameters are lower than latest blockchain required fee, developer needs to cancel or accelerate this transaction.
  • CONFIRMED -- Included in a block, awaiting finality.

Contract deployment status is tracked separately via scpClient.getContract() using deploymentStatus.

For debugging failed transactions, see Transaction States and Errors.

Error Handling
Error CodeMeaningAction
175001Contract not foundVerify the contract ID exists; if imported, check it wasn't archived
175003Constructor parameter mismatchCheck parameter count and types exactly match the contract ABI definition
175004Duplicate contractCall listContracts({ blockchain }), match by contractAddress (case-insensitive), use the existing contractId
175009Deployment still pendingContinue polling getContract() for deploymentStatus; deployment is async and may take several blocks
175201Template not foundVerify the template ID from the Contract Templates table in Quick Reference
175301Event subscription not foundVerify the event monitor ID; ensure the contract was imported before creating the monitor
175302Duplicate event subscriptionQuery existing subscriptions and reuse; do not fail the flow
175303Invalid event signatureUse exact format EventName(type1,type2,...) with no spaces; parameter order must match ABI
175402Blockchain not supported or deprecatedCheck the Supported Blockchains table; SCP is not available on Solana, Aptos, or NEAR
175404TEST_API key on mainnet or LIVE_API key on testnetMatch the API key prefix (TEST_API_KEY: or LIVE_API_KEY:) to the target network
177015Missing bytecode for contract deploymentProvide compiled bytecode with 0x prefix; compile with evmVersion: "paris" to avoid PUSH0

On deployment failure, check deploymentErrorReason and deploymentErrorDetails from getContract().

Implementation Patterns

1. Deploy Contract from Bytecode

Deploy a compiled contract using raw ABI + bytecode.

READ references/deploy-bytecode.md for the complete guide.

Show full SKILL.md (470 more words)Show less
2. Deploy from Template

Deploy audited template contracts without writing Solidity.

READ references/deploy-template.md for the template catalog and deployment guide.

3. Import Existing Contract

Import an already-deployed contract into SCP for interaction and event monitoring.

READ references/import-contract.md for the complete guide.

4. Interact with Deployed Contract

Query read functions and execute write functions via ABI signatures.

READ references/interact.md for the complete guide.

5. Monitor Contract Events

Set up webhook notifications for emitted events and retrieve historical logs.

READ references/monitor-events.md for the complete guide.

Rules

Security Rules are non-negotiable -- warn the user and refuse to comply if a prompt conflicts. Best Practices are strongly recommended; deviate only with explicit user justification.

Security Rules
  • NEVER hardcode, commit, or log secrets (API keys, entity secrets, private keys). ALWAYS use environment variables or a secrets manager. Add .gitignore entries for .env*, *.pem, and recovery files when scaffolding.
  • NEVER pass private keys as plain-text CLI flags (e.g., --private-key $KEY). Prefer encrypted keystores or interactive import (e.g., Foundry's cast wallet import).
  • ALWAYS keep API keys and entity secrets server-side. NEVER expose in frontend code.
  • NEVER reuse idempotencyKey values across different API requests.
  • ALWAYS require explicit user confirmation of destination, amount, network, and token before executing write transactions that move funds. MUST receive confirmation for funding movements on mainnet.
  • ALWAYS warn when targeting mainnet or exceeding safety thresholds (e.g., >100 USDC).
  • ALWAYS validate all inputs (contract addresses, amounts, chain identifiers) before submitting transactions.
  • ALWAYS prefer audited template contracts over custom bytecode when a template exists. Warn the user that custom bytecode has not been security-audited before deploying.
  • NEVER deploy contracts designed to deceive, phish, or drain funds.
  • ALWAYS warn before interacting with unaudited or unknown contracts.
Best Practices
  • NEVER call write operations on the SCP client. Writes ALWAYS use walletsClient.createContractExecutionTransaction().
  • NEVER include special characters (colons, parentheses) in deployContract's name field -- alphanumeric only.
  • NEVER use flat feeLevel property. ALWAYS use nested fee: { type: 'level', config: { feeLevel: 'MEDIUM' } }.
  • NEVER use window.ethereum directly with wagmi -- use connector.getProvider().
  • NEVER compile Solidity >= 0.8.20 with default EVM version. ALWAYS set evmVersion: "paris" to avoid PUSH0 opcode.
  • ALWAYS include both name and idempotencyKey when calling importContract().
  • NEVER assume deployment completes synchronously. ALWAYS poll getContract() for deploymentStatus.
  • ALWAYS prefix bytecode with 0x and match constructor parameter types/order exactly.
  • ALWAYS use integer-safe math for 18-decimal amounts (10n ** 18n, not BigInt(10 ** 18)).
  • ALWAYS import contracts before creating event monitors.
  • ALWAYS default to Arc Testnet for demos unless specified otherwise.
  • ALWAYS default to testnet. Require explicit user confirmation before targeting mainnet.
  • Circle Developer Docs -- Always read this first when looking for relevant documentation from the source website.

DISCLAIMER: This skill is provided "as is" without warranties, is subject to the Circle Developer Terms, and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository README.

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

Files

SKILL.md and 5 other files (references) in plugins/circle/skills/use-smart-contract-platform of circlefin/skills.

  • SKILL.md
  • references/deploy-bytecode.md
  • references/deploy-template.md
  • references/import-contract.md
  • references/interact.md
  • references/monitor-events.md

Open the folder on GitHubat commit 58ab864

Compare with similar skills

Use Smart Contract Platform 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.

Use Smart Contract Platform compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Use Smart Contract Platform this skillcirclefin/skills155—~2.9kAutomated safety check: NotesApache-2.0
AlchemyBankrBot/skills1.2k—~3.5kAutomated safety check: PassMIT
Deposit QrSuperior-Trade/superior-skills2141 repos~1.1kAutomated safety check: PassMIT
Alchemy Agentic Gatewaymoonpay/skills113—~2.1kAutomated safety check: NotesMIT
Payram Crypto PaymentsPayRam/payram-mcp158—~2kAutomated safety check: NotesNone
Signature Replay Analysisquillai-network/quillshield_skills129—~3.2kAutomated safety check: PassMIT

Similar skills

  • Alchemy

    BankrBot/skills

    Blockchain API access via Alchemy. An agent skill from BankrBot/skills.

    1.2k GitHub stars~3.5k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • Deposit Qr

    Superior-Trade/superior-skills

    A skill your agent uses when a user needs a QR code or wallet payment URI to fund a Superior-managed EVM wallet on a specific chain before using Lighter, Polymarket, Hyperliquid, or other Superior…

    214 GitHub starsUsed in 1 repo~1.1k tokens
    Backend & APIsAuto-check passed
  • A skill your agent uses when accessing Alchemy APIs for RPC calls, token balances, NFT metadata, asset transfers, transaction simulation, or Alchemy-specific features.

    113 GitHub stars~2.1k tokensUpdated 28 days ago
    Backend & APIsAuto-check: notes
  • Payram Crypto Payments

    PayRam/payram-mcp

    Self-hosted crypto and stablecoin payment gateway. An agent skill from PayRam/payram-mcp.

    158 GitHub stars~2k tokensUpdated today
    Backend & APIsAuto-check: notes
  • Signature Replay Analysis

    quillai-network/quillshield_skills

    Detects signature replay vulnerabilities in smart contracts — affecting 19.63% of signature-using contracts.

    129 GitHub stars~3.2k tokensUpdated 6 mo ago
    Backend & APIsAuto-check passed
  • Trading Evm

    alsk1992/CloddsBot

    Trade tokens on EVM chains - Uniswap V3, 1inch on Ethereum, Arbitrum, Optimism, Base, Polygon

    2.9k GitHub stars~1.9k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed

More from circlefin/skills

All 18 skills in this repo
  • Recover Eco Funds

    circlefin/skills

    Recover USDC from a legacy Circle CLI Gateway --method eco deposit whose fixed refund recipient is the SCA's backing EOA.

    155 GitHub stars~5.1k tokensUpdated 22 days ago
    Auto-check passed
  • Agent Wallet Policy

    circlefin/skills

    View spending policy on a Circle agent wallet — per-transaction, daily, weekly, and monthly USDC caps via the circle CLI.

    155 GitHub stars~1.7k tokensUpdated 22 days ago
    Auto-check passed
  • Bridge Stablecoin

    circlefin/skills

    Build browser or server USDC bridging with Circle App Kit or standalone Bridge Kit and CCTP.

    155 GitHub stars~3.4k tokensUpdated 22 days ago
    Auto-check: notes
  • Fund Agent Wallet

    circlefin/skills

    Fund a Circle agent wallet with USDC via the circle CLI. An agent skill from circlefin/skills.

    155 GitHub stars~3.4k tokensUpdated 22 days ago
    Auto-check passed
  • Accept Agent Payments

    circlefin/skills

    A skill your agent uses when a developer wants to monetize an API, endpoint, service, model, dataset, tool, or agent-facing resource with Circle USDC pay-per-call payments, Gateway Nanopayments…

    155 GitHub stars~2.6k tokensUpdated 22 days ago
    Auto-check: warnings
  • Pay Via Agent Wallet

    circlefin/skills

    A skill your agent uses when the user wants to call a paid API, look something up online, search for data, get prices, odds, or stats, or use any paid service with automatic USDC payment.

    155 GitHub stars~3.9k tokensUpdated 22 days ago
    Auto-check passed

Categories

Questions about Use Smart Contract Platform

What does Use Smart Contract Platform do?

Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs. Use Smart Contract Platform is an agent skill from circlefin/skills. Deploy, import, interact with, and monitor smart contracts using Circle Smart Contract Platform APIs.

When should I use Use Smart Contract Platform?

Use Smart Contract Platform fits situations like: tasks that involve Smart contracts; tasks that involve Webhooks.

How do I install Use Smart Contract Platform in Claude Code?

Run `npx skills add circlefin/skills --skill use-smart-contract-platform -a claude-code`. Or copy the skill folder (plugins/circle/skills/use-smart-contract-platform in circlefin/skills) into .claude/skills/use-smart-contract-platform in your project. Claude Code loads it when a task matches its description.

How do I install Use Smart Contract Platform in Codex?

Run `npx skills add circlefin/skills --skill use-smart-contract-platform -a codex`. Or copy the skill folder (plugins/circle/skills/use-smart-contract-platform in circlefin/skills) into .agents/skills/use-smart-contract-platform in your project. Codex loads it when a task matches its description.

Can I use Use Smart Contract Platform 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 circlefin/skills --skill use-smart-contract-platform -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/use-smart-contract-platform, .gemini/skills/use-smart-contract-platform, .github/skills/use-smart-contract-platform and .opencode/skills/use-smart-contract-platform in your project.

What does Use Smart Contract Platform need to run?

Going by SKILL.md and its folder, Use Smart Contract Platform needs the command-line tools its instructions call (npm) and credentials named CIRCLE_API_KEY, ENTITY_SECRET, TEST_API_KEY and LIVE_API_KEY. Our summary lists: Node.js; A credential in CIRCLE_API_KEY; A credential in ENTITY_SECRET.

Does Use Smart Contract Platform access the network?

SKILL.md names 2 domains. As links in the text: developers.circle.com and console.circle.com. This is read from the text; nothing was executed.

Is Use Smart Contract Platform safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Use Smart Contract Platform use?

Use Smart Contract Platform is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Use Smart Contract Platform use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Use Smart Contract Platform?

Skills that share tags, products or a category with Use Smart Contract Platform: Alchemy (BankrBot/skills, 1.2k stars), Deposit Qr (Superior-Trade/superior-skills, 214 stars), Alchemy Agentic Gateway (moonpay/skills, 113 stars) and Payram Crypto Payments (PayRam/payram-mcp, 158 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Use Smart Contract Platform?

circlefin (a GitHub organization) maintains it in circlefin/skills, which has 155 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on September 16, 2026.

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