We present a novel solution to the problem of best matching prefix (BMP) which is required in the IP routing lookup. Our approach is based on the trie-based algorithm. The idea is to prune the trie so that the main-searchable portion of the trie can be fitted into the small on-chip SRAM. The algorithm consists of two parts: level smart-compression trie and trie pruning. In the first part, we present the new trie-based algorithm which can provide flexibility, storage efficiency and incremental update. Moreover, the fixed-size data structure eliminates the complexity of the memory management. Secondly, we define the "core" and present how to apply the concept "trie pruning" to achieve fast IP routing lookup. With the currently popular platform, the proposed scheme can provide 40 MPPS without any assumption. While considering route flaps, the performance degrades by only 0.01% with 4000 BGP updates per 30 seconds.