Verify Ethiopian identities with one API.
Emnet connects your product to Fayda, Ethiopia’s national ID, through a single REST API. Your users verify themselves in seconds. You receive verified claims, an assurance level and provenance — and never have to touch a national identifier.
Test keys are free and unlimited · Live in production · Java SDK and REST
// 1 — start a verification, redirect your user to the returned URL
AuthorizeUrlResponse start = emnet.startPersonVerification();
// 2 — they authenticate with Fayda, then land back on your callback
VerifiedIdentity identity = emnet.completePersonVerification(code, state);
identity.claims().get("name"); // "Yigermal Fantaye"
identity.claims().get("birthdate"); // "1996-04-11"
identity.assuranceLevel(); // "L2"
identity.identityKey(); // stable, per-tenant, non-reversibleOne partnership, so you don’t need your own.
Integrating with a national identity system is not an afternoon’s work. It means a partner agreement, a relying-party registration, key custody, OIDC and JOSE correctness, and an obligation to protect the most sensitive identifier a person has. Every company that needs verification would otherwise repeat all of it.
Raye Technology Plc holds that relationship once. You integrate an API.
No partner onboarding
Skip the registration, the certificates and the protocol work. Request an early-access key and make your first verification the day it arrives.
No national ID to protect
Emnet returns verified claims and a pseudonymous identity key. The Fayda number itself never reaches your systems, so it can never leak from them.
No protocol to maintain
Discovery, PKCE, signed client assertions, encrypted user info, key rotation — all handled and kept current on our side, behind a stable versioned API.
Three steps, about fifteen minutes.
Start a session
Call the API with your secret key. You get back an authorization URL and a
statevalue to hold onto.Your user authenticates
Redirect them to that URL. They authenticate directly with Fayda and consent to the claims you asked for — their credentials never pass through you or us.
Receive verified claims
Fayda returns them to your callback with a code. Exchange it and you have a
VerifiedIdentity: claims, assurance level, liveness evidence and provenance.
Designed so a breach on your side isn’t a breach of national identity.
Emnet is a security product before it is a convenience one. These are design decisions, not configuration options.
Claims, not decisions
We return what was verified — name, birth date, assurance level, provenance. We never return or store a KYC tier, an approval, or an account limit. Your compliance rules stay yours, in your own systems, where regulators expect them.
A pseudonym instead of a national ID
Each verified person gets an identityKey that is stable for you, so you can recognise a returning user or catch a duplicate — and unlinkable across our other customers, so no one can correlate people between services.
Test and live cannot touch
A test key cannot reach production identity infrastructure. The environment is resolved from the key on our servers — never from a parameter a caller can set.
Encrypted, minimised, never logged
Personal data is encrypted at rest with AES-256-GCM. API keys are stored hashed. Keys, personal data and released claims are never written to a log line, on any surface.
An API you can hold in your head.
Three endpoints. Two SDK calls for the common path. Predictable errors, documented rate limits, and a hand-written OpenAPI contract that matches what the server actually does.
curl "$EMNET_BASE_URL/v1/verification/person/fayda/authorize-url" \
-H "Authorization: Bearer sk_test_…"
# {"authorizeUrl":"https://…/authorize?client_id=…&state=a7f3d21c9b0e","state":"a7f3…"}Emnet Business — Sened
Business and owner verification (KYB), built on Identity. In development.
See what’s coming →Start verifying today.
Request an early-access key and run your first verification the day it arrives. Move to live when you’re ready.