Circle is a global financial technology firm that enables businesses of all sizes to harness the power of stablecoins and public blockchains for payments, commerce, and financial applications worldwide. Circle's suite of Web3 services includes Circle API, Circle SDK, and Circle Platform.
One of the key offerings from Circle is Programmable Wallets, which are non-custodial wallets that allow developers to build, deploy, and manage wallets for their users. These wallets are programmable, meaning they can be customized to meet specific business needs, such as implementing compliance rules, managing user permissions, and automating transactions.
Circle's Programmable Wallets offer several benefits over traditional wallets:
Customizability: Programmable Wallets can be customized to meet specific business needs, allowing for a more tailored user experience.
Compliance: Programmable Wallets can be configured to comply with various regulations, making it easier for businesses to operate in different jurisdictions.
Security: Programmable Wallets are non-custodial, meaning users have full control over their funds. Circle also provides robust security features to protect user assets.
Scalability: Programmable Wallets can handle a large number of transactions, making them ideal for businesses that need to scale quickly.
USDC (USD Coin) is a stablecoin that is pegged to the US dollar. It is issued by Circle and is fully reserved, meaning each USDC is backed by one US dollar held in reserve. USDC is built on the Ethereum blockchain and is fully compliant with ERC-20 standards.
The combination of USDC and Programmable Wallets can help scale real-world solutions in several ways:
Fast and Cheap Transactions: USDC transactions are fast and cheap, making it ideal for businesses that need to send and receive payments quickly and efficiently.
Stability: USDC is pegged to the US dollar, making it a stable store of value. This stability can help businesses manage their cash flows more effectively.
Compliance: USDC is fully compliant with various regulations, making it easier for businesses to operate in different jurisdictions.
To create a new user, you need to send a POST request to the /users endpoint. Here's an example using the Circle API:
curl -X POST
https://api-sandbox.circle.com/v1/users
-H 'Authorization: Bearer ' -H 'Content-Type: application/json' -d '{ "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com","phoneNumber": "+12345678901" }' Acquire Session Token To generate a session token, you need to send a POST request to the /sessions endpoint. Here's an example: curl -X POST https://api-sandbox.circle.com/v1/sessions -H 'Authorization: Bearer ' -H 'Content-Type: application/json' -d '{ "user": "", "password": "" }' Initialize the User To initialize the user, you need to send a POST request to the /users/{user_id}/wallets endpoint. Here's an example: curl -X POST https://api-sandbox.circle.com/v1/users/ /wallets -H 'Authorization: Bearer ' -H 'Content-Type: application/json' -d '{ "currency": "USDC" }' Initiate a Transfer To initiate a transfer, you need to send a POST request to the /payment-initiations endpoint. Here's an example: curl -X POST https://api-sandbox.circle.com/v1/payment-initiations -H 'Authorization: Bearer ' -H 'Content-Type: application/json' -d '{ "amount": "amount": 100, "currency": "USDC" }, "sender": { "type": "WALLET", "id": "" }, "receiver": { "type": "WALLET", "id":
