Execute API
Get an address’s status
Get where an executable address’s money is now.
GET
https://api.execute.cash/v1 /address/{address}/statusPublicPath
addressaddress- The executable address.
Example
0x3a9012C8bbDA720CE9C94458f8753965dFB6455a
Response
One of seven states. Each carries its own fields and no others, alongside address, state and updatedAt:
{
"address": "0x3a9012C8bbDA720CE9C94458f8753965dFB6455a",
"state": "settled",
"transactionHash": "0x5e0c…",
"blockNumber": 36120455,
"updatedAt": "2026-09-29T07:12:31Z"
}A failing address says why, in words and decoded:
{
"address": "0x3a9012C8bbDA720CE9C94458f8753965dFB6455a",
"state": "failing",
"balance": "1000000000",
"message": "settlement call 1 (to 0xbeef0e0834849acc03f0089f01f4f1eeb06873c9) reverted: EnforcedPause()",
"revert": {
"kind": "decoded",
"data": "0x5c0dee5d…",
"selector": "0x5c0dee5d",
"name": "CallFailed",
"signature": "CallFailed(uint256,bytes)",
"args": {
"index": "1"
},
"call": {
"index": 1,
"target": "0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9"
},
"reason": {
"kind": "decoded",
"data": "0xd93c0665",
"selector": "0xd93c0665",
"name": "EnforcedPause",
"signature": "EnforcedPause()",
"args": {}
}
},
"updatedAt": "2026-09-29T07:12:31Z"
}| State | What it means | Its fields |
|---|---|---|
awaiting_funds | Waiting for the amount. balance is what has arrived so far. | balance |
funded | It holds the amount, and Execute is executing it. | balance |
failing | Funded, but a call reverts, e.g. a vault at capacity. Execute retries until expiry, then refunds. | balance, message, revert |
settled | Every call ran. | transactionHash, blockNumber |
refunding | Past expiry with a balance, which is on its way to recovery. | balance |
refunded | The balance went to recovery. | transactionHash, blockNumber, amount |
expired | Expired with nothing to return. | balance |
Fields
addressaddress- The executable address.
statestring- One of the seven states above.
balancestring · base units- What the address holds of its token.
messagestring- Why the calls revert, in words.
revertobject- The revert, decoded as far as possible: its
kind(decoded,emptyorunrecognised), the rawdataandselector, and when known the error’sname,signatureandargs. When a call failed,callsays which, andreasonis that call’s own revert, in the same shape. transactionHashstring- The transaction that executed or refunded the address.
blockNumberinteger- The block it was in.
amountstring · base units- What was refunded to recovery.
updatedAtstring · RFC 3339- When the state last changed.
Lifecycle
An address starts awaiting_funds. Paid in full, it goes to funded and then settled, usually within seconds. If a call reverts it goes to failing and is retried; at expiry, an address with a balance goes to refunding and then refunded, and one without goes to expired. Payments that arrive in the day after expiry are refunded too.
Errors
404 not_found when Execute has no intent for the address, and 400 invalid_request when the path isn’t an address.