Become a market maker
A market maker (historically called a filler) responds to short-lived RFQ quote windows with on-chain-verifiable signed offers.
- Options RFQ — fill option intents on OpshunsMothership via FillMatched (
executeIntent), plus FixedPackage / Dutch / Authority paths — On-chain fill modes - 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.
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-organizationsPUT /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:
| Method | Path |
|---|---|
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
- Apply at
/makers(orPOST /api/maker/applications) and wait for the org to be created. - SIWE login or store the API key securely.
- Read networks for mothership / CLOB addresses on your chain.
- Register pubsub and join
quotes:<chain_id>:requests. - On each request, price → EIP-712 sign →
POSToffer. - 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
- Fill options RFQ quotes
- On-chain fill modes — FillMatched, Dutch, Authority
- CLOB
- Respond to Borrow RFQs — coming soon
- EIP-712 signing