Skip to content
Get started

Get user NEPT unlocks

user.nept.get_unlocks(straddress, NeptGetUnlocksParams**kwargs) -> NeptGetUnlocksResponse
GET/api/v1/users/{address}/nept/unlocks

Get user NEPT unlocks

ParametersExpand Collapse
address: str

The user account address

with_percent: Optional[bool]

Calculate and include proportional percentages, where applicable

with_text: Optional[bool]

Include text variation fields

with_value: Optional[bool]

Calculate and include USD values for amounts, where applicable

ReturnsExpand Collapse
class NeptGetUnlocksResponse:
arrangements: List[Arrangement]

A list of the user's active unlock arrangements

admin: Optional[ArrangementAdmin]

The admin of the unlock, if any

address: str

The address of the unlock arrangement's admin

issued_reclaim: bool

True if the admin his issued a reclaim on the unlock arrangement

Primary unlock amount and other pre-calculated/derived amounts

amount: str

The full unlock amount

This value is immutable and does not change with regards to expiry/reclamation/lock states.

claimable: str

The amount currently claimable

This takes into account: reclamation, lock state, expiry, and previously claimed. In other words, this is an accurate representation of what the user can currently claim.

claimed: str

The amount that has already been successfully claimed by the user.

expired: str

The amount that was claimable but has now expired due to the presence and subsequent passing of expires_at

extra: Extra
percent: Optional[ExtraPercent]

Percentages for unlock amounts. These do not factor in the amount_staked or amount_held values. Will not be null when query param with_percent is true.

claimable: str
claimed: str
expired: str
extra: ExtraPercentExtra
text: Optional[ExtraPercentExtraText]

Human-readable variants of percentages for unlock amounts. Will not be null when query params with_text and with_percent are true.

claimable: str
claimed: str
expired: str
locked: str
reclaimed: str
locked: str
reclaimed: str
text: Optional[ExtraText]

Human-readable field variants. Will not be null when query param with_text is true.

amount: str
claimable: str
claimed: str
expired: str
locked: str
reclaimed: str
value: Optional[ExtraValue]

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

amount: str
claimable: str
claimed: str
expired: str
extra: ExtraValueExtra
text: Optional[ExtraValueExtraText]

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

amount: str
claimable: str
claimed: str
expired: str
locked: str
price: str

Text representation of price

reclaimed: str
locked: str
price: str

Price used in value calculations

reclaimed: str
locked: str

The total amount of NEPT currently awaiting unlock NOTE: any reclaimed unlocks are excluded from the total, regardless of how much the user had claimed prior to reclamation.

reclaimed: str

The amount that has been reclaimed from the unlock arrangement admin

begins_at: datetime

The time at which the unlock begins

formatdate-time
expires_at: Optional[datetime]

The time at which the unlock expires, if any

formatdate-time
extra: ArrangementExtra
text: Optional[ArrangementExtraText]

Human-readable field variants. Will not be null when query param with_text is true.

begins_at: str
expires_at: str
last_claimed_at: str
last_claimed_at: Optional[datetime]

The time at which the unlock was last claimed, if any

formatdate-time

The schedule of the unlock

One of the following:
class UserUnlockScheduleLinear:
duration: int

The duration of the unlock in seconds

formatuint64
minimum0
ends_at: datetime

The time at which the unlock has/was/would've completed. This is identical to begins_at + duration.

This timestamp will remain valid even if the unlock has been reclaimed. Therefore, it should not be used as a validity check.

formatdate-time
extra: Extra
text: Optional[ExtraText]

Human-readable field variants. Will not be null when query param with_text is true.

duration: str
ends_at: str
kind: Literal["linear"]
class UserUnlockScheduleLumpSum:
kind: Literal["lump_sum"]
extra: Extra
text: Optional[ExtraText]

Human-readable field variants. Will not be null when query param with_text is true.

last_claimed_at: str
last_claimed_at: Optional[datetime]

The time at which the most recent unlock claim occurred, if any

formatdate-time

Contains pre-calculated total amounts for all unlock agreements

amount: str

The full unlock amount

This value is immutable and does not change with regards to expiry/reclamation/lock states.

claimable: str

The amount currently claimable

This takes into account: reclamation, lock state, expiry, and previously claimed. In other words, this is an accurate representation of what the user can currently claim.

claimed: str

The amount that has already been successfully claimed by the user.

expired: str

The amount that was claimable but has now expired due to the presence and subsequent passing of expires_at

extra: Extra
percent: Optional[ExtraPercent]

Percentages for unlock amounts. These do not factor in the amount_staked or amount_held values. Will not be null when query param with_percent is true.

claimable: str
claimed: str
expired: str
extra: ExtraPercentExtra
text: Optional[ExtraPercentExtraText]

Human-readable variants of percentages for unlock amounts. Will not be null when query params with_text and with_percent are true.

claimable: str
claimed: str
expired: str
locked: str
reclaimed: str
locked: str
reclaimed: str
text: Optional[ExtraText]

Human-readable field variants. Will not be null when query param with_text is true.

amount: str
claimable: str
claimed: str
expired: str
locked: str
reclaimed: str
value: Optional[ExtraValue]

USD values for the corresponding amounts above. Will not be null when query param with_value is true.

Note

This variant group contains an additional price field (set to the number used in value calculation).

The embedded text group will contain the text variant if with_text was specified as well.

amount: str
claimable: str
claimed: str
expired: str
extra: ExtraValueExtra
text: Optional[ExtraValueExtraText]

Human-readable variants of USD values. Will not be null when query params with_text and with_value are true.

amount: str
claimable: str
claimed: str
expired: str
locked: str
price: str

Text representation of price

reclaimed: str
locked: str
price: str

Price used in value calculations

reclaimed: str
locked: str

The total amount of NEPT currently awaiting unlock NOTE: any reclaimed unlocks are excluded from the total, regardless of how much the user had claimed prior to reclamation.

reclaimed: str

The amount that has been reclaimed from the unlock arrangement admin

error: None

Error data. Guaranteed null for successful response.

status: int

HTTP status. Successful responses are guaranteed to be < 400. Conversely, error responses are guaranteed to be >= 400.

formatuint16
minimum0
maximum65535
status_text: str

HTTP status text

Get user NEPT unlocks

from neptune_api_v2 import NeptuneAPIV2

client = NeptuneAPIV2()
response = client.user.nept.get_unlocks(
    address="injvalcons1a03k0ztfyjnd70apawva003pkh0adqmau0a9q0",
)
print(response.data)
{
  "data": {
    "arrangements": [
      {
        "begins_at": "2026-07-22T08:40:54Z",
        "schedule": {
          "kind": "linear",
          "duration": 1692380,
          "ends_at": "2026-08-10T22:47:14Z",
          "extra": {
            "text": {
              "ends_at": "2026-08-10 10:47:14 PM +00:00",
              "duration": "19 days"
            }
          }
        },
        "last_claimed_at": null,
        "expires_at": "2027-07-20T13:44:39Z",
        "admin": {
          "address": "inj1loremipsumdolorsitametconsecteturadipi",
          "issued_reclaim": false
        },
        "extra": {
          "text": {
            "begins_at": "2026-07-22 08:40:54 AM +00:00",
            "last_claimed_at": "N/A",
            "expires_at": "2027-07-20 01:44:39 PM +00:00"
          }
        },
        "amounts": {
          "amount": "539033513",
          "claimed": "0",
          "claimable": "0",
          "locked": "539033513",
          "expired": "0",
          "reclaimed": "0",
          "extra": {
            "text": {
              "claimable": "0.0000 NEPT",
              "amount": "539.0335 NEPT",
              "reclaimed": "0.0000 NEPT",
              "locked": "539.0335 NEPT",
              "claimed": "0.0000 NEPT",
              "expired": "0.0000 NEPT"
            },
            "percent": {
              "reclaimed": "0",
              "claimable": "0",
              "claimed": "0",
              "expired": "0",
              "locked": "1",
              "extra": {
                "text": {
                  "locked": "100.00%",
                  "reclaimed": "0.00%",
                  "claimable": "0.00%",
                  "expired": "0.00%",
                  "claimed": "0.00%"
                }
              }
            },
            "value": {
              "reclaimed": "0",
              "amount": "17.564815853184007856",
              "claimed": "0",
              "expired": "0",
              "price": "0.032585758453916404",
              "claimable": "0",
              "locked": "17.564815853184007856",
              "extra": {
                "text": {
                  "expired": "$0.00",
                  "claimed": "$0.00",
                  "price": "$0.03",
                  "locked": "$17.56",
                  "reclaimed": "$0.00",
                  "amount": "$17.56",
                  "claimable": "$0.00"
                }
              }
            }
          }
        }
      },
      {
        "begins_at": "2026-05-13T03:54:17Z",
        "schedule": {
          "kind": "linear",
          "duration": 26581850,
          "ends_at": "2027-03-16T19:45:07Z",
          "extra": {
            "text": {
              "ends_at": "2027-03-16 07:45:07 PM +00:00",
              "duration": "307 days"
            }
          }
        },
        "last_claimed_at": null,
        "expires_at": "2028-01-16T01:05:19Z",
        "admin": {
          "address": "inj1loremipsumdolorsitametconsecteturadipi",
          "issued_reclaim": false
        },
        "extra": {
          "text": {
            "begins_at": "2026-05-13 03:54:17 AM +00:00",
            "last_claimed_at": "N/A",
            "expires_at": "2028-01-16 01:05:19 AM +00:00"
          }
        },
        "amounts": {
          "amount": "47623136",
          "claimed": "0",
          "claimable": "0",
          "locked": "47623136",
          "expired": "0",
          "reclaimed": "0",
          "extra": {
            "text": {
              "claimable": "0.0000 NEPT",
              "amount": "47.6231 NEPT",
              "reclaimed": "0.0000 NEPT",
              "locked": "47.6231 NEPT",
              "claimed": "0.0000 NEPT",
              "expired": "0.0000 NEPT"
            },
            "percent": {
              "reclaimed": "0",
              "claimable": "0",
              "claimed": "0",
              "expired": "0",
              "locked": "1",
              "extra": {
                "text": {
                  "locked": "100.00%",
                  "reclaimed": "0.00%",
                  "claimable": "0.00%",
                  "expired": "0.00%",
                  "claimed": "0.00%"
                }
              }
            },
            "value": {
              "reclaimed": "0",
              "amount": "1.55183600651401064",
              "claimed": "0",
              "expired": "0",
              "price": "0.032585758453916404",
              "claimable": "0",
              "locked": "1.55183600651401064",
              "extra": {
                "text": {
                  "expired": "$0.00",
                  "claimed": "$0.00",
                  "price": "$0.03",
                  "locked": "$1.55",
                  "reclaimed": "$0.00",
                  "amount": "$1.55",
                  "claimable": "$0.00"
                }
              }
            }
          }
        }
      }
    ],
    "totals": {
      "amount": "586656649",
      "claimed": "0",
      "claimable": "0",
      "locked": "586656649",
      "expired": "0",
      "reclaimed": "0",
      "extra": {
        "text": {
          "claimable": "0.0000 NEPT",
          "amount": "586.6566 NEPT",
          "reclaimed": "0.0000 NEPT",
          "locked": "586.6566 NEPT",
          "claimed": "0.0000 NEPT",
          "expired": "0.0000 NEPT"
        },
        "percent": {
          "reclaimed": "0",
          "claimable": "0",
          "claimed": "0",
          "expired": "0",
          "locked": "1",
          "extra": {
            "text": {
              "locked": "100.00%",
              "reclaimed": "0.00%",
              "claimable": "0.00%",
              "expired": "0.00%",
              "claimed": "0.00%"
            }
          }
        },
        "value": {
          "reclaimed": "0",
          "amount": "19.116651859698018496",
          "claimed": "0",
          "expired": "0",
          "price": "0.032585758453916404",
          "claimable": "0",
          "locked": "19.116651859698018496",
          "extra": {
            "text": {
              "expired": "$0.00",
              "claimed": "$0.00",
              "price": "$0.03",
              "locked": "$19.11",
              "reclaimed": "$0.00",
              "amount": "$19.11",
              "claimable": "$0.00"
            }
          }
        }
      }
    },
    "last_claimed_at": "2025-03-01T14:29:00Z",
    "extra": {
      "text": {
        "last_claimed_at": "2025-03-01 02:29:00 PM +00:00"
      }
    }
  },
  "error": null,
  "status": 200,
  "status_text": "200 OK"
}
{
  "data": null,
  "error": {
    "kind": "internal",
    "scope": "server",
    "message": "An unexpected error occurred"
  },
  "status": 500,
  "status_text": "500 Internal Server Error"
}
Returns Examples
{
  "data": {
    "arrangements": [
      {
        "begins_at": "2026-07-22T08:40:54Z",
        "schedule": {
          "kind": "linear",
          "duration": 1692380,
          "ends_at": "2026-08-10T22:47:14Z",
          "extra": {
            "text": {
              "ends_at": "2026-08-10 10:47:14 PM +00:00",
              "duration": "19 days"
            }
          }
        },
        "last_claimed_at": null,
        "expires_at": "2027-07-20T13:44:39Z",
        "admin": {
          "address": "inj1loremipsumdolorsitametconsecteturadipi",
          "issued_reclaim": false
        },
        "extra": {
          "text": {
            "begins_at": "2026-07-22 08:40:54 AM +00:00",
            "last_claimed_at": "N/A",
            "expires_at": "2027-07-20 01:44:39 PM +00:00"
          }
        },
        "amounts": {
          "amount": "539033513",
          "claimed": "0",
          "claimable": "0",
          "locked": "539033513",
          "expired": "0",
          "reclaimed": "0",
          "extra": {
            "text": {
              "claimable": "0.0000 NEPT",
              "amount": "539.0335 NEPT",
              "reclaimed": "0.0000 NEPT",
              "locked": "539.0335 NEPT",
              "claimed": "0.0000 NEPT",
              "expired": "0.0000 NEPT"
            },
            "percent": {
              "reclaimed": "0",
              "claimable": "0",
              "claimed": "0",
              "expired": "0",
              "locked": "1",
              "extra": {
                "text": {
                  "locked": "100.00%",
                  "reclaimed": "0.00%",
                  "claimable": "0.00%",
                  "expired": "0.00%",
                  "claimed": "0.00%"
                }
              }
            },
            "value": {
              "reclaimed": "0",
              "amount": "17.564815853184007856",
              "claimed": "0",
              "expired": "0",
              "price": "0.032585758453916404",
              "claimable": "0",
              "locked": "17.564815853184007856",
              "extra": {
                "text": {
                  "expired": "$0.00",
                  "claimed": "$0.00",
                  "price": "$0.03",
                  "locked": "$17.56",
                  "reclaimed": "$0.00",
                  "amount": "$17.56",
                  "claimable": "$0.00"
                }
              }
            }
          }
        }
      },
      {
        "begins_at": "2026-05-13T03:54:17Z",
        "schedule": {
          "kind": "linear",
          "duration": 26581850,
          "ends_at": "2027-03-16T19:45:07Z",
          "extra": {
            "text": {
              "ends_at": "2027-03-16 07:45:07 PM +00:00",
              "duration": "307 days"
            }
          }
        },
        "last_claimed_at": null,
        "expires_at": "2028-01-16T01:05:19Z",
        "admin": {
          "address": "inj1loremipsumdolorsitametconsecteturadipi",
          "issued_reclaim": false
        },
        "extra": {
          "text": {
            "begins_at": "2026-05-13 03:54:17 AM +00:00",
            "last_claimed_at": "N/A",
            "expires_at": "2028-01-16 01:05:19 AM +00:00"
          }
        },
        "amounts": {
          "amount": "47623136",
          "claimed": "0",
          "claimable": "0",
          "locked": "47623136",
          "expired": "0",
          "reclaimed": "0",
          "extra": {
            "text": {
              "claimable": "0.0000 NEPT",
              "amount": "47.6231 NEPT",
              "reclaimed": "0.0000 NEPT",
              "locked": "47.6231 NEPT",
              "claimed": "0.0000 NEPT",
              "expired": "0.0000 NEPT"
            },
            "percent": {
              "reclaimed": "0",
              "claimable": "0",
              "claimed": "0",
              "expired": "0",
              "locked": "1",
              "extra": {
                "text": {
                  "locked": "100.00%",
                  "reclaimed": "0.00%",
                  "claimable": "0.00%",
                  "expired": "0.00%",
                  "claimed": "0.00%"
                }
              }
            },
            "value": {
              "reclaimed": "0",
              "amount": "1.55183600651401064",
              "claimed": "0",
              "expired": "0",
              "price": "0.032585758453916404",
              "claimable": "0",
              "locked": "1.55183600651401064",
              "extra": {
                "text": {
                  "expired": "$0.00",
                  "claimed": "$0.00",
                  "price": "$0.03",
                  "locked": "$1.55",
                  "reclaimed": "$0.00",
                  "amount": "$1.55",
                  "claimable": "$0.00"
                }
              }
            }
          }
        }
      }
    ],
    "totals": {
      "amount": "586656649",
      "claimed": "0",
      "claimable": "0",
      "locked": "586656649",
      "expired": "0",
      "reclaimed": "0",
      "extra": {
        "text": {
          "claimable": "0.0000 NEPT",
          "amount": "586.6566 NEPT",
          "reclaimed": "0.0000 NEPT",
          "locked": "586.6566 NEPT",
          "claimed": "0.0000 NEPT",
          "expired": "0.0000 NEPT"
        },
        "percent": {
          "reclaimed": "0",
          "claimable": "0",
          "claimed": "0",
          "expired": "0",
          "locked": "1",
          "extra": {
            "text": {
              "locked": "100.00%",
              "reclaimed": "0.00%",
              "claimable": "0.00%",
              "expired": "0.00%",
              "claimed": "0.00%"
            }
          }
        },
        "value": {
          "reclaimed": "0",
          "amount": "19.116651859698018496",
          "claimed": "0",
          "expired": "0",
          "price": "0.032585758453916404",
          "claimable": "0",
          "locked": "19.116651859698018496",
          "extra": {
            "text": {
              "expired": "$0.00",
              "claimed": "$0.00",
              "price": "$0.03",
              "locked": "$19.11",
              "reclaimed": "$0.00",
              "amount": "$19.11",
              "claimable": "$0.00"
            }
          }
        }
      }
    },
    "last_claimed_at": "2025-03-01T14:29:00Z",
    "extra": {
      "text": {
        "last_claimed_at": "2025-03-01 02:29:00 PM +00:00"
      }
    }
  },
  "error": null,
  "status": 200,
  "status_text": "200 OK"
}
{
  "data": null,
  "error": {
    "kind": "internal",
    "scope": "server",
    "message": "An unexpected error occurred"
  },
  "status": 500,
  "status_text": "500 Internal Server Error"
}