GET

All GET endpoints are documented here. Base URLs should be changed in relation to the environment that is used: Testnet or Mainnet.

Get Markets

GET https://api.swivel.exchange/v2/markets?status=s&depth=d

This endpoint allows you to request a list of markets.

Query Parameters

Name
Type
Description

status

string

active or matured

depth

integer

The number of markets to return.

[
  {
    "underlying": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "maturity": "1648177200",
    "protocol": 1
  }
]

Get Orderbook

GET https://api.swivel.exchange/v2/orderbook?underlying=u&maturity=m&protocol=p&depth=d

This endpoint allows you to request an orderbook of a given depth for a specified market. Returns receiving premium and paying premium orders in descending/ascending order including availableVolume translated into both premiumAvailable and principalAvailable.

Query Parameters

Name
Type
Description

underlying*

string

The underlying token being transacted. E.g. USDC, DAI, etc.,

maturity*

string

The maturity of market in unix seconds.

depth

integer

The number of orders on each side of the orderbook to return.

protocol*

integer

A pointer that refers to a given yield bearing market like Lido or Compound.

The protocol enum values:

enum Protocols {

Erc4626 = 0,

Compound = 1,

Rari = 2,

Yearn = 3,

Aave = 4,

Euler = 5,

Lido = 6

}

{
    "receivingPremium": [
        {
            "order": {
                "key": "0xae3f59eabffcf1f15f384d5e582985d31a9aef4b181ecf56a0a37bab85013f1f",
                "maker": "0x335c0552eb130f3Dfbe6efcB4D2895aED1E9938b",
                "underlying": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
                "vault": false,
                "exit": false,
                "principal": "10000000000000000000000",
                "premium": "799000000000000000000",
                "maturity": "1669957199",
                "expiry": "1641386982",
                "protocol": 1
            },
            "meta": {
                "price": "0.0799",
                "signature": "0x94836bc0b91695430e738f53e08cfef34ee1c048c42f9d846732cd867bf5376233ed86fb6b324dd9fac98c3e53c8e7f00b9c5c80fbd2d00bf8c5a177fbe8d38f1b",
                "premiumAvailable": "799000000000000000000",
                "principalAvailable": "10000000000000000000000",
                "sequence": 69218
            }
        }
    ],
    "payingPremium": [
        {
            "order": {
                "key": "0xa8181ff6e0bfa16130944d5add7220eed46f44796de7d4216728dde40376ac5e",
                "maker": "0x096Da21Ac79ae1EDbC69A07CE5c705E6c77Fec90",
                "underlying": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
                "vault": true,
                "exit": false,
                "principal": "107758620689655172413793",
                "premium": "10000000000000000000000",
                "maturity": "1669957199",
                "expiry": "1641371984",
                "protocol": 1
            },
            "meta": {
                "price": "0.0928",
                "signature": "0xa4e8958193cf2cb9c70e4c4a7df9c3c7b68f89fd2f250d80e6bc9dbd9cba8c54415fb2f4d8da33c1d81d5a028233255b52adbf36bee3a2a929fb3ea3e735ff7a1c",
                "premiumAvailable": "10000000000000000000000",
                "principalAvailable": "107758620689655172413793",
                "sequence": 63593
            }
        }
    ],
    "timestamp": 1640178800,
    "nonce": 69218
}

Get Order

GET https://api.swivel.exchange/v2/orders/key

This endpoint allows you to request the detailed state and parameters for a given order.

Returns the orders parameters as well as order price, volume available and initial timestamp.

Path Parameters

Name
Type
Description

key*

String

Order key

{
    "order": {
        "key": "0xae3f59eabffcf1f15f384d5e582985d31a9aef4b181ecf56a0a37bab85013f1f",
        "maker": "0x335c0552eb130f3Dfbe6efcB4D2895aED1E9938b",
        "underlying": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
        "vault": false,
        "exit": false,
        "principal": "10000000000000000000000",
        "premium": "799000000000000000000",
        "maturity": "1669957199",
        "expiry": "1641386982",
        "protocol": 1
    },
    "meta": {
        "price": "0.0799",
        "signature": "0x94836bc0b91695430e738f53e08cfef34ee1c048c42f9d846732cd867bf5376233ed86fb6b324dd9fac98c3e53c8e7f00b9c5c80fbd2d00bf8c5a177fbe8d38f1b",
        "premiumAvailable": "799000000000000000000",
        "principalAvailable": "10000000000000000000000",
        "sequence": 69218
    }
}

Get Effective Price (Preview Market Order)

GET https://api.swivel.exchange/v2/fillpreview?underlying=u&maturity=m&protocol=p&volume=v&vault=w&exit=e

This endpoint allows you to request a limit order payload that matches a given market order. Returns the effective price as well as orders for consumption.

Query Parameters

Name
Type
Description

underlying*

string

The underlying token being transacted. E.g. USDC, DAI, etc.,

maturity*

string

The duration of the rolling-maturity market in seconds. E.g. 31536000 (12 months)

volume*

string

The amount of currency to use.

vault*

boolean

Indicates if an order is in relation to a initiating/exiting a vault or zcToken

exit*

boolean

Indicated if an order is an exit or an initiate

protocol*

integer

A pointer that refers to a given yield bearing market like Lido or Compound.

The protocol enum values:

enum Protocols {

Erc4626 = 0,

Compound = 1,

Rari = 2,

Yearn = 3,

Aave = 4,

Euler = 5,

Lido = 6

}

{
    "orders": [
        {
            "order": {
                "key": "0xa8181ff6e0bfa16130944d5add7220eed46f44796de7d4216728dde40376ac5e",
                "maker": "0x096Da21Ac79ae1EDbC69A07CE5c705E6c77Fec90",
                "underlying": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
                "vault": true,
                "exit": false,
                "principal": "107758620689655172413793",
                "premium": "10000000000000000000000",
                "maturity": "1669957199",
                "expiry": "1641371984",
                "protocol": 1
            },
            "meta": {
                "price": "0.0928",
                "signature": "0xa4e8958193cf2cb9c70e4c4a7df9c3c7b68f89fd2f250d80e6bc9dbd9cba8c54415fb2f4d8da33c1d81d5a028233255b52adbf36bee3a2a929fb3ea3e735ff7a1c",
                "premiumAvailable": "10000000000000000000000",
                "principalAvailable": "107758620689655172413793",
                "previewFill": "1000",
                "sequence": 63593
            }
        }
    ],
    "effectivePrice": "0.092799999999999997156",
    "timestamp": 1640178873
}

Get Order History

GET https://api.swivel.exchange/v2/users/:address/orders?underlying=u&maturity=m&protocol=p&status=s

This endpoint allows you to request the order history for a given address, and allows filtering by active, cancelled, full and expired statuses. Returns chronologically sorted orders for a given address.

Query Parameters

Name
Type
Description

address*

string

Public key of an order's creator

underlying*

string

The underlying token being transacted. E.g. USDC, DAI, etc.,

maturity*

string

The maturity of market in unix seconds.

status

list(string)

List of statuses expired, cancelled, full or insolvent.

protocol*

integer

A pointer that refers to a given yield bearing market like Lido or Compound.

The protocol enum values:

enum Protocols {

Erc4626 = 0,

Compound = 1,

Rari = 2,

Yearn = 3,

Aave = 4,

Euler = 5,

Lido = 6

}

{
    "orders": [
        {
            "order": {
                "key": "0x279eb2584cb32ccc7a512d3d46e3dbb83ecde4b0c231c3f4838cae0ea70223e8",
                "maker": "0x096Da21Ac79ae1EDbC69A07CE5c705E6c77Fec90",
                "underlying": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
                "vault": false,
                "exit": false,
                "principal": "30000000000000000000000",
                "premium": "3333000000000000000000",
                "maturity": "1669957199",
                "expiry": "1641372040",
                "protocol": 1
            },
            "meta": {
                "price": "0.1111",
                "signature": "0x75d626fdf62c67cf1de04f077fd7447f1164976f7f60826a63eece886923c11b59f061bd7b6d81fa96cdc3208ff53d4926ad8ba66d06a9101cc81d0e23792aaa1c",
                "premiumAvailable": "3333000000000000000000",
                "principalAvailable": "30000000000000000000000",
                "sequence": 63604
            }
        },
        {
            "order": {
                "key": "0xa8181ff6e0bfa16130944d5add7220eed46f44796de7d4216728dde40376ac5e",
                "maker": "0x096Da21Ac79ae1EDbC69A07CE5c705E6c77Fec90",
                "underlying": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
                "vault": true,
                "exit": false,
                "principal": "107758620689655172413793",
                "premium": "10000000000000000000000",
                "maturity": "1669957199",
                "expiry": "1641371984",
                "protocol": 1
            },
            "meta": {
                "price": "0.0928",
                "signature": "0xa4e8958193cf2cb9c70e4c4a7df9c3c7b68f89fd2f250d80e6bc9dbd9cba8c54415fb2f4d8da33c1d81d5a028233255b52adbf36bee3a2a929fb3ea3e735ff7a1c",
                "premiumAvailable": "10000000000000000000000",
                "principalAvailable": "107758620689655172413793",
                "sequence": 63593
            }
        },
    ...
    ]
}

Get Last Trade Info

GET https://api.swivel.exchange/v2/fills?underlying=u&maturity=m&protocol=p&depth=d

This endpoint allows you to request the agreement most recently initiated in a given market. (The trade last made in a given market) Returns the parameters of the most recent agreement for the specified market.

Query Parameters

Name
Type
Description

underlying*

string

The underlying token being transacted. E.g. USDC, DAI, etc.,

maturity*

string

The maturity of market in unix seconds.

depth*

string

Should always be 1 to return one last trade. If more specified, the result will be a sorted list of last trades.

protocol*

integer

A pointer that refers to a given yield bearing market like Lido or Compound.

The protocol enum values:

enum Protocols {

Erc4626 = 0,

Compound = 1,

Rari = 2,

Yearn = 3,

Aave = 4,

Euler = 5,

Lido = 6

}

[
    {
        "key": "0xae3f59eabffcf1f15f384d5e582985d31a9aef4b181ecf56a0a37bab85013f1f",
        "price": "0.0799",
        "exit": false,
        "vault": false,
        "volume": "1.251564456e+20"
    }
]

Get OHCLV

GET https://api.swivel.exchange/v2/samples?underlying=x&maturity=y&protocol=p&start=z&end=e&interval=f&type=g

This endpoint allows you to request OHLCV points for the given period. Returns OHLCV points with each containing its OHLCV data at the given timestamp.

Query Parameters

Name
Type
Description

interval*

string

The time between datapoints in minutes dividable by 5. E.g. 5, 15, 30, 60, ...

maturity*

string

The maturity of market in unix seconds.

underlying*

string

The underlying token contract being transacted. E.g. USDC, DAI, etc.,

start*

number

Start of of the period in seconds

end*

number

End of the period in seconds

type*

string

Sampling type e.g. OHLCV

protocol*

integer

A pointer that refers to a given yield bearing market like Lido or Compound.

The protocol enum values:

enum Protocols {

Erc4626 = 0,

Compound = 1,

Rari = 2,

Yearn = 3,

Aave = 4,

Euler = 5,

Lido = 6

}

[
    {
        "timestamp": 1638472500,
        "data": {
            "open": "0.0499",
            "high": "0.0499",
            "low": "0.0499",
            "close": "0.0499",
            "volume": "252275019238957087498"
        }
    },
    {
        "timestamp": 1638473400,
        "data": {
            "open": "0.0499",
            "high": "0.05",
            "low": "0.0499",
            "close": "0.05",
            "volume": "170000000000000000000"
        }
    },
...
]

Last updated