the block library
Every block a coin can hold.
All 134 blocks across 15 families — what each one does, what it asks for, and whether it runs for real on a launched coin. Tap Ask Bolt on any block to start a rule with it.
Events 19 blocks
When things happen on your coin.
EVENTS · 17
Runs on every trade of the project token.
Runs each time cumulative volume crosses another multiple of the amount.
Runs when creator fees land in the coin's vault.
Runs once each time market cap crosses the threshold in that direction.
Runs once each time the holder count crosses the threshold.
BUILDER ONLY. Runs when the given wallet receives a transfer. It never runs on a launched coin; use "when creator fees arrive" instead.
Runs when the token graduates from its bonding curve.
Runs when a request hits this project's webhook path.
Runs when the project website emits the named event.
Runs after any agent finishes a Run Agent task.
Runs when someone submits work to an open bounty.
Runs when the named button is pressed in the simulator.
Runs once each time the coin's market cap (in USD) passes this level. After it runs it waits until the market cap has moved back past the level by at least 5% before it can run again, so a coin sitting right on the line does not set it off over and over. Pretend trades move the pretend market cap in the builder; real trades do on a live coin.
Runs when the coin's price falls (or climbs) by at least this percent inside this many minutes, measured from the highest (or lowest) price in that time. It runs once for a move, then rests for the same number of minutes. Pretend trades move the pretend price in the builder; real trades do on a live coin.
VALUES · 2
A value from the event that started this script. Fields the event doesn't provide are empty.
Your coin's numbers right now: market cap in USD, holder count, price per token in SOL, and volume and trades since launch. Simulated in the builder; real once the coin is live.
Logic 11 blocks
Decide what happens next.
ACTIONS · 11
Runs the inner blocks only when the condition is true.
Runs one branch or the other depending on the condition.
Runs the inner blocks once per list item, with the item stored in the variable.
Skips the inner blocks if they already ran within the cooldown window.
Runs both branches at the same time and continues when both finish.
Groups blocks into a named, collapsible sequence.
Randomly picks a branch: the first runs with the given probability.
Runs the branch whose case text equals the value, or the default.
Checks 7 blocks
Yes-or-no questions for your ifs.
VALUES · 7
True if the text contains the substring, or the list contains the item.
True if the wallet holds any of the token. Leave the token empty for your own coin. Read from Solana when live; simulated in the builder for made-up wallets.
Data 15 blocks
Lists, randomness and numbers.
VALUES · 15
A list of comma-separated items. Numbers stay numbers.
A random whole number between the bounds, inclusive.
Picks one item at random.
State 7 blocks
Remember things between runs.
VALUES · 1
The value of a variable. Variables persist between executions.
ACTIONS · 6
Adds to a number variable (use a negative number to subtract).
Adds a value to the end of a list variable (creates the list if needed).
Removes from a list variable. 'items equal to' removes every item equal to the value.
Agents 13 blocks
Characters that live in your world.
VALUES · 3
Reads a property: name, species, personality, budget, score, inventory, or any custom property.
One of the project's agents, picked at random.
ACTIONS · 10
Creates a persistent agent entity: unique id, identity, properties, memory, inventory and activity history.
Gives the agent a task. The result is an object with response, decision and data.
SIMULATED in the builder, real on a live coin. Gives the agent its own wallet address (it starts empty). Nothing is spent.
SIMULATED in the builder, real on a live coin. Sets this amount aside for the agent from the coin's claimed fees. The agent can never spend more than it was given.
SIMULATED in the builder, real on a live coin. The agent sends SOL (or a token, by its address) from its own wallet. It counts against the coin's spending limits.
SIMULATED in the builder, real on a live coin. The agent buys with SOL it was given, and what it buys lands in its own wallet. On a live coin an agent can only buy the coin itself ($COIN) or a token by its address. It counts against the coin's spending limits.
Appends an entry to the agent's memory.
AI 7 blocks
Names, words and decisions.
VALUES · 7
Returns an object with exactly the listed fields.
Returns one of the labels.
Returns an object with name, personality, bio and emoji.
Web 6 blocks
Talk to the rest of the internet.
VALUES · 5
A list of results, each with title, url and snippet. Made-up results in the builder. A live coin needs this site's search service: without it the launch is refused or the step fails. A live coin never gets made-up results.
Opens a URL or a search result. Returns a page object (title, url, text, links).
Calls a web address and gives back { status, ok, body } (JSON bodies are read for you). Headers as "Name: value" lines. Public addresses only, at most 10 web calls per run. In the builder only GET is sent; other methods are sent once your coin is live.
ACTIONS · 1
Stores a finding in the project's findings list and on the agent.
Media 5 blocks
Pictures and cards.
VALUES · 3
Returns an image URL. The builder returns a placeholder picture. A live coin needs this site's image service: without it the launch is refused or the coin gets a placeholder picture.
ACTIONS · 2
Adds a visual card to the project world.
Worlds 13 blocks
A place for everything to live.
ACTIONS · 13
Creates a persistent entity that appears in the project world.
Sets a property on an entity (or agent).
Places an agent or entity on the world stage.
Adds an item to a named collection shown in the world (shelf, gallery, team…).
Adds a line to the project feed. {name} inserts a variable.
Changes a public counter displayed on the project site.
Updates a key in the project website's public state.
The AI designs your coin's website (title, sections, theme) from your words. It only picks from safe pieces, never raw code.
Adds a section to the website. Content: text as is; cards as lines “Title: text”; stats as “Label = holders”; links as “Label | https://...”; image as an address; button as its label.
Changes a website section. Leave a box empty to keep what is there. “hero” changes the top of the page (title, then tagline).
Picks one of the website's ready-made looks.
Money 16 blocks
Send, buy back, burn and airdrop from the coin's vault.
VALUES · 8
A wallet's SOL balance. Made up in the builder, read from Solana on a live coin. Leave it as "treasury" for the coin's own spendable fees.
The coin's collected creator fees that are not spent yet. Pretend numbers in the builder, the real amount on a live coin.
BUILDER ONLY. The current amount in a named budget. A live coin can't keep budgets properly, so don't use budgets in a coin you plan to launch.
BUILDER ONLY. True if the budget holds at least the amount. A live coin can't use budgets properly, so don't use this in a coin you plan to launch.
The wallet of one buyer of this coin, picked at random from everyone who bought in that time. Every buyer has the same chance, however many times they bought. Plug it into the wallet slot of Send. The pick is seeded from the event that started the run and written on the receipt. If nobody bought in that time, the Send is skipped and nothing is paid. The coin remembers its last 200 buys. Pretend buys in the builder, real ones on a live coin.
The wallet that bought the most of this coin in that time, counting all of its buys together (in SOL). Plug it into the wallet slot of Send. If nobody bought in that time, the Send is skipped and nothing is paid. The coin remembers its last 200 buys. Pretend buys in the builder, real ones on a live coin.
The wallet of the most recent buyer of this coin. Plug it into the wallet slot of Send. If nobody has bought yet, the Send is skipped and nothing is paid. Pretend buys in the builder, real ones on a live coin.
How many buys of this coin happened in that time. The coin remembers its last 200 buys, so this never counts past 200. Pretend buys in the builder, real ones on a live coin.
ACTIONS · 8
Sends SOL to a wallet. Pretend in the builder. On a live coin it is a real payment from the coin's own fees, inside its limits.
Buys the coin back with SOL, or buys a tokenized stock (plug in a stock block). Pretend in the builder. On a live coin it is a real buy paid from its own fees: a coin can trade only itself and up to 3 stocks picked at launch. Set “as a percent of” to spend a percent of the event's own amount (e.g. the fees that just arrived) or of the coin's claimable fees instead of the flat amount above; leave it on “nothing” to use the amount as is.
Sells some of this coin that its wallet holds, or a percent of a tokenized stock it holds (plug in a stock block: 50 sells half, 100 sells all). Pretend in the builder, a real sale on a live coin. For the coin itself, on a live coin the number is how many tokens to sell, not an amount of SOL.
BUILDER ONLY. Puts some of the coin's funds into a named budget. A live coin can't use budgets properly (the money can get stuck), so don't use this in a coin you plan to launch.
BUILDER ONLY. Spends from a named budget. Fails if the budget is too small. A live coin can't use budgets properly, so don't use this in a coin you plan to launch.
Pretend in the builder, real on a live coin. Burns (destroys forever) some of the coin's own tokens held in its wallet. Pick a flat number of tokens, or a percent of what the coin wallet currently holds. A live coin burns for real (an on-chain SPL burn); nothing is sent to anyone, including the project.
Pretend in the builder, real on a live coin. Pays holders of this coin. “Top” splits the amount equally among that many top holders; “all” splits it in proportion to what each holder has. “A random” holder pays the whole amount to ONE holder, whatever number you type. The random pick is seeded from the triggering event, so it's the same pick every time this exact event is replayed (recorded in the receipt). A live coin pays at most the launch terms' recipient cap in one run.
BUILDER ONLY. Moves an amount from one budget, divided equally into others. A live coin can't use budgets properly (the money can get stuck), so don't use this in a coin you plan to launch.
Stocks 2 blocks
Tokenized stocks a coin can trade
VALUES · 2
A tokenized stock, such as NVDA (NVIDIA). Plug it into buy or sell. A coin can trade at most 3 different stocks, picked from 15 and fixed at launch. Tokenized stocks are not the shares themselves.
Picks one of these tokenized stocks at random each time it runs. Every stock in the list counts toward the coin's 3 stocks.
Bounties 7 blocks
Reward people for doing things.
VALUES · 2
Reads a submission (wallet, content, score, status).
Returns { score 0-100, approved, feedback }.
ACTIONS · 5
Opens a bounty. Pretend in the builder. On a live coin the reward is a real payment from the coin's fees to whoever's entry is approved.
Marks the bounty as accepting work. Submissions trigger 'when bounty submission arrives'.
SIMULATED in the builder, a real payment from the coin's fees on a live coin. Pays the bounty's reward to the wallet that sent the submission.
Social 3 blocks
Post where your holders are.
ACTIONS · 3
POSTs the payload as JSON to a web address. Sent for real once your coin is live (signed if you saved a signing secret); simulated in the builder.
SIMULATED in the builder: shows exactly what it would post. A live coin posts for real once you add that service under Connections. Limits: X once per 10 minutes, Discord and Telegram once per minute.
SIMULATED in the builder: shows exactly what it would send. A live coin emails one address, at most once a minute: the address typed here if Circuit allows that, otherwise the coin owner's own saved address.
Modules 3 blocks
Your own blocks that talk to other sites
EVENTS · 1
Runs when a module's event arrives as a webhook (the same address and secret as any webhook of this coin).
VALUES · 1
Reads a value from a module's website address. Needs your coin to be live; the builder only simulates it.
ACTIONS · 1
Sends the module's request. Needs your coin to be live; the builder only simulates it. A module can never move money.
Snap any of these together in the builder — one sentence, or block by block.
Open the builder