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 — fill option intents on OpshunsMothership via FillMatched (executeIntent), plus FixedPackage / Dutch / Authority paths — On-chain fill modes
  2. Borrow RFQcoming 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.

Access model

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

Applicant
→ POST /api/maker/applications (or the /makers form)
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

POST /api/maker/applications (login optional):

{
"organization_name": "Example Desk",
"contact_name": "Ada",
"email": "ada@example.com",
"wallet_address": "0x…"
}

Optional: website, notes.

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, 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 (or POST /api/maker/applications) and 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. Register pubsub and join quotes:<chain_id>:requests.
  5. On each request, price → EIP-712 sign → POST offer.
  6. 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