Parabol Notes
You can fetch Parabol’s on-chain treasury bill information using the fetchParabolData public method from the ParabolServer instance.
import { ParabolServer } from "@parabolfi/server";
const parabolServer = new ParabolServer({
apiKey: process.env.PARABOL_API_KEY,
});
const data = await parabolServer.fetchParabolData();Optional Parameters
The fetchParabolData method accepts two optional parameters:
chain: Specifies the blockchain network to fetch data from.maturity: An array of maturity periods to filter the fetched data.
await parabolServer.fetchParabolData({
chain: SupportedChainIds.ZKSYNC as ChainId,
maturity: [7],
});It is converted to the following URL:
https://api.parabol.fi/notes?chainid=324&maturity=7
You can specify more than one maturity period:
await parabolServer.fetchParabolData({
chain: SupportedChainIds.ZKSYNC,
maturity: [7, 14],
});It is converted to the following URL:
https://api.parabol.fi/notes?chainid=324&maturity=7,14
If chain parameter is not provided, the API will return data for all
supported chains. So, you have to filter the chain by yourself.
ChainId type is imported from @parabol/core SDK. See Parabol Core
SDK page.
Response
The response is a JSON object with the following properties:
{
data: [
{
maturity_timestamp: '1732856400',
coupon: '369',
note_started_at: '1732424399',
signature_valid_after: '1732489199',
signature_valid_before: '1732510799',
signature: [Object],
chainid: 324
},
{
maturity_timestamp: '1735016400',
coupon: '352',
note_started_at: '1732424399',
signature_valid_after: '1732489199',
signature_valid_before: '1732510799',
signature: [Object],
chainid: 324
},
{
maturity_timestamp: '1737608400',
coupon: '346',
note_started_at: '1732424399',
signature_valid_after: '1732489199',
signature_valid_before: '1732510799',
signature: [Object],
chainid: 324
},
{
maturity_timestamp: '1742443200',
coupon: '340',
note_started_at: '1732424399',
signature_valid_after: '1732489199',
signature_valid_before: '1732510799',
signature: [Object],
chainid: 324
},
{
maturity_timestamp: '1761796800',
coupon: '323',
note_started_at: '1732424399',
signature_valid_after: '1732489199',
signature_valid_before: '1732510799',
signature: [Object],
chainid: 324
}
],
availableMaturities: [ 5, 30, 60, 115, 339 ],
marketRate: '16.34',
floatingRate: '12.65'
}In this example, the data array contains the treasury bill information for the specified maturity periods. The availableMaturities array lists the available maturity periods for the specified chain. The marketRate and floatingRate are the market rates of the Parabol protocol.
The availableMaturities can vary from day to day, but Parabol will offer at
least 5-6 different loans, with a minimum of 3 days and a maximum of 365 days.
Example
If you’re only interested in the 5-day loans, you can fetch the data as follows:
await parabolServer.fetchParabolData({
maturity: [5],
});Response of 5-day loans
{
data: [
{
maturity_timestamp: '1732856400',
coupon: '369',
note_started_at: '1732424399',
signature_valid_after: '1732489199',
signature_valid_before: '1732510799',
signature: [Object],
chainid: 324
}
],
availableMaturities: [ 5, 30, 60, 115, 339 ],
marketRate: '16.34',
floatingRate: '12.65'
}