Activity
Activity Schema
ID
- Type: string
- Required: true
- Description: Activity UUID or transaction hash.
Network
- Type: string
- Enum: mainnet, testnet, devnet
- Required: true
200
A single activity.
Delegation, Undelegation, Withdrawal
- Description: Stake account delegated to a validator.
ID
- Type: uuid
- Description: Activity UUID.
Status
- Type: string
- Enum: pending, complete, failed
- Description: Activity-life status (warmup/cooldown), not the on-chain status.
Network
- Type: string
- Enum: mainnet, testnet, devnet
Protocol
- Type: string
Amount
- Type: number
- Description: Amount in the asset major unit.
Currency
- Type: string
Timestamp
- Type: string
Estimated Completed At
- Type: string | null
- Description: Estimated activity completion time, when known.
Delegation Address
- Type: string | null
- Description: The wallet that originated the activity — for Solana, the stake authority (not the stake account).
Transaction (tx)
- Type: object
- Description: On-chain transaction axis. Distinct from the activity-life status.
Hash
- Type: string | null
- Description: Transaction hash, when one exists.
Status
- Type: string | null
- Enum: in_progress, confirmed, failed, expired, null
- Description: On-chain/transaction status, resolved via tx-tracking for SOL.
Details
- Type: object | null
- Description: Type-specific details. Null for activity types that have none.
Example Activity
{
"id": "9f7c5b8a-4e0d-4a2b-3c7e-8d1f4a6b9c0d",
"type": "delegation",
"status": "pending",
"network": "mainnet",
"protocol": "solana",
"amount": 10,
"currency": "SOL",
"timestamp": "2024-03-12T08:02:17Z",
"estimated_completed_at": null,
"delegation_address": "StakeAuth1111111111111111111111111111111111",
"tx": {
"hash": "solTxAbcDef123456789",
"status": "confirmed"
},
"details": null
}
API Request Example
curl --request GET \
--url 'https://api.figment.io/solana/activities/id?network=mainnet' \
--header 'accept: application/json' \
--header 'x-api-key: your-api-key-here'