Sign and Broadcast Transaction
To complete a staking or withdrawal operation on Ethereum, sign the unsigned transaction provided by the Staking API and broadcast it to the network.
1. Prepare the transaction
Retrieve an unsigned serialized transaction from the relevant API endpoint, e.g., staking/direct/tx/deposit or staking/direct/tx/withdrawal.
2. Sign the transaction
Use the P2P Signer SDK to sign the unsigned data following protocol specific configuration.
3. Send the transaction
Broadcast the signed transaction to the Cosmos network by making a POST request to /api/v1/eth/transactions.
curl --request POST \
--url 'https://api-test.p2p.org/api/v1/eth/transactions' \
--header 'accept: application/json' \
--header 'authorization: Bearer <token>' \
--header 'content-type: application/json' \
--data '{
"network": "hoodi",
"signedTransaction": "0x02f9015483088bb081c7840198894a84754231e2830186a094917105cc314c12890d9c8224aee5af9574f871cf80b8e466792ba1000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000867b22616374696f6e223a227769746864726177222c227075626b657973223a5b223078613635633030373135663565303032636439366465326264376539626631613433333130653739376230303235306262303063393833363231316135366631333235646663393535633664326338636166313333303862343739643266333839225d7d0000000000000000000000000000000000000000000000000000c080a0260d1310fecca35e62ef3c01b47fabf7af78aad0a841b38f6850fa5d2102245fa009d0e72ab14e6dfc78740c752eeee7fb8aa0676e12f3059f30149ff762a0a040"
}'network— environment in which the transaction is processed.signedTransaction— signed transaction which needs to be broadcast to the network.
Example response:
{
"error": null,
"result": {
"broadcastedAt": "2026-02-05T07:12:35.851Z",
"from": "0xeE6FFB3fEf95AdA9b4FA606C2Ef90A31D37b6AdB",
"gas": {},
"status": "pending",
"to": "0x917105CC314C12890D9C8224Aee5aF9574F871cf",
"transactionHash": "0xf94d480405cf5e45a5c4361321643084ef6b7db834938018f9ef99d0d9541b4d"
}
}broadcastedAt— time of transaction being broadcasted.from— sender address for this transaction.gas— gas consumed to broadcast transaction.status— transaction status:pending,success.to— recipient address for this transaction.transactionHash— hash of the transaction.
What's next?
- Getting Started
- Withdrawal
- Staking API reference
Updated 16 days ago