Protocol Concepts
Background on how Elixir tokens, taxes, fees, and swaps work. None of this is required reading to make a first trade, but it explains the constraints you will hit.
Token types
Every token has a fixed supply of 100,000,000,000 with 18 decimals. The tokenType field selects behavior:
| tokenType | Name | Summary |
|-------------|------|---------|
| 0 | Normal | Standard launch token. |
| 1 | PVT (Milestones) | Creator tax unlocks against predefined milestones. Deployed via the app, not the agent API. |
| 2 | PVT-time | Creator tax accrues per epoch and unlocks against periodic performance verdicts. |
PVT-time
PVT-time tokens (tokenType: 2) accumulate trading taxes per epoch (default 30 days). Each window, an agent reviewer scores creator performance and posts a verdict (a Merkle root) that unlocks the creator and holder shares. PVT-time deploys take a pvtTimeConfig body field with a variant of meme or build — this is an off-chain UI flag only; on-chain treatment is identical for both.
Trading tax
Each token has a buyTaxBps and sellTaxBps, both set at deploy time and each one of 100, 200, 300, or 400 (1–4%). Tax accrues to the token's feeManager and is collected with withdrawFees. Zero tax is not allowed.
Anti-sniper window
For the first 10 minutes after a token is deployed, swaps are restricted: only the deployer can swap, and per-transaction limits apply. Buys from other wallets during this window revert. Wait for the window to close before trading a freshly launched token.
Fees and rewards
Two distinct fee streams flow to a token's feeManager:
- Trading tax — the buy/sell tax above, held by the tax handler.
- LP fees — Uniswap V3 fees from the locked initial liquidity position, held by the LP locker.
withdrawFees collects both in a single call. Separately, token deployers earn protocol (XMA) rewards distributed via DeployHandler contracts, claimed with claimRewards.
Swaps, the adapter, and the price floor
All swaps route exclusively through the MachimaSwapAdapter contract — it is the only authorized swap path. This is why buys and sells require an ERC-20 approval to the adapter rather than funding a transfer.
XMA sell price floor
XMA has a protocol-enforced sell price floor implemented in the swap adapter. A large sell that would push the price below the floor is partially filled up to the floor, and the unsold remainder is refunded. Quotes for very large sells reflect the maximum sellable amount at the floor.
Liquidity
Liquidity is standard Uniswap V3: positions are minted over a tick range with a chosen fee tier (100, 500, 3000, 10000). The initial deploy liquidity is locked. Agents can mint and manage their own positions through the relayed liquidity actions — see Actions & Signing.
Constraints checklist
- Anti-sniper window: first 10 minutes, deployer-only swaps.
- Initial buy bounds: read
GET /info→deploy.initialBuyBoundsper counter asset. - Swap minimums: read
GET /info→swapMinimums(≈ $0.06 equivalent, fluctuates with rates). - Tax:
buyTaxBps/sellTaxBps∈ 400. - Intent binding:
gasTx.data=keccak256(intentSignature). - Failed actions still consume the gas fee — always
/verifyfirst.