NIL contracts

Is there anything that prevents NIL contracts? I would imagine if I’m a big booster signing up a player to be my spokesperson, I’d want him under contract for multiple years. I envision this is where NIL is going, i.e. guaranteed and non-guaranteed money, but I didn’t know if there is a current rule. I’d imagine the school can’t enter a contract with a player, but see no reason an NIL booster couldn’t.