use-smart-contract-platform

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

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/Surojit012/CMO --skill use-smart-contract-platform-surojit012
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: use-smart-contract-platform
Source: https://github.com/Surojit012/CMO/tree/main/.agents/skills/use-smart-contract-platform
Command: npx skills add https://github.com/Surojit012/CMO --skill use-smart-contract-platform-surojit012

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @circle-fin/smart-contract-platform, @circle-fin/developer-controlled-wallets, and includes references (resource) components.

What problem does it solve? Managing smart contract lifecycles across multiple EVM chains requires handling deployment, ABI-based interactions, and event monitoring separately. This Skill consolidates these workflows using Circle's Smart Contract Platform and Developer-Controlled Wallets SDKs, removing the need to manage private keys or build custom transaction infrastructure. ## Core Features & Use Cases - Contract Deployment: Deploy from raw bytecode or audited templates (ERC-20, ERC-721, ERC-1155, Airdrop) across chains like Ethereum, Base, Polygon, and Arc Testnet. - ABI-Based Interaction: Query read functions via the SCP client and execute write transactions through Developer-Controlled Wallets with async transaction state polling. - Event Monitoring: Import existing contracts and create webhook-based event monitors to receive notifications and fetch historical event logs. - Use Case: Deploy an ERC-1155 token on Arc Testnet from a template, mint tokens to a wallet, and set up a webhook monitor for Transfer events—all without writing Solidity. ## Quick Start Ask the AI to deploy an ERC-1155 template contract on Arc Testnet using the Circle Smart Contract Platform SDK and then monitor its Transfer events.

Frequently Asked Questions about use-smart-contract-platform

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a smart contract with Circle Smart Contract Platform?

Deploy a smart contract by calling scpClient.deployContract with ABI JSON, 0x-prefixed bytecode, constructor parameters, blockchain, and wallet ID. Deployment is asynchronous, so poll getContract until deploymentStatus reaches COMPLETE.

How to deploy an ERC-20 or ERC-1155 token without writing Solidity?

Use scpClient.deployContractTemplate with audited template IDs for ERC-20, ERC-721, ERC-1155, or Airdrop contracts. Provide templateParameters such as name, defaultAdmin, and royalty settings, then poll the transaction state until COMPLETE.

Which blockchains does Circle Smart Contract Platform support?

Supported chains include Ethereum, Arbitrum, Avalanche, Base, OP Mainnet, Polygon PoS, Unichain, Monad, and Arc, each with mainnet and testnet identifiers like ETH-SEPOLIA or ARC-TESTNET. Solana, Aptos, and NEAR are not supported.

Why does contract deployment fail with ESTIMATION_ERROR or PUSH0 errors?

Deployment fails because Solidity 0.8.20 and later default to the Shanghai EVM, which emits the PUSH0 opcode unsupported on chains like Arc Testnet. Compile with evmVersion set to paris or earlier to resolve this.

How do I monitor smart contract events with webhooks?

First import the contract with importContract, then call createEventMonitor with the blockchain, contract address, and an event signature like Transfer(address,address,uint256). Event notifications arrive via webhook, and history is available through getEventHistory.

Why does importContract fail with a duplicate contract error?

A duplicate error means the contract address is already imported on that blockchain. Call listContracts, match the address case-insensitively, and retrieve the existing contract ID with getContract instead of re-importing.