Documentation
FlashAlliance Protocol Handbook
FlashAlliance is a standalone ERC20-funded collective NFT trading module. Each alliance is an isolated pool with a fixed participant list, fixed ownership shares, and one complete trade lifecycle: fund, buy NFT, sell NFT, claim proceeds.
Documentation map
- How It Works explains the state machine, roles, and execution rules.
- Testing Guide explains the exact local test flow for funding, buying, selling, and claims.
- Runbook maps common errors and revert reasons to concrete recovery actions.
- Deployments lists frontend addresses and operational metadata.
- Docs FAQ resolves the most common protocol misunderstandings.
- Public FAQ presents the same knowledge base in a broader onboarding format.
What FlashAlliance is
FlashAlliance is not a global DAO and not a reusable treasury. It is a lightweight coordination layer for a small group that wants to buy one NFT together, later sell it, and split the final proceeds according to fixed shares.
Every alliance has its own ERC20 settlement token, deadline, participant set, funding quotas, quorum configuration, sale rules, and emergency flow. One alliance does not affect another alliance.
Lifecycle snapshot
- Participants are fixed at creation time together with their share percentages.
- Participants deposit the alliance ERC20 only up to their own quota.
- When target funding is reached, participants can propose and approve one NFT acquisition.
- The NFT seller must still own the NFT and approve the alliance contract for transfer.
- After purchase, the alliance enters the `Acquired` state and participants can vote sale parameters.
- The buyer must approve the alliance contract to pull the ERC20 sale payment.
- After sale, proceeds become claimable by fixed shares and the alliance moves to `Closed`.
- The lifecycle does not reopen. A new NFT requires a new alliance.
Quick start
- Connect a wallet on the configured network and confirm the factory address on the dashboard.
- Create an alliance using human-readable ERC20 amounts such as `1000 FATK`, not raw smallest units.
- Approve and deposit only while the alliance state is `Funding`.
- Use the acquisition modal to create a buy proposal and generate a seller approval page for the NFT owner.
- After the NFT is acquired, use the sale modal to create a sale proposal and generate a buyer approval page.
- When the alliance reaches `Closed`, claim proceeds and create a new alliance for the next NFT cycle.
Official resources
Important protocol rule
One alliance is intentionally one-shot. If the group wants to buy another NFT after sale settlement, the correct flow is to deploy a new alliance rather than reusing the old one.