I think this is your answer:
https://mattstauffer.com/blog/multiple-authentication-guard-drivers-including-api-in-laravel-5-2/
e.g.
'api-user' => [
'driver' => 'token',
'provider' => 'users',
],
then protected your user api with the associated middleware: ->middleware('auth:api-user')
just like the api.php routes:
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
I dont think you need to create your custom auth service provider as you are reusing the token guard.
I do wonder if you need another route defined to use the new guard. as in:
Route::get('money', 'SomeController@index')->middleware('auth'); //web users
Route::get('user-api-money', 'SomeController@index')->middleware('auth:api-user') //api users
??