Skip to main content

Endpoints

API Usage

Once you have access to the Staking API with a validated user and existing API keys, you can start using this service.

Try it live

tip

Every endpoint on this page can be executed from the interactive Swagger console, using your own X-API-KEY.

The machine-readable OpenAPI schema is available at:

Authentication

In order to use the Staking API endpoints you need to include your API KEY.

tip

Heads up! To obtain a valid API key required for authentication, please refer to the Authentication > Create API keys section of the documentation.

Header:

NameDescriptionExample valueRequired
X-API-KEYYour api key value<API_KEY_VALUE>
X-NETWORKBlockchain network identifier143

X-NETWORK header

Use the X-NETWORK header to select the Monad network (currently 143 for Monad Mainnet).

info

If you omit the header the API falls back to the default Monad network configured for your account.

List available networks

Use this helper endpoint to obtain the list of Monad Magma networks that are currently enabled for your API key.

  • Endpoint: /api/v1/monad/magma/networks

Response payload fields:

FieldTypeRequiredDescription
namestringInternal blockchain entry name
typestringBlockchain type string (always ETHEREUM)
chain_idstringChain identifier (currently 143)
is_defaultbooleantrue when this network is used as fallback

Example

curl "https://staking-api.stakely.io/api/v1/monad/magma/networks" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143"

Response:

[
{
"name": "monad",
"type": "ETHEREUM",
"chain_id": "143",
"is_default": true
}
]

Delegate action

Craft a Magma delegate transaction:

  • Endpoint: /api/v1/monad/magma/action/delegate

Description

This endpoint crafts a Magma delegate transaction ready to be signed.

Request body parameters

FieldTypeRequiredDescription
addressstringAddress that will perform the stake action
amountnumberAmount to delegate in MON (ether units)
  • address: wallet address that performs the action
  • amount: MON amount to delegate (minimum 100 MON)

Returned

FieldTypeRequiredDescription
serialized_tx_hexstringSerialized transaction hex string ready to be signed
unsigned_tx_hash_hexstringUnsigned tx hash hex string used for offline signing integrations
payloadobjectTransaction payload object

Example

curl -X POST "https://staking-api.stakely.io/api/v1/monad/magma/action/delegate" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143" \
-H "Content-Type: application/json" \
-d '{
"address": "0xb794f5ea0ba39494ce839613fffba74279579268",
"amount": 100
}'

Response:

{
"serialized_tx_hex": "03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af",
"unsigned_tx_hash_hex": "1a6edb7358323bafca52b1755f3ad985754dc23887110b65429373ed83321500",
"payload": {
"type": "0x0",
"nonce": "0x5fe08",
"gasLimit": "0x30d40",
"to": "0x169856275ddca01b2fcdc63c4f1b0adf72a4cf10",
"value": "0x16345785d8a0000",
"data": "0x18f72950...",
"gasPrice": "0x2887734d"
}
}

Undelegate action

Craft a Magma undelegate transaction:

  • Endpoint: /api/v1/monad/magma/action/undelegate

Description

This endpoint crafts a Magma undelegate transaction ready to be signed.

Request body parameters

FieldTypeRequiredDescription
addressstringAddress that will perform the undelegation request
amountnumberAmount to undelegate in MON (ether units)
  • address: wallet address that performs the action
  • amount: MON amount to undelegate

Returned

FieldTypeRequiredDescription
serialized_tx_hexstringSerialized transaction hex string ready to be signed
unsigned_tx_hash_hexstringUnsigned tx hash hex string used for offline signing integrations
payloadobjectTransaction payload object

Example

curl -X POST "https://staking-api.stakely.io/api/v1/monad/magma/action/undelegate" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143" \
-H "Content-Type: application/json" \
-d '{
"address": "0xb794f5ea0ba39494ce839613fffba74279579268",
"amount": 1.5
}'

Response:

{
"serialized_tx_hex": "03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af",
"unsigned_tx_hash_hex": "1a6edb7358323bafca52b1755f3ad985754dc23887110b65429373ed83321500",
"payload": {
"type": "0x0",
"nonce": "0x5fe08",
"gasLimit": "0x30d40",
"to": "0x169856275ddca01b2fcdc63c4f1b0adf72a4cf10",
"value": "0x16345785d8a0000",
"data": "0x18f72950...",
"gasPrice": "0x2887734d"
}
}

Withdraw action

Craft a Magma withdraw transaction:

  • Endpoint: /api/v1/monad/magma/action/withdraw

Description

This endpoint crafts a Magma withdraw transaction for a specific withdrawal request.

Request body parameters

FieldTypeRequiredDescription
addressstringAddress that will perform the withdrawal
request_idnumberOwner request id that should be withdrawn
  • address: wallet address that performs the action
  • request_id: owner request ID to withdraw

Returned

FieldTypeRequiredDescription
serialized_tx_hexstringSerialized transaction hex string ready to be signed
unsigned_tx_hash_hexstringUnsigned tx hash hex string used for offline signing integrations
payloadobjectTransaction payload object

Example

curl -X POST "https://staking-api.stakely.io/api/v1/monad/magma/action/withdraw" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143" \
-H "Content-Type: application/json" \
-d '{
"address": "0xb794f5ea0ba39494ce839613fffba74279579268",
"request_id": 1
}'

Response:

{
"serialized_tx_hex": "03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af",
"unsigned_tx_hash_hex": "1a6edb7358323bafca52b1755f3ad985754dc23887110b65429373ed83321500",
"payload": {
"type": "0x0",
"nonce": "0x5fe08",
"gasLimit": "0x30d40",
"to": "0x169856275ddca01b2fcdc63c4f1b0adf72a4cf10",
"value": "0x16345785d8a0000",
"data": "0x18f72950...",
"gasPrice": "0x2887734d"
}
}

Prepare action

Gathers signature and unsigned tx:

  • Endpoint: /api/v1/monad/magma/action/prepare

Description

Prepare a signed transaction by gathering the provided signatures (r, s, v) with the unsigned transaction hex string.

Request body parameters

FieldTypeRequiredDescription
serialized_tx_hexstringUnsigned serialized transaction hex string ready to be signed
rstringr part of the ECDSA signature in hex
sstrings part of the ECDSA signature in hex
vnumberv part of the ECDSA signature

Returned

FieldTypeRequiredDescription
signed_tx_hexstringSigned transaction hex string ready to be broadcasted

Example

curl -X POST "https://staking-api.stakely.io/api/v1/monad/magma/action/prepare" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143" \
-H "Content-Type: application/json" \
-d '{
"serialized_tx_hex": "03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af",
"r": "6da2b6fe309b629720bc3d1d3a8befb3f461e3b53ccee85c55d10b11d3a3d263",
"s": "085fe4bb8ff0c04e4e41a2ba44609f894b9a70f4330de726d1403ee21b65e685",
"v": 34035
}'

Response:

{
"signed_tx_hex": "0xf9014b1f8455bd900c83030d4094169856275d...ad908c2b5b15"
}

Broadcast action

Broadcast a signed transaction:

  • Endpoint: /api/v1/monad/magma/action/broadcast

Description

Broadcast a signed Magma transaction.

Request body parameters

FieldTypeRequiredDescription
signed_tx_hexstringSigned transaction hex string ready to be broadcasted

Returned

FieldTypeRequiredDescription
tx_hashstringTransaction hash of the broadcasted transaction

Example

curl -X POST "https://staking-api.stakely.io/api/v1/monad/magma/action/broadcast" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143" \
-H "Content-Type: application/json" \
-d '{
"signed_tx_hex": "0xf9014b1f8455bd900c83030d4094169856275d...ad908c2b5b15"
}'

Response:

{
"tx_hash": "0x23273dacef9d64fdb2c790e9f9f4c13574125078a272059dac2473bc8bfba163"
}

Balance

Get Magma staking balance for the given address:

  • Endpoint: /api/v1/monad/magma/balance/{address}

Description

Get current Magma balance values for a delegator address.

Request parameters

ParameterInTypeRequiredDescription
addresspathstringMagma delegator address to query

Returned

FieldTypeRequiredDescription
stakednumberCurrently staked MON (converted from wei to MON)
unstakednumberPending unstaked MON (converted from wei to MON)
withdrawablenumberCurrently withdrawable redeem request shares

Example

curl "https://staking-api.stakely.io/api/v1/monad/magma/balance/0xb794f5ea0ba39494ce839613fffba74279579268" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143"

Response:

{
"staked": 123.456,
"unstaked": 12.5,
"withdrawable": 1000000000000000000
}

Withdrawal info

Get Magma withdrawal requests for the given address:

  • Endpoint: /api/v1/monad/magma/withdrawal/{address}

Description

Get current pending withdrawal information for a Magma address.

Request parameters

ParameterInTypeRequiredDescription
addresspathstringAddress to query pending withdrawal requests for

Returned

Array of MagmaWithdrawalResponseDto items:

FieldTypeRequiredDescription
request_idnumberCurrent owner request id
assetsnumberRequested assets in MON (converted from wei to MON)
withdrawable_timenumberClaimable timestamp plus 6 hours (unix seconds)

Example

curl "https://staking-api.stakely.io/api/v1/monad/magma/withdrawal/0xb794f5ea0ba39494ce839613fffba74279579268" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: 143"

Response:

[
{
"request_id": 1,
"assets": 10.25,
"withdrawable_time": 1720000000
}
]