Skip to main content

Become a market maker

A market maker (historically called a filler) responds to short-lived RFQ quote windows with on-chain-verifiable signed offers.

  1. Options RFQ: sign a FixedPackage offer and the taker fills with executeFixedPackageIntent. Inventory executeIntent, Dutch, and Authority are separate paths. On-chain fill modes
  2. Borrow RFQ: coming soon. Lend against opshun collateral via MarginRFQCore. Not live; do not build production bots against Borrow feeds yet.

Same access model for both when Borrow ships.

Build bots with @opshuns/sdk (../sdk): startMakerSession, signRfqPackageOffer, placeBid. Guide: TypeScript SDK.

Access model​

Maker rights come from maker organizations, not from bonding to an APIBond contract.

Applicant
→ /makers form (Web3Forms)
System admin
→ creates maker org (admin wallet address)
Organization owner / manager
→ SIWE logs in, issues member API keys, may transfer admin
Member bot / wallet
→ uses SIWE token or API key to post offers + join streams

An address has maker rights when it is:

  • an organization admin, owner, or manager, or
  • holds at least one enabled member key

GET /api/me then returns tier: "maker" with role: "admin" | "owner" | "manager" | "member".

Apply​

Use the trading app form at /makers. Applications are submitted through Web3Forms (not the Opshuns API). A system admin creates the org before GET /api/me returns tier: "maker".

Admin setup​

System admins (seeded via ADMIN_ADDRESS, managed under /admin) create orgs:

  • POST /api/admin/maker-organizations
  • PUT /api/admin/maker-organizations/:id (reassign admin)

Org admin: issue keys​

Authenticated as the org owner/manager. Adding or removing member addresses, and transferring admin, also require a wallet signature from that admin:

MethodPath
GET/api/maker/keys
POST/api/maker/keys
DELETE/api/maker/keys/:id
PUT/api/maker/organization

Signed plaintext (personal_sign) starts with Opshuns maker admin action and includes Action: add_member | remove_member | transfer_admin. See Authentication.

Browser UI: trading app /makers: apply via Web3Forms (with hCaptcha), SIWE as a maker wallet, and (owner/manager) add or remove member addresses or transfer admin.

Legacy​

POST /api/premium/activate is removed (410). Do not use SignUp bond stakes for API maker access.

Exclusive-fill fill bond minima still come from GET /api/bond-requirements. Orders & exclusive fills.

End-to-end maker checklist​

  1. Apply at /makers (Web3Forms), then wait for the org to be created.
  2. SIWE login or store the API key securely.
  3. Read networks for mothership / CLOB addresses on your chain.
  4. If you skip the Opshuns auction and settle yourself: Settle matched intents with your own RFQ. Book-only: Call the CLOB directly.
  5. Register pubsub and join quotes:<chain_id>:requests.
  6. On each request, price → EIP-712 sign → POST offer.
  7. Keep inventory / approvals ready so takers can settle on-chain.

Dev bootstrap​

With mix dev.local, a fake market maker is started as a maker org admin and posts signed offers on Anvil. Useful for exercising the trading UI, not for production pricing.

Next​