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/v4/markets?status=s&depth=d

This endpoint allows you to request a list of markets.

Query Parameters

NameTypeDescription

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/v4/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

NameTypeDescription

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/v4/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

NameTypeDescription

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/v4/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

NameTypeDescription

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/v4/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

NameTypeDescription

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/v4/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

NameTypeDescription

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/v4/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

NameTypeDescription

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