Oleksiy Danilov said an assault could begin "tomorrow, the day after tomorrow or in a week".
Ukraine is ready to launch its long-expected counter-offensive against Russian forces, one of the country's most senior security officials has told the BBC.
Oleksiy Danilov would not name a date but said an assault to retake territory from President Vladimir Putin's occupying forces could begin "tomorrow, the day after tomorrow or in a week".
He warned that Ukraine's government had "no right to make a mistake" on the decision because this was an "historic opportunity" that "we cannot lose".
As secretary of the National Security and Defence Council of Ukraine, Mr Danilov is at the heart of President Volodymyr Zelensky's de facto war cabinet.
His rare interview with the BBC was interrupted by a phone message from President Zelensky summoning him to a meeting to discuss the counter-offensive.
During the interview, he also confirmed that some Wagner mercenary forces were withdrawing from the city of Bakhmut, the site of the bloodiest battle of the war so far - but he added they were "regrouping to another three locations" and "it doesn't mean that they will stop fighting with us".
Danilov also said he was "absolutely calm" about Russia beginning to deploy nuclear weapons to Belarus, saying: "To us, it's not some kind of news."
Ukraine has been planning a counter-offensive for months. But it has wanted as much time as possible to train troops and to receive military equipment from Western allies.
In the meantime, Russian forces have been preparing their defences.
Much is at stake because the government in Kyiv needs to show the people of Ukraine - and Western allies - that it can break through Russian lines, end the effective military deadlock and recapture some of its sovereign territory.
UK sending long-range missiles to Ukraine
Danilov said the armed forces would begin the assault when commanders calculated "we can have the best result at that point of the war".
Asked if Ukrainian armed forces were ready for the offensive, he replied: "We are always ready. The same as we were ready to defend our country at any time. And it is not a question of time.
"We have to understand that that historic opportunity that is given to us - by God - to our country we cannot lose, so we can truly become an independent, big European country."
He added: "It could happen tomorrow, the day after tomorrow or in a week.
"It would be weird if I were to name dates of the start of that or those events. That cannot be done…. We have a very responsible task before our country. And we understand that we have no right to make a mistake."
Danilov dismissed suggestions the counter-offensive had already begun, saying that "demolishing Russian control centres and Russian military equipment" had been the task of Ukrainian armed forces since 24 February last year - the date Russia launched the invasion.
"We have no days off during this war," he said.
He defended the decision by Ukraine's army to fight in Bakhmut for so many months, a battle that has cost the lives of many of its soldiers.
Bakhmut not occupied by Russia, says defiant Zelensky
"Bakhmut is our land, our territory, and we must defend it," he said. "If we start leaving every settlement, that could get us to our western border as Putin wanted from the first days of the war."
He said that "we control only a small part of the city, and we admit to that. But you have to keep in mind that Bakhmut has played a big role in this war."
Asked if Wagner mercenaries were leaving, he replied: "Yes, that is happening. But it doesn't mean that they will stop fighting with us. They are going to concentrate more on other fronts… they are regrouping to other three locations."