As of now, SmartPiggies only allows certain resolvers and underlyings. The SmartPiggies oracles need to enforce the execution price after expiration. For example, most price oracles return the spot price at the time of the call. With SmartPiggies, a piggy needs to execute a payout calculation based on the price it receives from an oracle. If a piggy matures on a particular data, say January 1st, 2021, and either counterparty doesn't call the oracle for settlement until February 1st, 2021, the execution price cannot be from February 1st, it must be from January 1st. Because of this requirement, creating oracles is challenging. The current oracle providers will retrieve and return a "live" price, which works for American style options, or if the oracle returns the price at the time of maturity for both American and European. However, because the blockchain is a push oriented technology, any automatic execution needs to be handled off-chain.