Roles
Gemini uses a role-based system for private API endpoints so that you can separate privileges for your API keys.
By assigning different roles to different API keys, you can create:
- One API key that can trade, and
- Another API key that can withdraw digital assets, or
- An API key to have access to read-only endpoints
You can configure which roles are assigned to your API keys by logging in to the Gemini Exchange website and going to API Settings to configure your API keys.
If you try to access an endpoint that requires a role you did not assign to your API key, you will get back a response with:
403
status- a JSON response body with:
reason
set toMissingRole
, andmessage
explaining what role you need to add to your API key to use this endpoint
See Error Codes for more information about API error responses.
Administrator
Assigning the Administrator role to an API key allows this API key to:
Create accounts within the Master Group View accounts within the Master Group
Trader
Assigning the Trader role to an API key allows this API key to:
- Check balances
- Place and cancel orders
- Check the status of orders
- See all deposit addresses
- See all active orders
- See your trade history and volume
- View accounts within the Master Group
Fund Manager
Assigning the Fund Manager role to an API key allows this API key to:
- Check balances
- See all deposit addresses
- Request new cryptocurrency deposit addresses
- Withdraw cryptocurrency funds
- View accounts within the Master Group
- Execute internal transfers between two accounts within the same Master group
Auditor
Assigning the Auditor role to an API key allows this API key to:
- Check balances
- Check the status of orders
- See transfers such as deposits and withdrawals
- See all deposit addresses
- See all active orders
- See trade volume
- See past trades
- View accounts within the Master Group
Endpoint summary
Here's a summary of which role you need to assign to your API key to use each endpoint in the API:
Account Scoped Endpoints
Endpoint | URI | Trader can access? | Fund Manager can access? | Auditor can access? |
---|---|---|---|---|
Create New Order | /v1/order/new | ✓ | ✗ | ✗ |
Cancel Order | /v1/order/cancel | ✓ | ✗ | ✗ |
Cancel All Session Orders | /v1/order/cancel/session | ✓ | ✗ | ✗ |
Cancel All Active Orders | /v1/order/cancel/all | ✓ | ✗ | ✗ |
Wrap Order | /v1/wrap/:symbol | ✓ | ✗ | ✗ |
Order Status | /v1/order/status | ✓ | ✗ | ✓ |
Get Active Orders | /v1/orders | ✓ | ✗ | ✓ |
List Past Trades | /v1/mytrades | ✓ | ✗ | ✓ |
Get Orders History | /v1/orders/history | ✓ | ✗ | ✓ |
Get Trade Volume | /v1/tradevolume | ✓ | ✗ | ✓ |
Get Notional Volume | /v1/notionalvolume | ✓ | ✗ | ✓ |
Heartbeat | /v1/heartbeat | ✓ | ✗ | ✗ |
Get Available Balances | /v1/balances | ✓ | ✓ | ✓ |
Get Notional Balances | v1/notionalbalances/:currency | ✓ | ✓ | ✓ |
Get Deposit Addresses | /v1/addresses/:network | ✓ | ✓ | ✓ |
New Deposit Address | /v1/deposit/:network/newAddress | ✗ | ✓ | ✗ |
Transfers | /v1/transfers | ✓ | ✓ | ✓ |
Custody Account Fees | /v1/custodyaccountfees | ✓ | ✓ | ✓ |
Withdraw Crypto Funds | /v1/withdraw/:currency | ✗ | ✓ | ✗ |
New Clearing Order | /v1/clearing/new | ✓ | ✗ | ✗ |
Clearing Order Status | /v1/clearing/status | ✓ | ✗ | ✓ |
Cancel Clearing Order | /v1/clearing/cancel | ✓ | ✗ | ✗ |
Confirm Clearing Order | /v1/clearing/confirm | ✓ | ✗ | ✗ |
Clearing Order List | /v1/clearing/list | ✓ | ✗ | ✗ |
Clearing Broker List | /v1/clearing/broker/list | ✓ | ✗ | ✗ |
Clearing Trades | /v1/clearing/trades | ✓ | ✗ | ✗ |
Get Instant Quote | /v1/instant/quote | ✓ | ✗ | ✗ |
Execute Instant Order | /v1/instant/execute | ✓ | ✗ | ✗ |
Add A Bank | /v1/payments/addbank | ✗ | ✓ | ✗ |
Add A Bank CAD | /v1/payments/addbank/cad | ✗ | ✓ | ✗ |
View Payment Methods | /v1/payments/methods | ✓ | ✓ | ✓ |
Account Detail | /v1/account | ✓ | ✓ | ✓ |
List Approved Addresses | /v1/approvedAddresses/account/:network | ✓ | ✓ | ✓ |
Remove Approved Address | /v1/approvedAddresses/:network/remove | ✗ | ✓ | ✗ |
FX Rate | /v2/fxrate/:symbol/:timestamp | ✗ | ✗ | ✓ |
Master Scoped Endpoints
Endpoint | URI | Administrator can access? | Trader can access? | Fund Manager can access? | Auditor can access? |
---|---|---|---|---|---|
Create Account | /v1/account/create | ✓ | ✗ | ✗ | ✗ |
Rename Account | /v1/account/rename | ✓ | ✗ | ✗ | ✗ |
Get Accounts | /v1/account/list | ✓ | ✓ | ✓ | ✓ |
Transfer Between Accounts | /v1/account/transfer/:currency | ✗ | ✗ | ✓ | ✗ |
Transactions | /v1/transactions | ✓ | ✓ | ✓ | ✓ |