A module is a set of blocks for one job. Pick one and its blocks show up in the builder.
EV
Core
Control flow, logic, maths, lists and variables. The language itself.
Real: part of the interpretereveryatwhenevent
Show all 44 blocks ▾Hide blocks ▴
EVENTS · 4
every [minutes] minutes
at time [time] each day
when webhook [path] received
when button [label] pressed
VALUES · 23
event [field]
( ) [op] ( )
( ) contains ( )
( ) [op] ( )
not ( )
( ) exists
random chance ( ) %
[num]
[text]
[bool]
list [items]
object [pairs]
current timestamp
( ) [op] ( )
( ) % of ( )
[op] of ( ) and ( )
random number from ( ) to ( )
random item from ( )
length of ( )
item ( ) of ( )
[key] of ( )
join ( ) ( )
[var]
ACTIONS · 17
if ( )
if ( )
repeat ( ) times
for each [var] in ( )
wait ( ) seconds
at most once every [seconds] seconds
stop [scope]
run in parallel
run sequence [name]
with ( ) % chance
switch on ( )
set [var] to ( )
change [var] by ( )
increment [var]
reset [var]
append ( ) to list [var]
remove [mode] ( ) from list [var]
EV
Solana
Token events (trades, volume, holders, fees) and wallet reads.
Real on a launched coin · pretend in the builderwheneverycoinwallet
Real trades, holders and fees on a launched coin. In the builder the Buy, Sell and +10 SOL buttons make pretend events.
Show all 11 blocks ▾Hide blocks ▴
EVENTS · 8
when trade happens [side]
when volume changes
every [amount] SOL of volume
when creator fees arrive
when market cap crosses [direction] $ [threshold]
when holder count crosses [direction] [threshold]
when wallet [wallet] receives funds
when token graduates
VALUES · 3
coin [stat]
wallet ( ) owns token ( )
SOL balance of wallet ( )
EV
AI
Agents, ask/choose/classify/summarize, identities, generated text and images.
Real on a launched coin · pretend in the builderwhen[prop]randomall
Paid from the coin's own fees; a coin with no AI credit skips AI. Images are placeholders for now.
Show all 22 blocks ▾Hide blocks ▴
EVENTS · 1
when agent completes task
VALUES · 14
[prop] of ( )
random existing agent
all agents
ask AI ( )
AI structured output ( )
AI choose from ( )
AI classify ( )
AI summarize ( )
AI generate identity for ( )
AI decides ( )
generate image of ( )
generate [kind] about ( )
choose image from ( )
AI review ( )
ACTIONS · 7
create agent [species]
run agent ( )
give ( ) tool [tool]
remember ( ) in memory of ( )
set [prop] of ( ) to ( )
remove agent ( )
set avatar of ( ) to ( )
WB
Browser
Web search, opening pages, extracting text, following links, HTTP.
Real on a launched coin · pretend in the buildersearchopentextfollow
Pages and HTTP calls are real on live coins, through a safe fetcher that only reaches public websites. Search is simulated until a search service is connected.
Show all 6 blocks ▾Hide blocks ▴
VALUES · 5
search web for ( )
open page ( )
text of page ( )
follow link ( ) on page ( )
HTTP [method] ( )
ACTIONS · 1
save finding ( )
EV
Website
Project world: entities, collections, feed, counters, site state and events.
Real: state kept in this projectwhencreatesetdelete
Show all 15 blocks ▾Hide blocks ▴
EVENTS · 1
when website event [name] happens
ACTIONS · 14
create card ( )
create entity of type [entity_type]
set [prop] of entity ( ) to ( )
delete entity ( )
show in project world ( )
add ( ) to collection [collection]
post to project feed ( )
change counter [name] by ( )
set website [key] to ( )
AI build website from ( )
add website section [kind]
update website section ( ) (number, title or hero)
set website theme [theme]
show notification ( )
FN
Finance
The coin's money: send, buy back, sell, burn, airdrop to holders, and named tallies.
Real on a launched coin · pretend in the buildertreasurybudgetgivefund
Real on a launched coin: its own vault does it, inside limits that grow with the fees it has earned. Pretend in the builder.
Show all 16 blocks ▾Hide blocks ▴
VALUES · 3
treasury [asset]
budget [name]
budget [name] has at least ( )
ACTIONS · 13
give ( ) an on-chain wallet
fund ( ) with ( ) SOL from the coin's money
agent ( ) sends ( ) [asset] to wallet ( )
agent ( ) buys ( ) for ( ) SOL
send ( ) [unit] to wallet ( )
buy ( ) for ( ) [unit]
sell ( ) for ( ) [unit]
add ( ) to budget [name]
spend ( ) from budget [name]
burn ( ) [mode] of $COIN
airdrop ( ) [mode] of [asset]
split ( ) from budget [from]
simulate reward for ( )
EV
Bounties
Bounties, submissions, AI review, approval and rewards.
Real: state kept in this projectwhen[which]createwait
Rewards are paid from the coin's vault on a launched coin and are pretend in the builder. Submissions are still simulated until the public form exists.
Show all 6 blocks ▾Hide blocks ▴
EVENTS · 1
when bounty submission arrives
VALUES · 1
[which] submission of ( )
ACTIONS · 4
create bounty ( )
wait for submission to ( )
approve ( )
reject ( )
OP
Social
Webhooks in and out, posts to X / Discord / Telegram, email.
Partly simulated: see belowsendpostemail
Webhooks into a coin are real and webhook sends are real on live coins. Posts to X, Discord and Telegram and email are logged, not delivered, until their keys are connected.
Show all 3 blocks ▾Hide blocks ▴
ACTIONS · 3
send webhook to ( )
post to [dest]
email / notify [to]
MO
Your modules
Modules you declare: events that arrive as webhooks, values you read, actions you send. No code.
Real: declared by you, no codewhenmodule
Run through the safe web fetcher on live coins and simulated in the builder. Saved inside the coin's rules, so a locked coin never changes.
Show all 3 blocks ▾Hide blocks ▴
EVENTS · 1
when module [module] event [event]
VALUES · 1
module value [module] [name]
ACTIONS · 1
module action [module] [name]
Suggest a block
Missing something? Tell us and we'll build it.
Your module
Create a module
A module wraps a website's API as blocks: events that arrive as webhooks, values you read, actions you send. No code runs. Circuit fills in the request and sends it through its safe web fetcher. Your secrets (set in Connections) are added on the server and never shown. A module can never move money.
EVENTS · arrive as a webhook of this coin
VALUES · read with a GET, then pick a field from the JSON answer
ACTIONS · a request with {{input}} and {{secret.NAME}} slots
Looks good: 3 blocks.
Talks to: api.coingecko.com, example.com · Uses your connections: price_board_token (sent to those websites)
{
"moduleId": "price-board",
"version": 1,
"name": "Price board",
"description": "Reads a price and posts to my own service.",
"events": [
{
"name": "alert"
}
],
"values": [
{
"name": "gecko_says",
"url": "https://api.coingecko.com/api/v3/ping",
"path": "gecko_says",
"sample": "(V3) To the Moon!"
}
],
"actions": [
{
"name": "announce",
"method": "POST",
"url": "https://example.com/api/announce",
"headers": {
"Authorization": "Bearer {{secret.price_board_token}}"
},
"bodyType": "json",
"body": "{\"text\": \"{{input}}\"}"
}
]
}