Should the node be completely synced before it's able to be utilized by the Rosetta API?

The blockchain node instance we’re repurposing for Rosetta is accessible before it syncs to head. For example, if the known head is at block 1000 but the local head is only at 900, you are still able to use the exposed API as if you were at block 900.

Would be good to know what kind of best practices there are. Should rosetta be restricted from accessing the node until it’s fully synced, or should we allow access but with a note in the metadata response, or perhaps only allow the Data API to have access but not the Construction API?

Would love to hear thoughts!

Certainly those endpoints supported offline mode can respond before the node is sync. For the endpoints that require online mode, I think it’s fine to start responding as if you were at block 900, if your block chain can support that.

With the data api, you’ll also have to be careful particularly with the account api to make sure the block identifier are provided, or if the account is not known at that point to specify that in the response.