We refreshed our doc site!
Bookmarked links may have changed
Read release notesDiscover the essential primitives that power Circle's Web3 Services:
By understanding these foundational components, you can unlock the full potential of Circle's Web3 Services and enhance your decentralized web experiences.
Watch this video to gain a fundamental understanding of Circle’s Web3 Services primitives. This video will help you grasp the basics of wallet functionality, the role of private keys, and how Circle’s API extends wallet capabilities with user-friendly flows and smart contract integration.
Circle supports two environments: Testnet (Sandbox) and Mainnet (Production). When you initially sign up, you will be provided access to Testnet, which is free to use. Once ready to promote to Mainnet, select “Access Mainnet” from the developer dashboard and start the onboarding process.
A Web3 Wallet, a decentralized or blockchain wallet, is a digital wallet that allows users to securely store, manage, and interact with their crypto assets and digital identities on the Web3 ecosystem. Unlike traditional wallets, Web3 wallets integrate with decentralized applications (dApps), enabling users to authenticate, sign transactions, and interact with blockchain-based services. With features like encryption and decentralized key management, Web3 wallets provide users with control, privacy, and security over their digital assets and interactions within the decentralized web.
Wallet attributes:
A wallet set is a hierarchical deterministic (HD) wallet, where all the children's wallets are created and managed by the same unique cryptographic private key. For each developer-controlled wallet created, you must provide a wallet set from which the wallet will be created.
Wallet set attributes:
A User represents an end-user of your application, allowing you to map their account to associated wallets, tokens, and transactions. The userId
, provided during account creation, is a unique identifier connecting the user to these components.
User attributes:
Smart contracts are the cornerstone of your deployed and on-chain imported contracts within the Smart Contract Platform (SCP). To interact with a smart contract on-chain, it is necessary to import it first. All smart contracts deployed via the web3 services APIs can be readily interacted with by default. Once imported or deployed, developers can leverage the functionality provided by the smart contract. SCP offers seamless accessibility to smart contracts through the developer console and APIs.
With SCP, developers can perform a wide range of tasks, including deploying NFT contracts, creating on-chain loyalty programs, interacting with popular DeFi projects like Uniswap with just a few clicks, seamlessly integrating Circle contracts (such as CCTP) into their apps, and deploying custom contracts written specifically for their application needs.
A smart contract Application Binary Interface (ABI) is a standardized interface description for interacting with a smart contract deployed on a blockchain. It defines the smart contract's structure, data types, and functions, enabling seamless communication between the contract and external entities, such as user interfaces, other contracts, or off-chain applications.
The smart contract ABI serves as a contract's public interface, outlining how to interact with it. It typically includes the following components:
The ABI allows developers and external applications to interact with a smart contract without understanding the contract's underlying implementation details or source code. It provides a standardized and language-agnostic way to communicate with smart contracts, facilitating interoperability and seamless integration with various platforms, tools, and services.
Smart contract attributes:
A transaction encompasses all blockchain activities, such as token transfers (inbound or outbound), smart contract deployment, and smart contract execution.
Transactions also include metadata that outlines their state. Once a transaction is created, Circle monitors the transactions on its respective networks containing a state field. You can find more information about transaction states in [this guide](doc:asynchronous-states-and-statuses).
Each transaction includes an Operation field specifying the transfer's purpose or use case. The table below highlights the various operations and their corresponding destination address:
Operation Type | Operation Field Value | Description of Destination Address Field Value |
---|---|---|
Transfer | TRANSFER | Externally owned account (EOA) that receives the transfer. |
Execute | CONTRACT_EXECUTION | Contract address. |
Deploy | CONTRACT_DEPLOY | Deployment of a transaction. |
The Gas Station Policy is a set of rules and configurations that govern the gas fee sponsorship functionality, defining parameters and limitations for subsidizing gas fees on a blockchain network for your application end-users.
For Mainnet, to enable gas fee sponsorship a policy must be activated. For Testnet, Circle automatically preconfigures a policy for you at the time of account creation. For Mainnet, you are required to configure them. Please see Policy Management for more details.
Policy Attributes:
The Monitored Tokens feature in the Programmable Wallet empowers developers with enhanced control over viewing token balances and transactions. This feature enables developers to easily manage and filter out tokens unrelated to their use case from our API responses, thereby selectively screening which tokens end-users can see, providing a more streamlined and personalized experience. Using the APIs, developers can easily add tokens via their unique token IDs.
By default, the system does not have any Monitored Tokens. This means that all tokens are monitored without specific filtering or restrictions. The system will track and monitor all tokens by default, providing comprehensive visibility and monitoring for all token activities.
Currently, the monitor token supports native coins, ERC-20, ERC-721, and ERC-1155.
Monitor tokens attributes: