FAQ
The questions integrators actually send us, answered in full. Explorer links point at Blockscout for Robinhood Chain (id 4663).
Is the contract a fork of an existing launchpad?
No. The Orbofi factory is purpose-written contract code, not a fork of Pump.fun, Four.meme, Flap or any other launchpad. It composes two external protocols, both used unmodified:
Orbofi Factory
Orbofi
Entry point. Validates and configures every launch.
Doppler — Airlock, token factory, pool initializer, rehype hook
Deploys the ERC-20, initializes and seeds the V4 pool, keeps the fee ledgers
Uniswap V4 — PoolManager, Universal Router, Quoter
Uniswap
Holds liquidity, executes swaps
The factory exists to be opinionated about what a valid Orbofi launch is, and to enforce that on chain rather than trusting whoever calls it. Concretely it pins:
which numeraires may be paired against — allowlisted, and changes are timelocked
the fee shape: both legs, their individual ceilings, and their combined bound
a minimum treasury share, so a launch cannot be configured to pay the protocol nothing
an opening-price floor per numeraire, so a pool cannot be initialized at an absurd price
which initializer, hook, token factory, governance factory and migrator may be used
Allowlist and fee-config changes run through a timelock with a guardian, so neither can be altered in a single transaction.
Contracts: Orbofi Factory · Doppler Airlock · PoolManager
What is the factory address, and will it change before launch?
Current factory — already live in production since 2026-08-19:
This is the only address an integration needs for discovery.
Will it change? It can, when the factory is upgraded. Treat your address list as append-only: when a new factory ships, add it alongside this one.
A factory upgrade does not change your parsing. Every factory version emits the identical event:
So a new factory costs you one line in an address list. Nothing about the token, the pool, the ABI or the decode changes. See Index agent launches.
What is the tax structure on the bonding curve?
There is no bonding curve. Orbofi agents have no pre-DEX phase. The token is deployed and its full supply is placed into a Uniswap V4 pool in the same transaction, and it trades there from that block onward. There is no curve to price against and no curve tax.
There is no token tax either. The agent token is a plain ERC-20:
no transfer tax, no reflection, no rebasing
no blacklist, no pause, no trading toggle
fixed supply, minted once at launch
18 decimals
A transfer moves exactly the amount requested. Every fee is charged by the pool, on the swap.
The fee is 1.5%, identical on buys and sells, plus 0.1% automatically returned to the pool as locked liquidity — a 1.6% total charged in-swap, already reflected in a quote from the V4 Quoter. Do not subtract it a second time when displaying expected output.
It divides like this:
LP leg
0.1%
Fee beneficiaries
Hook leg — revenue
1.4%
Fee beneficiaries
Hook leg — compound
0.1%
Back into locked liquidity
The split funds the agent's creator, the agent's own treasury, and the protocol — background from an integrator's perspective, since the fee is taken by the pool in-swap and involves no integration step. What your indexer DOES need to know about it is in Fees.
Is there an anti-snipe or time-based dynamic fee window?
Yes. The pool registers Uniswap V4's dynamic-fee flag (0x800000) and runs a decaying schedule from the moment the pool is initialized:
Opening fee
80% (800000, where 1e6 = 100%) — floor and ceiling coincide, so this one is effectively pinned
Decay
linear
Duration
10 seconds — this is a minFeeDecayDuration floor; a launch may set longer
Settles at
the standing rate — bounded by the factory rather than fixed by it
Starts at
pool initialization — the launch transaction
The purpose is to make first-block sniping unprofitable: a bot buying in the opening block pays 80%, and by the time a human could reasonably act the fee has decayed to the standing rate.
What this means for your integration:
Always quote. Call
quoteExactInputSinglerather than assuming the standing rate. In the first ten seconds a hardcoded value is badly wrong.Do not read the total off
Swap.fee. That field reports the LP leg only — it reads1000(0.1%) on a normal trade, not16000. The hook leg is charged through hook deltas the PoolManager never sees, soSwap.feeunderstates the real cost by roughly 16x. Verified against a live swap on chain.Derive effective cost from the quote, or from the amounts.
quoteExactInputSingleis already net of both legs. For a historical trade, compareamount0/amount1against the pool price at that block.
What is the graduation logic — threshold, target DEX, pool swap fee?
There is no bonding-curve graduation. An agent has no pre-DEX phase to graduate FROM — its full supply is placed in a Uniswap V4 pool at launch and it trades there from block one.
One nuance worth knowing: the shared pool initializer does expose a permissionless graduate() / exitLiquidity() migration path. It is economically gated (MIN_GRADUATION_SHARE) and has never fired — zero Graduated events across every Orbofi pool. If it ever did, that pool would emit Graduated and its LP-leg collectFees would revert thereafter. In practice there is no lifecycle transition to model; if you want to be thorough, watch Graduated as a fee-collection kill-switch, nothing more.
Liquidity sits in a Uniswap V4 pool created in the launch transaction and stays there permanently. The launch position is locked; the creator cannot withdraw it.
Pool parameters, identical for every Orbofi agent:
Because currencies are address-sorted, the agent is currency0 for some pools and currency1 for others — derive it, never assume. See Liquidity layer.
If your pipeline models a "bonding curve → graduated" lifecycle, treat Orbofi agents as already at the DEX stage from creation — there is no curve phase to represent.
What is the token page URL?
Example: https://www.orbofi.com/agent/0xCf9fef947622A12b2129DaD471421105E59dbAAC
The address is the agent's ERC-20 — the asset field of AgentCoinLaunched — and is accepted in any casing.
Where is the ABI?
ABIs has everything needed for parsing:
AgentCoinLaunchedwith itstopic0, for discoveryUniswap V4
InitializeandSwap, for pools and tradesquoteExactInputSingle, for pricingBoth fee-ledger interfaces
The full factory ABI as JSON —
developers/abi/OrbofiLauncher.json, 20 events / 58 functions / 85 custom errors
The agent token needs no ABI beyond standard ERC-20.
How do I identify an Orbofi token?
Authenticate on the event plus the emitting factory address. That pair is the only authoritative signal — filtering on topic0 alone is not sufficient, because any contract can emit any event signature.
Agent tokens are also mined to end in AAC, for example 0xA197402dEA39E3D03c208319888bBD58976e6AAC. That is a display nicety and is grindable by anyone — never use it as an authenticity check.
Which token is an agent paired against?
WETH or a tokenized stock, chosen at launch and fixed thereafter. Read it from the numeraire field of AgentCoinLaunched.
Stock-paired agents are common, so do not hardcode WETH — pricing a stock-paired agent through ETH/USD misreports it by a large factor.
Last updated
Was this helpful?

